BoostBook

xreflabel

BoostBookというよりDocBookの話なんですが、 <section id="bbv2.targets.common"> <title>共通構文</title> </section> という要素に<xref linkend="bbv2.targets.common"/>でクロスリンクを張ると、リンク元のテキストが「共通構文項」のようになってカッコ悪く、結局<link>を使ったりしていました。 ドキュメントをよく読んだら、xreflabelという属性があることに</link></xref>…

using-class

BoostBookのメモ。 <using-class name="hamigaki::archivers::basic_tar_file_sink"/> とすると、 <methodname>create_entry</methodname> で、hamigaki::archivers::basic_tar_file_sink::create_entryにリンクを張れます。 using-classを使わない場合は、 <methodname alt="hamigaki::archivers::basic_tar_file_sink::create_entry">create_entry</methodname></using-class>

SeekableSink

今日もドキュメントの整備です。 以前にも書きましたが、BoostBookはテンプレート仮引数の名前がコンセプト名と一致する場合、自動でリンクを張ってくれます。 テンプレート仮引数に適切な名前を与えるだけで、その型に対する制約を示すことができ、非常に便…

models-sentence

形だけですが、Filter関連コンセプトのドキュメントを追加しました。 http://hamigaki.sourceforge.jp/doc/html/concepts.html Deviceのときと同じ方針で、Filter、MutliCharacterInputFilter、MutliCharacterOutputFilter、ClosableInputFilter、ClosableOu…

続 xinclude-scanner

id:y-hamigaki:20060706 の続きです。 XIncludeの依存関係はboostbook.jamのxinclude-scannerで行われています。 class xinclude-scanner : scanner { // 略 rule pattern ( ) { return "xi:include[ ]*href=\"([^\"]*)\"" ; } // 略 }単純なパターンマッチ…

xinclude-scanner

最近はドキュメント書きがメインなので、またBoostBookネタです。 BoostBookは<boostbook>をルートとする一つのXMLですが、通常は適当な単位でファイルを分割し、XIncludeで一つのツリーにまとめます。 BoostBookのスタイルシートを適用する際、bjamはXIncludeによるフ</boostbook>…

concept

Boostのドキュメントを探索していたところ、conceptのサポートを見つけました。 試しにoptimal_buffer_sizeのドキュメントを書いてみました。 <boostbook> <title>コンセプトのテスト</title> </boostbook>

boost.max.id.length

BoostBook(というかDocBook)はidを振っていない項目に対して、id326930.htmlのようなファイル名を自動生成します。 自動生成される名前は毎回変わるのでdiff等のツールと相性が良くありません。 大抵は、タグにnameやidを設定することで回避可能ですが、idの…

続exposition only

id:y-hamigaki:20060402 でBoostBookは「exposition only」記法をサポートしていないと書きましたが、private継承に関してはサポートされていました。 boost::threadのドキュメントソースを見ると、 <class name="thread"> <inherit access="private"> <type><classname>boost::noncopyable</classname></type> <purpose>Exposition only</purpose> </inherit> </class>となって…

free-function-group

BoostBookには、クラスに関連するフリー関数用のタグとして、<free-function-group>が用意されています。ちょっと変な感じですが、<class>の子要素として使います。Boost.Arrayの場合だと、こんな感じです。 <class name="array"> <free-function-group name="specialized algorithms"> <function name="swap"> </function> </free-function-group> </class>この</class></free-function-group>

C++とDoxygen

BoostBookのリファレンス部分はDoxygenである程度自動生成できます。 例えば、Jamfile.v2に import path ; doxygen autodoc : [ path.glob ../hamigaki/audio/pcm : *.hpp ] [ path.glob ../hamigaki/audio/vorbis : *.hpp ] [ path.glob ../hamigaki/audio …

exposition only

C++標準やBoostのドキュメントではprivateデータメンバに対して、exposition only(JISでは「説明のためだけ」)というコメントが付いている場合があります。例えば、boost::transform_iteratorの場合、 template <class UnaryFunction, class Iterator, class Reference = use_default, class Value = use_default> class transform_iterator { public: // 中略</class>…

PDFが出来るまで

昨日は「BoostBookの書式が間違っていた」としか書きませんでしたが、その舞台裏をご紹介。

BoostBook with FOP

BoostBookでPDF作成に挑戦していたんですが、今日ようやく動きました。 ちなみに、動かなかった理由はBoostBookの書式が間違っていただけでした。 今日の成果物 以下、設定メモ。

BoostBook始めました

肝心の中身がまだまだですが、BoostBook形式のドキュメントをつけました。BBv2、BoostBookの情報は少ないので早めに公開してみます。BoostBookの設定に関しては、Cryoliteさんの投稿が参考になります。ここでは、BBv2に用意されている〜-config.jamをなるべ…