グルーピングのモジュール機能
グルーピングの使い方として、@defgroup, @addtogroup ってのがある。
「@defgroup グループID タイトル」と「@addtogroup グループID」を使う。グループ範囲は //@{ と //@} で囲む。このグループには何を収めてもいい。なぜか、こうして作ったグループを「モジュール」と呼ぶ。
言語が持つ名前コンテナ(名前空間、クラスなど)とは独立無関係に、クラス、関数などをグループとして寄せ集めることが出来る。
いったい何に使うのか? と思ったが、用途があった。クラスのなかでインターフェースを定義するものがある。C++ではクラスとインターフェースの区別がないので、インターフェースだけを見たいときに、クラス一覧から一個ずつ拾うしかない。モジュールにまとめておくと、インターフェースだけを一覧できる。
「エラー処理関係の関数」とか「typedefされた型」とかの基準でグループを作ってもいいかもしれない。記述がけっこうめんどくさいから、多用するもんじゃない気はする。