concept
Boostのドキュメントを探索していたところ、conceptのサポートを見つけました。
試しにoptimal_buffer_sizeのドキュメントを書いてみました。
<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE boostbook PUBLIC "-//Boost//DTD BoostBook XML V1.0//EN" "http://www.boost.org/tools/boostbook/dtd/boostbook.dtd"> <boostbook> <title>コンセプトのテスト</title> <!-- libraryタグを使うとidを二度設定してしまうので、chapterタグを使う --> <chapter id="concepts"> <title>コンセプト</title> <library-reference id="concepts.reference"> <title>リファレンス</title> <concept name="OptimallyBuffered" category="Iostreams"> <!-- コンセプトの対象 --> <param name="O" role="optimally-buffered-type"/> <!-- 説明用の変数 --> <notation variables="o"> <sample-value> <type name="O"/> </sample-value> </notation> <!-- 有効な式 --> <valid-expression name="最適なバッファサイズの取得"> <apply-method name="optimal_buffer_size"> <sample-value><reference-to><const><type name="O"/></const></reference-to></sample-value> </apply-method> <return-type><require-same-type><type name="std::streamsize"/></require-same-type></return-type> <semantics>最適なバッファサイズを返す。</semantics> </valid-expression> </concept> </library-reference> </chapter> </boostbook>
出力はこんな感じになります。(スタイルは違います。)
Concept OptimallyBuffered
OptimallyBufferedNotation
O A type playing the role of optimally-buffered-type in the OptimallyBuffered concept. o Object of type O Valid expressions
Name Expression Type Semantics 最適なバッファサイズの取得 o.optimal_buffer_size() std::streamsize 最適なバッファサイズを返す。
こうして記述したコンセプトは、クラスや列挙型と同じく、conceptnameタグでリンクを張ることができます。
かなり面倒くさいですが。