Copyright © 2003-2008 Matthias Christian Schabel
Copyright © 2007-2010 Steven Watanabe
根据 Boost 软件许可证版本 1.0 发布。(参见随附文件 LICENSE_1_0.txt 或在 https://boost.ac.cn/LICENSE_1_0.txt 复制)
Boost.Units 库是一种通用且可扩展的 C++ 维度分析实现,它将维度分析视为一个通用的编译时元编程问题。通过适当的编译器优化,不会引入运行时执行成本,这有助于在性能关键型代码中使用此库来提供维度检查。它支持任意单位系统模型和任意值类型的单位和数量(定义为单位和相关值),并提供了一个精细的通用单位转换机制。提供了完整的 SI 和 CGS 单位系统,以及以度、弧度、百分度、转为单位的角度系统,以及以开尔文、摄氏度和华氏度为单位的温度系统。库架构的设计考虑了灵活性和可扩展性;示例中提供了易于添加新单位和单位转换的演示。
为了实现复杂的编译时维度分析计算且无运行时开销,Boost.Units 大量依赖于 Boost 元编程库 (MPL) 和模板元编程技术,因此,它对编译器遵循 ISO 标准的要求相当高。目前,它已在以下编译器/平台上成功编译和测试:
以下编译器/平台已知 不 工作: