版权所有 © 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 类型特征库,并且因为该库提供的功能是内省类型中特定元素存在的能力。
我在这里非常广泛地使用“内省”这个词。通常,计算机语言内省最初意味着请求按名称返回信息,然后可以进一步使用这些信息来内省更具体的信息。在 TTI 库中,必须始终知道并提供名称,并使用为正确类型的内部元素提供的功能来查明该特定命名实体是否存在。
您可能更喜欢使用术语“查询”而不是“内省”来表示此库的功能,但我在整个文档中使用基于“内省”一词的术语。
该库的功能可以概括为
该库依赖于 Boost PP、Boost MPL、Boost Type Traits 和 Boost Function Types。
如果使用库中的可变参数宏,则该库还依赖于 Boost PP 库的可变参数宏支持。
该库是一个仅包含头文件的库。
由于该库的依赖项都是仅包含头文件的库,因此无需构建库即可使用 TTI 库。