BoostBook 文档格式是 DocBook 的扩展,一种用于描述文档的基于 SGML 或 XML 的格式。BoostBook 通过语义标记增强了 DocBook,这有助于 C++ 库(特别是 Boost C++ 库)的文档编写,通过提供表达和引用 C++ 构造(如命名空间、类、重载函数、模板和特化)的能力。
BoostBook 提供了更多特定于其用于记录 Boost C++ 库 的功能。这些功能旨在消除或减少信息重复的需要,并帮助记录 Boost 的某些部分,否则这些部分可能不会被记录。Boost 中心功能的示例包括:
测试套件:Boost 中的测试套件是通过编写适当的 Jamfile 并将该 Jamfile 包含在 status/Jamfile
中创建的。如果测试套件已记录(如 MultiArray 库中所示),则文档与测试用例 Jamfile 分开维护,导致信息重复以及文档可能与 Jamfile 不同步。BoostBook 包含描述测试套件的元素,用于两个目的:BoostBook 样式表可以生成测试用例的文档,还可以生成适当的 Jamfile 以将测试用例与回归测试系统集成。
示例程序:文档中的示例程序需要在测试用例中重复,以确保示例能够正确编译和执行。保持两个副本同步是一项繁琐且容易出错的任务。例如,以下代码片段持续了六个月
std::cout << f(5, 3) >> std::endl;
BoostBook 格式允许通过将文档中示例程序的程序片段编织在一起生成测试用例。此功能与测试套件生成集成在一起,因此示例程序是 BoostBook 中的正常测试。