夏天快到了,一群 friend 和我已经准备好了:)
我们决定构建一个编译时任意精度的无符号整数。我们想为该库提供一组整数算法(函数)。我们已经看到了许多有关此类库的请求(SoC2010,C++0x Standard Library wishlist)。另外,通常会要求使用常规的运行时bigint
,但是我们不想陷入内存管理的麻烦。这个想法来自一个名为TTMath的库,但是不幸的是,该库仅在特定平台上有效,因为Assembly在该库中得到了广泛使用。我们想编写一个标准库,具体取决于C++标准库和Boost。另外,我们想在当前编译器中使用可用的C++ 0x工具,例如用户定义的文字和其他。从技术上讲,这会在一段时间内使该库成为非标准库,但是我们认为,新标准将成为正式标准是一个时间问题。
您对整个过程的提示,包括设计,实现,文档,库的可维护性,不只是欢迎。我们是一群学生和应届毕业生,他们在夏天寻找有趣的东西,但是我们看到Boost充满了专家,我们不想忘记一些太明显的东西。我们正在在线交流,因此没有共享的白板:(
这是使用此类库的示例:
typedef our_namespace::uint<512> uint512_t;
// declaring an unsigned int with 512 bits width.
// After that the user is supposed to deal with it just like the native types.
谢谢,
最佳答案
另外两个提示:
a)在Boost的上下文中,规划纯C++ 0x库似乎不是一个好主意。 Boost的目标之一是提供跨平台/跨编译器的库。通常,对使用C++ 0x功能感兴趣的Boost开发人员可以这样做,作为使用C++ 0x编译器时的替代选择。为此,Boost预定义了一整套预处理器宏,每个C++ 0x功能都具有一个宏。
b)请考虑将您的想法写到Boost devel列表中,概述计划中的库的功能集。顺便说一句,您可能会在那问同样的问题。我敢肯定,如果您这样做的话,您会得到很多有用的答案和建议。
关于c++ - 向库提交库的提示?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3057153/