Boost C++ 库

...一个在世界上备受推崇且设计精良的 C++ 库项目。 Herb SutterAndrei Alexandrescu, C++ Coding Standards

第 21 章. Boost.Metaparse - Boost C++ 函数库
PrevUpHomeNext

第 21 章. Boost.Metaparse

Abel Sinkovics

根据 Boost 软件许可证版本 1.0 发布。(参见随附文件 LICENSE_1_0.txt 或在 https://boost.ac.cn/LICENSE_1_0.txt 复制)

Metaparse 是一个用于模板元编程的解析器生成库。该库的目的是支持创建在编译时进行解析的解析器。该库旨在用于 C++ 的嵌入式领域特定语言的创建。生成解析器的输入是一个编译时字符串,参见 string。解析过程的结果要么是错误,要么是解析器编写者指定的任何其他结果。

该库类似于 Boost.Spirit,但 Spirit 构建的解析器是在运行时解析,而 Metaparse 构建的解析器是在编译时解析。Metaparse 构建的解析器可以输出

  • types
  • 常量值
  • 对象(具有公共静态成员的类型)
  • 可调用的 C++ 函数(具有公共静态方法的类型)
  • 模板元函数类

有关更多详细信息,请参阅 编译时字符串可以构建什么? 部分。

基于 C++11 特性,该库可以为输入字符串的定义提供高级实用程序,而库的其余部分也适用于基于 C++98 的编译器。请注意,如果您使用 Boost.Build 和 GCC 或 Clang 构建测试和示例,编译器将不会启用 C++11(或更高版本)。要以 C++11 模式构建测试和示例,您需要运行 b2 cxxflags="-std=c++11"

外部教程可以在 https://github.com/sabel83/metaparse_tutorial#metaparse-tutorial 找到。


PrevUpHomeNext