one of the most highly regarded and expertly designed C++ library projects in the world。
— Herb Sutter and Andrei Alexandrescu, C++ Coding Standards
版权所有 © 2011-2013 Tropic Software East Inc
根据 Boost 软件许可证版本 1.0 发布。(参见随附文件 LICENSE_1_0.txt 或在 https://boost.ac.cn/LICENSE_1_0.txt 复制)
目录
欢迎来到 Boost 类型特征内省库,简称 TTI。
TTI 是一个能够在编译时通过名称内省类型元素的库。
TTI 通过宏生成元函数。元函数是具有特定语法的类模板,包含一个嵌套的 'type' 成员。因此,在 C++ 中类模板可以出现的地方,就可以使用 TTI 宏。TTI 生成的元函数与 Boost MPL 库定义的任何其他元函数没有区别。
TTI 生成的元函数用于在编译时内省类型的元素,每个元函数至少接收正在内省的包含类型。
库的名称选择是因为该库提供了对类型的编译时功能,类似于 Boost Type Traits 库,并且因为该库提供的功能是能够内省类型中是否存在特定元素的能力。
我在这里非常宽泛地使用“内省”一词。通常计算机语言内省意味着首先请求按名称返回信息,然后可以进一步使用这些信息来内省更具体的信息。在 TTI 库中,您必须始终知道并提供名称,并使用适用于正确类型的内部元素的函数来查找该特定命名的实体是否存在。
您可能更喜欢使用“查询”而不是“内省”来表示此库的功能,但我在整个文档中都使用基于“内省”一词的术语。
该库的功能可以总结为:
该库依赖于 Boost PP、Boost MPL、Boost Type Traits 和 Boost Function Types。
如果使用了库中的可变参数宏,该库还依赖于 Boost PP 库的可变参数宏支持。
该库是纯头文件库。
由于该库的所有依赖项都是纯头文件库,因此在使用 TTI 库时无需构建库。