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