版权所有 © 2010-2012 Marshall Clow
根据 Boost 软件许可协议 1.0 版分发。(请参阅随附文件 LICENSE_1_0.txt 或在 https://boost.ac.cn/LICENSE_1_0.txt 复制副本)
目录
Boost.Algorithm 是通用算法的集合。虽然 Boost 包含许多数据结构库,但没有用于通用算法的单一库。即使这些算法通常很有用,但许多算法往往被认为是对于 Boost 来说“太小”了。
例如,Boyer-Moore 搜索的实现可能需要开发人员大约一周的时间来实现,包括测试用例和文档。然而,安排审查以将该代码包含到 Boost 中可能需要几个月的时间,并且会遇到阻力,因为“它太小了”。尽管如此,一个经过测试、审查、记录在案的算法库可以使开发人员的生活更加轻松,而这正是该库的目的。
我将征求其他开发人员的提交,并查阅文献以寻找要包含的现有算法。例如,Adobe Source Library 包含许多有用的算法,这些算法已经有文档和测试用例。Knuth 的 计算机程序设计艺术 也充满了算法描述。
我的目标是运行定期的算法审查,类似于 Boost 库审查过程,但代码块更小。
Boost.Algorithm 使用 Boost.Range、Boost.Assert、Boost.Array、Boost.TypeTraits 和 Boost.StaticAssert。
感谢所有审查过此库并提出改进建议的人。特别感谢 Steven Watanabe 和 Sean Parent 提供了大量帮助。