Boost C++ 库
...这是世界上最受推崇、设计最精良的 C++ 库项目之一。
— Herb Sutter 和 Andrei Alexandrescu, C++ Coding Standards
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 Metaprogramming Library (MPL) 和模板元编程技术,因此对编译器对 ISO 标准的合规性要求很高。目前,它已在以下编译器/平台上成功编译和测试:
以下编译器/平台已知 不 工作: