すべてのドキュメントコマンドはバックスラッシュ(\)またはアットマーク(@)で始まります。必要であれば、以下のバックスラッシュで始まるすべてのコマンドを、アットマークで始まる対応するコマンドに置き換えることができます。
一部のコマンドには1つ以上の引数があります。各引数には特定の範囲があります。
上記の引数指定子に加えて [角括弧] が使用されている場合、引数はオプションですが、引用符で囲まれている場合は、コマンド引数の必須部分となります。
以下に、すべてのコマンドとそのドキュメントへの参照をアルファベット順に示します:
以下のサブセクションでは、Doxygenが認識するすべてのコマンドのリストを提供します。認識されないコマンドは通常のテキストとして扱われます。
\defgroup と同様にグループを定義しますが、このコマンドとは異なり、同じ <name> を複数回使用しても警告は発生せず、代わりに結合されたドキュメントと、いずれかのコマンドで最初に見つかったタイトルを持つ1つのグループが作成されます。
タイトルはオプションなので、このコマンドは次のように @{
と @}
を使用して、既存のグループに多数のエンティティを追加するためにも使用できます。
/*! \addtogroup mygrp * Additional documentation for group 'mygrp' * @{ */ /*! * A function */ void func1() { } /*! Another function */ void func2() { } /*! @} */
このコマンドが関数またはメソッドのコメントブロックに配置され、HAVE_DOT が YES
に設定されている場合、Doxygenはその関数に対して呼び出しグラフを生成します(関数またはメソッドの実装が他のドキュメント化された関数を呼び出す場合に限る)。呼び出しグラフは CALL_GRAPH の値に関わらず生成されます。
このコマンドが関数またはメソッドのコメントブロックに配置されている場合、Doxygenはその関数の呼び出しグラフを生成しません。呼び出しグラフは CALL_GRAPH の値に関わらず生成されません。
このコマンドが関数またはメソッドのコメントブロックに配置され、HAVE_DOT が YES
に設定されている場合、Doxygenはその関数に対して呼び出し元グラフを生成します(関数またはメソッドの実装が他のドキュメント化された関数によって呼び出される場合に限る)。呼び出し元グラフは CALLER_GRAPH の値に関わらず生成されます。
このコマンドが関数またはメソッドのコメントブロックに配置されている場合、Doxygenはその関数の呼び出し元グラフを生成しません。呼び出し元グラフは CALLER_GRAPH の値に関わらず生成されません。
このコマンドが関数、メソッド、または変数のコメントブロックに配置されている場合、Doxygenはその関数、メソッド、変数について、それを呼び出す/使用する(ドキュメント化された)関数およびメソッドの概要を生成します。この概要は REFERENCED_BY_RELATION の値に関わらず生成されます。
このコマンドが関数、メソッド、または変数のコメントブロックに配置されている場合、Doxygenはその関数、メソッド、変数について、それを呼び出す/使用する関数およびメソッドの概要を生成しません。この概要は REFERENCED_BY_RELATION の値に関わらず生成されません。
このコマンドが関数またはメソッドのコメントブロックに配置されている場合、Doxygenはその関数またはメソッドについて、それを呼び出す関数およびメソッドの概要を生成します。この概要は REFERENCES_RELATION の値に関わらず生成されます。
このコマンドが関数またはメソッドのコメントブロックに配置されている場合、Doxygenはその関数またはメソッドについて、それを呼び出す関数およびメソッドの概要を生成しません。この概要は REFERENCES_RELATION の値に関わらず生成されません。
このコマンドが関数、複数行マクロ、列挙型、またはリスト初期化された変数のコメントブロックに配置されている場合、Doxygenはそのメンバーのインラインソースを生成します。インラインソースは INLINE_SOURCES の値に関わらず生成されます。
このコマンドが関数、複数行マクロ、列挙型、またはリスト初期化された変数のコメントブロックに配置されている場合、Doxygenはそのメンバーのインラインソースを生成しません。インラインソースは INLINE_SOURCES の値に関わらず生成されません。
このコマンドがファイルのコメントブロックに配置されている場合、Doxygenはそのファイルのインクルードグラフを生成します。インクルードグラフは INCLUDE_GRAPH の値に関わらず生成されます。
このコマンドがファイルのコメントブロックに配置されている場合、Doxygenはそのファイルのインクルードグラフを生成しません。インクルードグラフは INCLUDE_GRAPH の値に関わらず生成されません。
このコマンドがインクルードファイルのコメントブロックに配置されている場合、Doxygenはそのインクルードファイルに対して「含む元グラフ」を生成します。「含む元グラフ」は INCLUDED_BY_GRAPH の値に関わらず生成されます。
このコマンドがインクルードファイルのコメントブロックに配置されている場合、Doxygenはそのインクルードファイルに対して「含む元グラフ」を生成しません。「含む元グラフ」は INCLUDED_BY_GRAPH の値に関わらず生成されません。
このコマンドがディレクトリ(セクション \dir を参照)のコメントブロックに配置されている場合、Doxygenはそのディレクトリのディレクトリグラフを生成します。ディレクトリグラフは DIRECTORY_GRAPH の値に関わらず生成されます。
このコマンドがディレクトリ(セクション \dir を参照)のコメントブロックに配置されている場合、Doxygenはそのディレクトリのディレクトリグラフを生成しません。ディレクトリグラフは DIRECTORY_GRAPH の値に関わらず生成されません。
このコマンドがクラスのコメントブロックに配置されている場合、Doxygenはそのクラスのコラボレーショングラフを生成します。コラボレーショングラフは COLLABORATION_GRAPH の値に関わらず生成されます。
このコマンドがクラスのコメントブロックに配置されている場合、Doxygenはそのクラスのコラボレーショングラフを生成しません。コラボレーショングラフは COLLABORATION_GRAPH の値に関わらず生成されません。
このコマンドがクラスのコメントブロックに配置されている場合、Doxygenは option に従ってそのクラスの継承グラフを生成します。継承グラフは、CLASS_GRAPH の値に関わらず、option に従って生成されます。option の可能な値は、CLASS_GRAPH で使用できる値と同じです。option が指定されていない場合、値 YES が仮定されます。
このコマンドがクラスのコメントブロックに配置されている場合、Doxygenはそのクラスの継承グラフを生成しません。継承グラフは CLASS_GRAPH の値に関わらず生成されません。
このコマンドが \defgroup コマンドのコメントブロックに配置されている場合、Doxygenはそのグループのグループ依存関係グラフを生成します。グループグラフは GROUP_GRAPHS の値に関わらず生成されます。
このコマンドが \defgroup コマンドのコメントブロックに配置されている場合、Doxygenはそのグループのグループ依存関係グラフを生成しません。グループグラフは GROUP_GRAPHS の値に関わらず生成されません。
このコマンドが列挙型のコメントブロックに配置されている場合、Doxygenはその列挙型の指定された列挙値を SHOW_ENUM_VALUES の値に関わらず表示します。
このコマンドが列挙型のコメントブロックに配置されている場合、Doxygenはその列挙型の指定された列挙値を SHOW_ENUM_VALUES の値に関わらず表示しません。
このコマンドを使用すると、メンバーやクラスにカスタム修飾子ラベルを追加できます。これらのラベルは、「static」、「inline」、「final」などの自動生成されたラベルと同じ方法で出力に表示されます。
例えば、関数がテスト目的のみであることを示すには、\qualifier test を追加できます。
Objective-C のみ:コメントブロックが <name> という名前のクラスカテゴリのドキュメントを含んでいることを示します。引数は \class コマンドと同じです。
コメントブロックが <name> という名前のクラスのドキュメントを含んでいることを示します。オプションでヘッダーファイルとヘッダー名を指定できます。ヘッダーファイルが指定されている場合、ヘッダーの逐語的なコピーへのリンクがHTMLドキュメントに含まれます。<header-name> 引数を使用して、クラスドキュメントで使用されるリンクの名前を <header-file> 以外のものに上書きできます。これは、インクルード名がデフォルトのインクルードパスにない場合(例:<X11/X.h>)に役立ちます。<header-name> 引数を使用すると、名前に引用符または山括弧を追加することで、インクルードステートメントがどのように見えるべきかも指定できます。名前のみが指定されている場合、山括弧が使用されます。最後の2つの引数は、\headerfile コマンドを使用しても指定できることに注意してください。
コメントブロックが <name> という名前の C++20 コンセプトのドキュメントを含んでいることを示します。ユーザーがそのコンセプトを使用するためにインクルードすべきヘッダーを指定するには、\headerfile コマンドも参照してください。
コメントブロックが #define
マクロのドキュメントを含んでいることを示します。
コメントブロックがクラス、モジュール、コンセプト、ファイル、または名前空間のトピックに関するドキュメントを含んでいることを示します。これは、シンボルを分類し、それらのカテゴリをドキュメント化するために使用できます。グループを他のグループのメンバーとして使用することもでき、これによりグループの階層を構築できます。
<name> 引数は単一の単語識別子である必要があります。
コメントブロックがディレクトリのドキュメントを含んでいることを示します。「パスフラグメント」引数には、ディレクトリ名と、プロジェクト内の他のディレクトリに対して一意となる十分なパスを含める必要があります。STRIP_FROM_PATH オプションは、完全なパスが出力に表示される前に何が除去されるかを決定します。
コメントブロックが <name> という名前の列挙型のドキュメントを含んでいることを示します。列挙型がクラスのメンバーであり、ドキュメントブロックがクラス定義の外部にある場合、クラスのスコープも指定する必要があります。コメントブロックが列挙型宣言の直前にある場合、\enum
コメントは省略できます。
コメントブロックがソースコードの例に関するドキュメントを含んでいることを示します。ソースファイルの名前は <file-name> です。このファイルの内容は、コメントブロックに含まれるドキュメントの直後にドキュメントに含まれます。必要に応じて、オプション {lineno} を追加して、例の行番号を有効にできます。すべての例はリストに配置されます。ソースコードはドキュメント化されたメンバーとクラスについてスキャンされます。見つかった場合、名前はドキュメントと相互参照されます。ソースファイルまたはディレクトリは、Doxygenの設定ファイルの EXAMPLE_PATH タグを使用して指定できます。
<file-name> 自体が EXAMPLE_PATH タグで指定された例のファイルのセットに対して一意でない場合、絶対パスの一部を含めて曖昧さを解消できます。
例に複数のソースファイルが必要な場合は、\include コマンドを使用できます。
example_test.cpp
は次のようになります。 このコマンドは、\internal コマンドで開始されたドキュメントフラグメントを終了します。\internal と \endinternal
の間のテキストは、INTERNAL_DOCS が YES
に設定されている場合にのみ表示されます。
このコマンドは、プログラミング言語がこの概念をネイティブにサポートしていない場合(例:C)、手動で継承関係を示すために使用できます。
例ディレクトリのファイル manual.c
は、このコマンドの使用方法を示しています(完全なファイルについては \memberof も参照してください)。
Doxygenによって生成された対応するHTMLドキュメントはこちらをクリックしてください。
コメントブロックが <name> という名前のソースファイルまたはヘッダーファイルのドキュメントを含んでいることを示します。ファイル名が単独で一意でない場合、パスの一部または全体を含めることができます。ファイル名が省略された場合(つまり、\file
の後の行が空白の場合)、\file
コマンドを含むドキュメントブロックは、それが配置されているファイルに属します。
YES
に設定されている場合にのみ出力に含まれます。YES
に設定されています。このコマンドが配置されているファイル名(の一部)を表示します。option は name、extension、filename、directory、または full で、それぞれ次の意味を持ちます。
オプションが指定されていない場合、filename が使用されます。ただし、FULL_PATH_NAMES が YES に設定されている場合は、full が使用されます。
コメントブロックが関数(グローバルまたはクラスのメンバーとしてのいずれか)のドキュメントを含んでいることを示します。このコマンドは、コメントブロックが関数宣言または定義の前に(または後ろに)配置されていない場合にのみ必要です。
コメントブロックが関数宣言または定義の前にある場合、このコマンドは省略できます(冗長性を避けるためにも省略すべきです)。
引数を含む完全な関数宣言は、\fn
コマンドの後に単一行で指定する必要があります。引数は行の終わりまで続くためです!
このコマンドは \var、\typedef、および \property と同等です。
定義の前にドキュメントがあるクラス、構造体、または共用体のドキュメントに使用することを意図しています。このコマンドの引数は、\class の2番目と3番目の引数と同じです。<header-file> 名は、クラス、構造体、または共用体の定義を取得するためにアプリケーションがインクルードすべきファイルを参照します。<header-name> 引数を使用して、クラスドキュメントで使用されるリンクの名前を <header-file> 以外のものに上書きできます。これは、インクルード名がデフォルトのインクルードパスにない場合(例:<X11/X.h>)に役立ちます。
<header-name> 引数を使用すると、名前に二重引用符または山括弧を追加することで、インクルードステートメントがどのように見えるべきかを指定することもできます。デフォルトでは、名前のみが指定されている場合、山括弧が使用されます。
<header-file> または <header-name> 引数のいずれかに二重引用符のペアが与えられた場合、現在のファイル(コマンドが見つかったファイル)が引用符付きで使用されます。したがって、ファイル test.h
内に \headerfile
コマンドがあるコメントブロックの場合、以下の3つのコマンドは同等です。
\headerfile test.h "test.h" \headerfile test.h "" \headerfile ""
山括弧を取得するためには何も指定する必要はありませんが、明示的にしたい場合は以下のいずれかを使用できます。
\headerfile test.h <test.h> \headerfile test.h <> \headerfile <>
デフォルトのインクルード表現をローカルインクルードにグローバルに反転させるには、FORCE_LOCAL_INCLUDES を YES
に設定します。
インクルード情報を完全に無効にするには、SHOW_HEADERFILE を NO
に設定します。
デフォルトでは、define の値と変数の初期化子は、30行を超える場合を除き表示されます。define または変数のコメントブロックにこのコマンドを配置すると、初期化子は常に非表示になります。初期化行の最大数は、設定パラメータ MAX_INITIALIZER_LINES によって変更できます。デフォルト値は30です。
コメントブロックが <name> という名前の IDL 例外のドキュメントを含んでいることを示します。
このコマンドは、プログラミング言語がこの概念をネイティブにサポートしていない場合(例:C)、手動で継承関係を示すために使用できます。
例ディレクトリのファイル manual.c
は、このコマンドの使用方法を示しています(完全なファイルについては \memberof も参照してください)。
Doxygenによって生成された対応するHTMLドキュメントはこちらをクリックしてください。
\ingroup
コマンドが複合エンティティ(クラス、ファイル、名前空間など)のコメントブロックに配置されている場合、そのエンティティは <groupname> で識別されるグループに追加されます。メンバー(変数、関数、typedef、列挙型など)の場合、メンバーは1つのグループにのみ追加されます(メンバーがそのクラス、名前空間、またはファイルのコンテキストでドキュメント化されておらず、グループの一部としてのみ表示される場合に、曖昧なリンクターゲットを避けるため)。
コメントブロックが <name> という名前のインターフェースのドキュメントを含んでいることを示します。引数は \class コマンドの引数と同じです。
このコマンドは、内部使用のみを意図したドキュメントフラグメントを開始します。フラグメントはコメントブロックの終わりで自然に終了します。\endinternal コマンドを使用して、内部セクションを強制的に早く終了させることもできます。
\internal
コマンドがセクション内(例えば \section を参照)に配置されている場合、コマンド以降のすべてのサブセクションも内部と見なされます。同じレベルの新しいセクションのみが、内部と見なされるフラグメントを終了します。
設定ファイルで INTERNAL_DOCS を使用して、内部ドキュメントを表示(YES
)または非表示(NO
)にできます。
\mainpage
コマンドがコメントブロックに配置されている場合、そのブロックはインデックスページ(HTML)または最初の章()をカスタマイズするために使用されます。
title 引数はオプションであり、Doxygenが通常生成するデフォルトのタイトルを置き換えます。タイトルが不要な場合は、\mainpage
の引数として notitle
を指定できます。
例を挙げます
/*! \mainpage My Personal Index Page * * \section intro_sec Introduction * * This is the introduction. * * \section install_sec Installation * * \subsection step1 Step 1: Opening the box * * etc... */
メインページは \ref index
を使用して参照できます。
このコマンドは、\relates と同様の方法で関数をクラスのメンバーにしますが、このコマンドを使用すると、関数はクラスの実際のメンバーとして表現されます。これは、プログラミング言語がメンバー関数の概念をネイティブにサポートしていない場合(例:C)に役立ちます。
このコマンドは、\public、\protected、または \private と一緒に使用することも可能です。
manual.c
は、このコマンドの使用方法を示しています。コメントブロックが <name> という名前の C++20 モジュールのドキュメントを含んでいることを示します。
このコマンドは、コメントブロックをメンバーグループのヘッダー定義に変換します。コメントブロックの後には、グループのメンバーを含む @{ ... @} ブロックが続く必要があります。
例については、セクション メンバーグループ を参照してください。
コメントブロックが <name> という名前の名前空間のドキュメントを含んでいることを示します。
このコマンドはクラスのドキュメントに配置できます。メンバーグルーピングと組み合わせて使用することで、Doxygenがメンバーグループを Public/Protected/Private/... セクションのサブグループとして配置するのを避けることができます。
このコマンドは、オーバーロードされたメンバー関数に対して以下の標準テキストを生成するために使用できます。
これは、便宜のために提供されるオーバーロードされたメンバー関数です。上記の関数とは、受け入れる引数のみが異なります。
オーバーロードされたメンバー関数のドキュメントが関数宣言または定義の前にない場合、オプションの引数を使用してオーバーロードされた関数の正しい宣言を指定する必要があります。もちろん、\overload コマンドがオーバーロードされたメンバー関数の直前にあり、オプションの引数が使用されている場合も、これがオーバーロードされた関数の正しい宣言である必要があります。
ドキュメントブロック内の他のすべてのドキュメントは、生成されたメッセージの後に追記されます。
NO
に設定する必要があります。コメントブロックが <name> という名前の Java パッケージのドキュメントを含んでいることを示します。
コメントブロックが、特定のクラス、ファイル、またはメンバーに直接関連しないドキュメントの一部を含んでいることを示します。HTMLジェネレーターは、ドキュメントを含むページを作成します。 ジェネレーターは、「ページドキュメント」の章に新しいセクションを開始します。
MYPAGE1
)または大文字と小文字の混在(例:MyPage1
)を使用したい場合は、CASE_SENSE_NAMES を YES
に設定する必要があります。ただし、これはファイルシステムが大文字と小文字を区別する場合にのみ推奨されます。そうでない場合(および移植性を高めるため)は、ページへのすべての参照で <name> にすべての小文字(例:mypage1
)を使用する必要があります。コメントブロックでドキュメント化されたメンバーがプライベート、つまり同じクラス内の他のメンバーからのみアクセスされるべきであることを示します。
Doxygenは、オブジェクト指向言語のメンバーの保護レベルを自動的に検出することに注意してください。このコマンドは、言語が保護レベルの概念をネイティブにサポートしていない場合(例:C、PHP 4)にのみ使用することを意図しています。
C++の「private:」クラスマーカーと同様の方法でプライベートメンバーのセクションを開始するには、\privatesection を使用します。
C++の「private:」クラスマーカーと同様の方法でプライベートメンバーのセクションを開始します。コメントブロックでドキュメント化されたメンバーがプライベート、つまり同じクラス内の他のメンバーからのみアクセスされるべきであることを示します。
コメントブロックがプロパティ(グローバルまたはクラスのメンバーとしてのいずれか)のドキュメントを含んでいることを示します。このコマンドは \fn、\typedef、および \var と同等です。
コメントブロックでドキュメント化されたメンバーがプロテクテッド、つまり同じクラスまたは派生クラスの他のメンバーからのみアクセスされるべきであることを示します。
Doxygenは、オブジェクト指向言語のメンバーの保護レベルを自動的に検出することに注意してください。このコマンドは、言語が保護レベルの概念をネイティブにサポートしていない場合(例:C、PHP 4)にのみ使用することを意図しています。
C++の「protected:」クラスマーカーと同様の方法でプロテクテッドメンバーのセクションを開始するには、\protectedsection を使用します。
C++の「protected:」クラスマーカーと同様の方法でプロテクテッドメンバーのセクションを開始します。コメントブロックでドキュメント化されたメンバーがプロテクテッド、つまり同じクラスまたは派生クラスの他のメンバーからのみアクセスされるべきであることを示します。
コメントブロックが <name> という名前の Objective-C プロトコルのドキュメントを含んでいることを示します。引数は \class コマンドと同じです。
コメントブロックでドキュメント化されたメンバーがパブリック、つまり他のどのクラスまたは関数からもアクセスできることを示します。
Doxygenは、オブジェクト指向言語のメンバーの保護レベルを自動的に検出することに注意してください。このコマンドは、言語が保護レベルの概念をネイティブにサポートしていない場合(例:C、PHP 4)にのみ使用することを意図しています。
C++の「public:」クラスマーカーと同様の方法でパブリックメンバーのセクションを開始するには、\publicsection を使用します。
C++の「public:」クラスマーカーと同様の方法でパブリックメンバーのセクションを開始します。コメントブロックでドキュメント化されたメンバーがパブリック、つまり他のどのクラスまたは関数からもアクセスできることを示します。
コメントブロックでドキュメント化されたメンバーが純粋仮想、つまり抽象であり、それに関連付けられた実装がないことを示します。
このコマンドは、言語が純粋仮想メソッドの概念をネイティブにサポートしていない場合(例:C、PHP 4)にのみ使用することを意図しています。
このコマンドは、非メンバー関数 <name> のドキュメントで使用できます。これにより、関数はクラスドキュメントの「関連関数」セクションに配置されます。このコマンドは、特定のクラスに強く結合している非フレンド関数をドキュメント化するのに役立ちます。これにより、ファイルをドキュメント化する必要がなくなり、関数にのみ機能します。
\relates と同等
このコマンドは、非メンバー関数 <name> のドキュメントで使用できます。これにより、関数はクラスドキュメントの「関連関数」セクションに配置されるだけでなく、通常のファイルドキュメントの場所にも残されます。このコマンドは、特定のクラスに強く結合している非フレンド関数をドキュメント化するのに役立ちます。関数にのみ機能します。
\relatesalso と同等
デフォルトでは、define の値と変数の初期化子は、30行未満の場合にのみ表示されます。define または変数のコメントブロックにこのコマンドを配置すると、初期化子は無条件に表示されます。初期化行の最大数は、設定パラメータ MAX_INITIALIZER_LINES によって変更できます。デフォルト値は30です。
コメントブロックでドキュメント化されたメンバーが静的、つまりクラスのインスタンスではなく、クラス自体に対して機能することを示します。
このコマンドは、言語が静的メソッドの概念をネイティブにサポートしていない場合(例:C)にのみ使用することを意図しています。
コメントブロックが <name> という名前の構造体のドキュメントを含んでいることを示します。引数は \class コマンドの引数と同じです。
コメントブロックが typedef(グローバルまたはクラスのメンバーとしてのいずれか)のドキュメントを含んでいることを示します。このコマンドは \fn、\property、および \var と同等です。
コメントブロックが <name> という名前の共用体のドキュメントを含んでいることを示します。引数は \class コマンドの引数と同じです。
コメントブロックが変数または列挙値(グローバルまたはクラスのメンバーとしてのいずれか)のドキュメントを含んでいることを示します。このコマンドは \fn、\property、および \typedef と同等です。
PHPの場合、変数の型を指定することもできます。構文は phpDocumentor に似ていますが、説明は次の行から開始する必要があります。すなわち、
@var datatype $varname Description
これはVHDL固有のコマンドで、プロセスのドキュメントに配置することで、プロセスのロジックのフローチャートを生成できます。オプションでフローチャートのタイトルを指定できます。
\addtogroup と全く同じように使用できますが、グループ化定義の競合解決に関しては優先度が低くなります。
注意を促すメッセージを入力できる段落を開始します。この段落はインデントされます。段落のテキストに特別な内部構造はありません。すべての視覚的強調コマンドは段落内で使用できます。複数の連続した\attention
コマンドは1つの段落に結合されます。\attention
コマンドは、空白行または他のセクションコマンドが見つかると終了します。
1人以上の著者名を入力できる段落を開始します。この段落はインデントされます。段落のテキストに特別な内部構造はありません。すべての視覚的強調コマンドは段落内で使用できます。複数の連続した\author
コマンドは1つの段落に結合されます。各著者の記述は新しい行から開始されます。あるいは、1つの\author
コマンドで複数の著者を記述することもできます。\author
コマンドは、空白行または他のセクションコマンドが見つかると終了します。
\authorと同じです。
簡単な説明として機能する段落を開始します。クラスやファイルの場合、簡単な説明はリストやドキュメントページの冒頭で使用されます。クラスおよびファイルのメンバーの場合、簡単な説明はメンバーの宣言箇所に配置され、詳細な説明の前に付加されます。簡単な説明は複数行にわたる場合があります(ただし、簡潔に保つことをお勧めします!)。簡単な説明は、空白行または別のセクションコマンドが見つかると終了します。複数の\brief
コマンドが存在する場合、それらは結合されます。例については、セクション\authorを参照してください。
\shortの同意語です。
1つ以上のバグを報告できる段落を開始します。この段落はインデントされます。段落のテキストに特別な内部構造はありません。すべての視覚的強調コマンドは段落内で使用できます。複数の連続した\bug
コマンドは1つの段落に結合されます。各バグの説明は新しい行から開始されます。あるいは、1つの\bug
コマンドで複数のバグを記述することもできます。\bug
コマンドは、空白行または他のセクションコマンドが見つかると終了します。例については、セクション\authorを参照してください。
この説明は、別途バグリストにも項目を追加し、その2つの説明は相互参照されます。バグリストの各項目には、その項目の出典を示すヘッダーが前に付加されます。
バグリストとそれに対応するエントリは、GENERATE_BUGLISTをNOに設定することで無効にできます。
対応する\endcondコマンドで終わる条件付きセクションを開始します。このコマンドは通常、別のコメントブロック内にあります。このコマンドのペアの主な目的は、ファイルの特定の部分を処理から(条件付きで)除外することです(Doxygenの古いバージョンでは、Cプリプロセッサコマンドを使用することによってのみこれが可能でした)。
\cond
と\endcond間のセクションは、そのセクションラベルをENABLED_SECTIONS設定オプションに追加することで含めることができます。セクションラベルが省略された場合、そのセクションは無条件に処理から除外されます。セクションラベルは、セクション名、丸括弧、&& (AND)、|| (OR)、および ! (NOT) で構築された論理式にすることができます。式を使用する場合は、丸括弧で囲む必要があります。例:\cond (!LABEL1 && LABEL2)。
コメントブロック内の条件付きセクションには、\if ... \endifブロックを使用する必要があります。\cond
を使用し、条件が満たされない場合、現在のコメントブロックは終了し、対応する\endcondまでのすべてが削除され、そこに新しいコマンドブロックが開始されます。
条件付きセクションはネストできます。この場合、ネストされたセクションは、それ自体とそれを囲むセクションが含まれている場合にのみ表示されます。
コマンドが実際に動作する例を以下に示します
/** An interface */ class Intf { public: /** A method */ virtual void func() = 0; /// @cond TEST /** A method used for testing */ virtual void test() = 0; /// @endcond }; /// @cond DEV /* * The implementation of the interface */ class Implementation : public Intf { public: void func(); /// @cond TEST void test(); /// @endcond /// @cond /** This method is obsolete and does * not show up in the documentation. */ void obsolete(); /// @endcond }; /// @endcond
ENABLED_SECTIONSにTEST
またはDEV
が含まれているかどうかに応じて、出力は異なります。
エンティティの著作権を記述できる段落を開始します。この段落はインデントされます。段落のテキストに特別な内部構造はありません。例については、セクション\authorを参照してください。
1つ以上の日付を入力できる段落を開始します。この段落はインデントされます。段落のテキストに特別な内部構造はありません。すべての視覚的強調コマンドは段落内で使用できます。複数の連続した\date
コマンドは1つの段落に結合されます。各日付の記述は新しい行から開始されます。あるいは、1つの\date
コマンドで複数の日付を記述することもできます。\date
コマンドは、空白行または他のセクションコマンドが見つかると終了します。例については、セクション\authorを参照してください。
指定された<format>と<date_time>に基づいて日付と時刻を表示します。<format>は、以下のトークンが特別な意味を持つ文字列です。
コード | 説明 |
---|---|
%y | 世紀なしの年(ゼロ埋め10進数)。 |
%Y | 世紀ありの年(10進数)。 |
%m | 月(ゼロ埋め10進数)。 |
%-m | 月(10進数)。 |
%b | 月のロケール略称。 |
%B | 月のロケール正式名称。 |
%d | 日付(ゼロ埋め10進数)。 |
%-d | 日付(10進数)。 |
%u | 曜日(10進数、1-7)。月曜日が1。 |
%w | 曜日(10進数、0-6)。日曜日が0。 |
%a | 曜日のロケール略称。 |
%A | 曜日のロケール正式名称。 |
%H | 時間(24時間表示、ゼロ埋め10進数)。 |
%-H | 時間(24時間表示、10進数)。 |
%I | 時間(12時間表示、ゼロ埋め10進数)。 |
%-I | 時間(12時間表示、10進数)。 |
%M | 分(ゼロ埋め10進数)。 |
%-M | 分(10進数)。 |
%S | 秒(ゼロ埋め10進数)。 |
%-S | 秒(10進数)。 |
%p | ロケールの午前または午後に相当する記号。 |
%% | %文字。 |
<format>は二重引用符で囲む必要があることに注意してください。
<date_time>が指定されている場合、以下の形式である必要があります
<date_time>が指定されていない場合は、現在の日付と時刻が使用されます。
例を挙げます
OUTPUT_LANGUAGE=englishの場合、以下の結果になります
OUTPUT_LANGUAGE=dutchの場合、以下の結果になります
このドキュメントブロックが非推奨のエンティティに属することを示す段落を開始します。代替案や予想される寿命などを記述するために使用できます。この段落はインデントされます。段落のテキストに特別な内部構造はありません。すべての視覚的強調コマンドは段落内で使用できます。複数の連続した\deprecated
コマンドは1つの段落に結合されます。各非推奨の説明は新しい行から開始されます。\deprecated
コマンドは、空白行または他のセクションコマンドが見つかると終了します。
この説明は、別途非推奨リストにも項目を追加し、その2つの説明は相互参照されます。非推奨リストの各項目には、その項目の出典を示すヘッダーが前に付加されます。
非推奨リストとそれに対応するエントリは、GENERATE_DEPRECATEDLISTをNOに設定することで無効にできます。
\briefが簡単な説明を開始するのと同様に、\details
は詳細な説明を開始します。新しい段落(空白行)を開始することもでき、その場合、\details
コマンドは必要ありません。
コマンドを含め、行末までのすべてのテキストは無視されます。このコマンドは、通常、ALIASESと組み合わせて、例えば他の処理ツールに存在する未サポートのコマンドを無視するために使用されます。
コマンドを除き、行末までのすべてのテキストは、ドキュメントの警告として文字通り表示されます。コマンドを含むテキストは出力から削除されます。このコマンドは、通常、ALIASESと組み合わせて、特定の警告を表示するために使用されます。
\raisewarning My specific warning \warnNoDoc \warnNoDoc{My specific warning}と共に
ALIASES = warnNoDoc="\raisewarning Missing documentation" ALIASES += warnNoDoc{1}="\raisewarning Incomplete documentation: \1"結果として
ex_1.md:1: warning: My specific warning ex_1.md:3: warning: Missing documentation ex_1.md:5: warning: Incomplete documentation: My specific warning
前の条件付きセクションが有効でなかった場合、条件付きセクションを開始します。前のセクションは、\if、\ifnot、または\elseifコマンドで開始されている必要があります。
前のセクションが有効でなかった場合、条件付きドキュメントセクションを開始します。条件付きセクションはデフォルトで無効になっています。有効にするには、設定ファイルのENABLED_SECTIONSタグの後にセクションラベルを配置する必要があります。セクションラベルは、セクション名、丸括弧、&& (AND)、|| (OR)、および ! (NOT) で構築された論理式にすることができます。条件付きブロックはネストできます。ネストされたセクションは、すべての囲むセクションも有効になっている場合にのみ有効になります。
\condで開始された条件付きセクションを終了します。
\ifまたは\ifnotで開始された条件付きセクションを終了します。\ifまたは\ifnotごとに、ただ1つの対応する\endifが続く必要があります。
名前が<exception-object>の例外オブジェクトの例外説明を開始し、その後に例外の説明が続きます。例外オブジェクトの存在はチェックされません。段落のテキストに特別な内部構造はありません。すべての視覚的強調コマンドは段落内で使用できます。複数の連続した\exception
コマンドは1つの段落に結合されます。各例外の説明は新しい行から開始されます。\exception
の説明は、空白行または他のセクションコマンドが見つかると終了します。例については、セクション\fnを参照してください。
条件付きドキュメントセクションを開始します。このセクションは、対応する\endifコマンドで終了します。条件付きセクションはデフォルトで無効になっています。有効にするには、設定ファイルのENABLED_SECTIONSタグの後にセクションラベルを配置する必要があります。
セクションラベルは、セクション名、丸括弧、&& (AND)、|| (OR)、および ! (NOT) で構築された論理式にすることができます。式を使用する場合は、丸括弧で囲む必要があります。例:\if (!LABEL1 && LABEL2)。
条件付きブロックはネストできます。ネストされたセクションは、すべての囲むセクションも有効になっている場合にのみ有効になります。
\if
と対応する\endifは、同じコメントブロック内にある必要があります。条件付きブロックが複数のコメントブロックにまたがる必要がある場合は、\cond ... \endcondを使用する必要があります。
/*! Unconditionally shown documentation. * \if Cond1 * Only included if Cond1 is set. * \endif * \if Cond2 * Only included if Cond2 is set. * \if Cond3 * Only included if Cond2 and Cond3 are set. * \endif * More text. * \endif * Unconditional text. */
エイリアス内でも条件付きコマンドを使用できます。例えば、クラスを2つの言語でドキュメント化するには、次のように使用できます。
/*! \english * This is English. * \endenglish * \dutch * Dit is Nederlands. * \enddutch */ class Example { };
設定ファイルで以下のエイリアスが定義されています
ALIASES = "english=\if english" \ "endenglish=\endif" \ "dutch=\if dutch" \ "enddutch=\endif"
そして、ENABLED_SECTIONSを使用して、english
またはdutch
のいずれかを有効にすることができます。
条件付きドキュメントセクションを開始します。このセクションは、対応する\endifコマンドで終了します。この条件付きセクションはデフォルトで有効になっています。無効にするには、設定ファイルのENABLED_SECTIONSタグの後にセクションラベルを配置する必要があります。セクションラベルは、セクション名、丸括弧、&& (AND)、|| (OR)、および ! (NOT) で構築された論理式にすることができます。
重要なメッセージを入力できる段落を開始します。この段落はインデントされます。段落のテキストに特別な内部構造はありません。すべての視覚的強調コマンドは段落内で使用できます。複数の連続した\important
コマンドは1つの段落に結合されます。\important
コマンドは、空白行または他のセクションコマンドが見つかると終了します。
エンティティの不変条件を記述できる段落を開始します。この段落はインデントされます。段落のテキストに特別な内部構造はありません。すべての視覚的強調コマンドは段落内で使用できます。複数の連続した\invariant
コマンドは1つの段落に結合されます。各不変条件の説明は新しい行から開始されます。あるいは、1つの\invariant
コマンドで複数の不変条件を記述することもできます。\invariant
コマンドは、空白行または他のセクションコマンドが見つかると終了します。
注釈を入力できる段落を開始します。この段落はインデントされます。段落のテキストに特別な内部構造はありません。すべての視覚的強調コマンドは段落内で使用できます。複数の連続した\note
コマンドは1つの段落に結合されます。各注釈の記述は新しい行から開始されます。あるいは、1つの\note
コマンドで複数の注釈を記述することもできます。\note
コマンドは、空白行または他のセクションコマンドが見つかると終了します。例については、セクション\parを参照してください。
段落タイトルが指定されている場合、このコマンドはユーザー定義の見出しを持つ段落を開始します。見出しは行末まで続きます。コマンドに続く段落はインデントされます。
段落タイトルが指定されていない場合、このコマンドは新しい段落を開始します。これは、他の段落コマンド(\paramや\warningなど)内でも、そのコマンドを終了することなく機能します。
段落のテキストに特別な内部構造はありません。すべての視覚的強調コマンドは段落内で使用できます。\par
コマンドは、空白行または他のセクションコマンドが見つかると終了します。
名前が<parameter-name>の関数パラメータのパラメータ説明を開始し、その後にパラメータの説明が続きます。パラメータの存在がチェックされ、この(または他の)パラメータのドキュメントが欠落しているか、関数宣言または定義に存在しない場合は警告が表示されます。
\param
コマンドには、パラメータの方向を指定するオプションの属性<dir>があります。可能な値は「[in]」、「[out]」、「[in,out]」です。この記述の角括弧に注意してください。双方向の値の場合、「in」と「out」の方向は任意の順序で指定でき、まとめて記述するか、コンマ(,)またはスペースで区切ることができます。つまり、例えば「[outin]」や「[in out]」も有効な値です。コマンドと<dir>の間に空白を置くことも可能であることに注意してください。パラメータが入力と出力の両方である場合、「[in,out]」が属性として使用されます。関数memcpy
の例を以下に示します。
パラメータの説明は、特別な内部構造を持たない段落です。すべての視覚的強調コマンドは段落内で使用できます。
複数の連続した\param
コマンドは1つの段落に結合されます。各パラメータの説明は新しい行から開始されます。\param
の説明は、空白行または他のセクションコマンドが見つかると終了します。例については、セクション\fnを参照してください。
単一の\param
コマンドでカンマ区切りのリストを使用して複数のパラメータをドキュメント化することもできることに注意してください。例を以下に示します。
PHPの場合、パラメータに許容される型(パイプ記号で区切る場合は複数の型)を指定することもできることに注意してください(これは定義の一部ではないため)。構文はphpDocumentorと同じです。すなわち
@param datatype1|datatype2 $paramname description
単一の段落を引数として期待するコマンド(\par、\param、\warningなど)の場合、\parblockコマンドを使用すると、複数の段落にわたる説明を開始でき、それは\endparblockで終了します。
例
/** Example of a param command with a description consisting of two paragraphs * \param p * \parblock * First paragraph of the param description. * * Second paragraph of the param description. * \endparblock * Rest of the comment block continues. */
\parblock
コマンドは、\paramの最初の引数の直後に現れることもできることに注意してください。
これは、\parblockで開始された段落のブロックを終了します。
名前が<template-parameter-name>のクラスまたは関数テンプレートパラメータのテンプレートパラメータを開始し、その後にテンプレートパラメータの説明が続きます。
その他は\paramに類似しています。
エンティティの事後条件を記述できる段落を開始します。この段落はインデントされます。段落のテキストに特別な内部構造はありません。すべての視覚的強調コマンドは段落内で使用できます。複数の連続した\post
コマンドは1つの段落に結合されます。各事後条件は新しい行から開始されます。あるいは、1つの\post
コマンドで複数の事後条件を記述することもできます。\post
コマンドは、空白行または他のセクションコマンドが見つかると終了します。
エンティティの事前条件を記述できる段落を開始します。この段落はインデントされます。段落のテキストに特別な内部構造はありません。すべての視覚的強調コマンドは段落内で使用できます。複数の連続した\pre
コマンドは1つの段落に結合されます。各事前条件は新しい行から開始されます。あるいは、1つの\pre
コマンドで複数の事前条件を記述することもできます。\pre
コマンドは、空白行または他のセクションコマンドが見つかると終了します。
1つ以上の備考を入力できる段落を開始します。この段落はインデントされます。段落のテキストに特別な内部構造はありません。すべての視覚的強調コマンドは段落内で使用できます。複数の連続した\remark
コマンドは1つの段落に結合されます。各備考は新しい行から開始されます。あるいは、1つの\remark
コマンドで複数の備考を記述することもできます。\remark
コマンドは、空白行または他のセクションコマンドが見つかると終了します。
\remarkと同じです。
\returnと同じです。
関数の戻り値の説明を開始します。段落のテキストに特別な内部構造はありません。すべての視覚的強調コマンドは段落内で使用できます。複数の連続した\return
コマンドは1つの段落に結合されます。\return
の説明は、空白行または他のセクションコマンドが見つかると終了します。例については、セクション\fnを参照してください。
\returnと同じです。
名前が<return value>の関数の戻り値の説明を開始し、その後に戻り値の説明が続きます。説明を構成する段落のテキストに特別な内部構造はありません。すべての視覚的強調コマンドは段落内で使用できます。複数の連続した\retval
コマンドは1つの段落に結合されます。各戻り値の説明は新しい行から開始されます。\retval
の説明は、空白行または他のセクションコマンドが見つかると終了します。
クラス、関数、メソッド、変数、ファイル、またはURLへの1つ以上の相互参照を指定できる段落を開始します。::
または#
で結合された2つの名前は、クラスとそのメンバーのいずれかを指すものと理解されます。メソッド名の後に引数型の括弧付きリストを含めることで、複数のオーバーロードされたメソッドまたはコンストラクタのいずれかを選択できます。
\seeの同意語です。
\saと同じです。Javadocとの互換性のために導入されました。
\briefと同じです。
このコマンドは、エンティティがいつから(バージョンまたは時刻)利用可能であるかを指定するために使用できます。\since
に続く段落には、特別な内部構造はありません。すべての視覚的強調コマンドは段落内で使用できます。\since
の説明は、空白行または他のセクションコマンドが見つかると終了します。
1つ以上のテストケースを記述できる段落を開始します。この段落はインデントされます。段落のテキストに特別な内部構造はありません。すべての視覚的強調コマンドは段落内で使用できます。複数の連続した\test
コマンドは1つの段落に結合されます。各テストケースの説明は新しい行から開始されます。あるいは、1つの\test
コマンドで複数のテストケースを記述することもできます。\test
コマンドは、空白行または他のセクションコマンドが見つかると終了します。
この説明は、別途テストリストにも項目を追加し、その2つの説明は相互参照されます。テストリストの各項目には、その項目の出典を示すヘッダーが前に付加されます。
テストリストとそれに対応するエントリは、GENERATE_TESTLISTをNOに設定することで無効にできます。
\exceptionの同意語です。
\throwと同じです。
1つ以上のTODO項目が記述される段落を開始します。この段落はインデントされます。段落のテキストに特別な内部構造はありません。すべての視覚的強調コマンドは段落内で使用できます。複数の連続した\todo
コマンドは1つの段落に結合されます。各TODOの説明は新しい行から開始されます。あるいは、1つの\todo
コマンドで複数のTODO説明を記述することもできます。\todo
コマンドは、空白行または他のセクションコマンドが見つかると終了します。
この説明は、別途Todoリストにも項目を追加し、その2つの説明は相互参照されます。Todoリストの各項目には、その項目の出典を示すヘッダーが前に付加されます。
Todoリストとそれに対応するエントリは、GENERATE_TODOLISTをNOに設定することで無効にできます。
1つ以上のバージョン文字列を入力できる段落を開始します。この段落はインデントされます。段落のテキストに特別な内部構造はありません。すべての視覚的強調コマンドは段落内で使用できます。複数の連続した\version
コマンドは1つの段落に結合されます。各バージョン記述は新しい行から開始されます。あるいは、1つの\version
コマンドで複数のバージョン文字列を記述することもできます。\version
コマンドは、空白行または他のセクションコマンドが見つかると終了します。例については、セクション\authorを参照してください。
1つ以上の警告メッセージを入力できる段落を開始します。この段落はインデントされます。段落のテキストに特別な内部構造はありません。すべての視覚的強調コマンドは段落内で使用できます。複数の連続した\warning
コマンドは1つの段落に結合されます。各警告記述は新しい行から開始されます。あるいは、1つの\warning
コマンドで複数の警告を記述することもできます。\warning
コマンドは、空白行または他のセクションコマンドが見つかると終了します。例については、セクション\authorを参照してください。
このコマンドは、\todoや\bugなどのコマンドの一般化です。これは、発生箇所と生成される関連ページとの間で自動的に相互参照されるユーザー定義のテキストセクションを作成するために使用できます。関連ページでは、同じタイプのすべてのセクションが収集されます。
最初の引数<key>は、セクションのタイプを一意に表す識別子です。2番目の引数は、4番目の引数として渡されたテキストが置かれるセクションの見出しを表す引用符で囲まれた文字列です。3番目の引数(リストタイトル)は、同じキーを持つすべての項目を含む関連ページのタイトルとして使用されます。2番目と3番目の文字列引数には改行を含めることはできません。キー"todo"
、"test"
、"bug"
、および"deprecated"
は事前に定義されています。
\xrefitem
コマンドの使用方法とその効果を理解するには、todoリストを検討してください。これは(英語出力の場合)、コマンドのエイリアスと見なすことができます。
\xrefitem todo "Todo" "Todo List"
各セクションでコマンドの最初の3つのパラメータを繰り返すのは非常に手間がかかり、エラーが発生しやすいため、このコマンドは設定ファイルのALIASESオプションと組み合わせて使用することを意図しています。例えば、新しいコマンド\reminder
を定義するには、設定ファイルに以下の行を追加する必要があります。
ALIASES += "reminder=\xrefitem reminders \"Reminder\" \"Reminders\""
\xrefitem
コマンドの2番目と3番目の引数にエスケープされた引用符が使用されていることに注意してください。
パラメータ「(heading)」が空文字列の場合、見出しは生成されません。これは、例えば\pageコマンドと組み合わせて使用する場合に役立ちます。
/** @page my_errors My Errors * @brief Errors page * * Errors page contents. */ /** \error ERROR 101: in case a file can not be opened. Check about file system read/write access. */ #define MY_ERR_CANNOT_OPEN_FILE 101 /** \error ERROR 102: in case a file can not be closed. Check about file system read/write access. */ #define MY_ERR_CANNOT_CLOSE_FILE 102
\error
を次のように定義した場合
ALIASES += "error=\xrefitem my_errors \"\" \"\""
このコマンドは、(テキスト)を、DocBook、RTFのインデックスに追加します。
このコマンドは、ドキュメント内に不可視の、名前付きアンカーを配置します。これには\refコマンドで参照できます。
テキスト内および参考文献リストに参考文献を追加します。<label> は、CITE_BIB_FILES にリストされている .bib ファイルのいずれかで見つけることができる有効な BibTeX ラベルである必要があります。 出力の場合、テキスト内の参照の書式設定は LATEX_BIB_STYLE で構成できます。その他の出力形式では、固定の表現が使用されます。このコマンドを使用するには、検索パスに
bibtex
ツールが存在する必要があることに注意してください。
いくつかのオプションが可能です。
このコマンドは、\link コマンドで開始されたリンクを終了します。
Doxygenによって自動生成されるリンクは、常に参照先のオブジェクト名をリンクテキストとして持ちます。
\link
コマンドは、ユーザーが指定したリンクテキストでオブジェクト(ファイル、クラス、またはメンバー)へのリンクを作成するために使用できます。リンクコマンドは \endlink コマンドで終了する必要があります。\link
と \endlink コマンドの間のすべてのテキストは、\link
の最初の引数として指定された <link-object> へのリンクのテキストとして機能します。
名前付きシンボル、ファイル、セクション、サブセクション、ページ、またはアンカーへの参照を作成します。
HTMLドキュメントの場合、参照コマンドはセクションへのリンクを生成します。セクションまたはサブセクションの場合、セクションのタイトルがリンクのテキストとして使用されます。アンカーの場合、オプションの引用符で囲まれたテキストが使用されるか、テキストが指定されていない場合は <name> が使用されます。
<name> にスペースが含まれる場合(例えば、スペースを含むファイル名を参照する場合)は、<name> を二重引用符で囲む必要があります(例: "my file.md")。
ドキュメントの場合、PDF_HYPERLINKS オプションが NO に設定されていない限り、参照コマンドは同じになります。この場合、セクションのセクションタイトル、または <name> がアンカーを参照する場合はそれに続くページ番号のテキストが生成されます。
\ref
コマンドの例については、セクション \page を参照してください。\ref コマンドと同様に、このコマンドは名前付きセクションへの参照を作成しますが、この参照は \secreflist で開始され \endsecreflist で終了するリストに表示されます。そのようなリストの例は、ページの上部で見ることができます。
名前付きセクションへのリンクを持つ、\refitem で作成された項目のインデックスリストを開始します。
\secreflist で開始されたインデックスリストを終了します。
このコマンドは、ページの階層を作成するために使用できます。\defgroup および \ingroup コマンドを使用しても同じ構造を作成できますが、ページの場合、\subpage
コマンドの方が便利な場合が多くあります。メインページ(\mainpage を参照)は、通常、階層のルートになります。
このコマンドは、オプションのリンクテキストが2番目の引数で指定された <name> というラベルのページへの参照を作成するという点で、\ref と同様に動作します。
\ref コマンドとは異なり、ページにのみ機能し、ページ間に親子関係を作成します。ここで、子ページ(またはサブページ)はラベル <name> で識別されます。
複数のページを作成せずに構造を追加したい場合は、\section および \subsection コマンドを参照してください。
例を挙げます
/*! \mainpage A simple manual Some general info. This manual is divided in the following sections: - \subpage intro - \subpage advanced "Advanced usage" */ //----------------------------------------------------------- /*! \page intro Introduction This page introduces the user to the topic. Now you can proceed to the \ref advanced "advanced section". */ //----------------------------------------------------------- /*! \page advanced Advanced Usage This page is for advanced users. Make sure you have first read \ref intro "the introduction". */
ページの先頭に目次を作成し、ページ内のすべてのセクションとサブセクションをリストします。option は HTML、LaTeX、XML、または DocBook のいずれかです。level が指定されている場合、これは表示される最大ネストレベルを意味します。level の値は 1..6 の範囲である必要があり、この範囲外の値は 6 とみなされます。level が指定されていない場合、level は 6 に設定されます(すべて表示)。option が指定されていない場合、\tableofcontents
は、option HTML と XML のみが指定されたかのように動作します。1ページに複数の \tableofcontents
コマンドがある場合、option(s) はすでに指定されている option(s) に追加して使用されますが、option の最後の level のみが有効です。
<section-name> という名前のセクションを作成します。セクションのタイトルは、\section
コマンドの2番目の引数として指定する必要があります。
\section
コマンドの例については、セクション \page を参照してください。 <subsection-name> という名前のサブセクションを作成します。サブセクションのタイトルは、\subsection
コマンドの2番目の引数として指定する必要があります。
\subsection
コマンドの例については、セクション \page を参照してください。 <subsubsection-name> という名前のサブサブセクションを作成します。サブサブセクションのタイトルは、\subsubsection
コマンドの2番目の引数として指定する必要があります。
<paragraph-name> という名前の名前付き段落を作成します。段落のタイトルは、\paragraph
コマンドの2番目の引数として指定する必要があります。
<subparagraph-name> という名前の名前付き副段落を作成します。副段落のタイトルは、\subparagraph
コマンドの2番目の引数として指定する必要があります。
<subsubparagraph-name> という名前の名前付き副副段落を作成します。副副段落のタイトルは、\subsubparagraph
コマンドの2番目の引数として指定する必要があります。
このコマンドは、ソースファイルをドキュメントに逐語的に含めることなく(\include コマンドのように)解析するために使用できます。これは、ソースファイルを小さな部分に分割し、その間にドキュメントを追加したい場合に便利です。ソースファイルまたはディレクトリは、Doxygenの設定ファイルの EXAMPLE_PATH タグを使用して指定できます。
必要に応じて、オプション lineno を追加して、インクルードされたコードの行番号を有効にすることができます。
オプション strip を追加すると、STRIP_CODE_COMMENTS の設定を上書きして、インクルードされたコードから特殊なコメントを常に非表示にできます。または、オプション nostrip を追加すると、特殊なコメントを常に表示できます。
コードフラグメント内のクラスおよびメンバーの宣言と定義は、\dontinclude
コマンドを含むコメントブロックの解析中に「記憶」されます。
ソースファイルの行ごとの説明には、\line、\skip、\skipline、および \until コマンドを使用して、例の1行または複数行を表示できます。これらのコマンドには内部ポインタが使用されます。\dontinclude
コマンドは、ポインタを例の最初の行に設定します。
include_test.cpp
は次のようになります。このコマンドは、ソースファイルをコードブロックとしてインクルードするために使用できます。このコマンドは、インクルードファイルの名前を引数として取ります。ソースファイルまたはディレクトリは、Doxygenの設定ファイルの EXAMPLE_PATH タグを使用して指定できます。
<file-name> 自体が EXAMPLE_PATH タグで指定された例のファイルのセットに対して一意でない場合、絶対パスの一部を含めて曖昧さを解消できます。
\include
コマンドを使用することは、ファイルをドキュメントブロックに挿入し、\code および \endcode コマンドで囲むことと同じです。
\include
コマンドの主な目的は、複数のソースファイルとヘッダーファイルで構成される例ブロックの場合にコードの重複を避けることです。
ソースファイルの行ごとの説明には、\dontinclude コマンドを \line、\skip、\skipline、および \until コマンドと組み合わせて使用します。
あるいは、ソースファイルの一部のみを含めるには \snippet コマンドを使用できます。これには、その部分がマークされている必要があります。
The option は lineno または doc のいずれかであり、さらに local を指定することもできます。
オプション doc を使用する場合、参照されたファイル内で見つかったすべてのセクションを特定の量だけ「レベルアップ」させるために指定できるオプション raise もあります。例:
\include{doc,raise=1} file.dox
file.dox 内で見つかったレベル 1 の \section
をレベル 2 の \subsection
として、レベル 2 の \subsection
をレベル 3 の \subsubsection
として扱う、などです。同様に、Markdown の場合、#
セクションは ##
セクションとして扱われます。
さらに、インクルードされたセクションの各ラベルにプレフィックスを追加して、それらを一意に保つために使用できるオプション prefix があります。例:
\include{doc,prefix=fn_} file.dox
file.dox 内で見つかった \section s1 を、まるで \section fn_s1 と指定されたかのように扱います。
このコマンドは廃止されており、後方互換性のためにまだサポートされています。\include{lineno} と同じように機能します。
このコマンドは廃止されており、後方互換性のためにまだサポートされています。\include{doc} と同じように機能します。
option は、オプション doc を使用する際に \include で使用できる option と同じです。
このコマンドは、最後に \include または \dontinclude を使用してインクルードされた例を、空白でない行が見つかるまで行ごとに検索します。その行に指定されたパターンが含まれている場合、それが出力に書き込まれます。
例の現在の行を追跡するために使用される内部ポインタは、見つかった空白でない行の次の行の先頭(または、そのような行が見つからなかった場合は例の末尾)に設定されます。
例については、セクション \dontinclude を参照してください。
このコマンドは、最後に \include または \dontinclude を使用してインクルードされた例を、指定されたパターンを含む行が見つかるまで行ごとに検索します。
例の現在の行を追跡するために使用される内部ポインタは、指定されたパターンを含む行の先頭(または、パターンが見つからなかった場合は例の末尾)に設定されます。
例については、セクション \dontinclude を参照してください。
このコマンドは、最後に \include または \dontinclude を使用してインクルードされた例を、指定されたパターンを含む行が見つかるまで行ごとに検索します。その後、その行を出力に書き込みます。
例の現在の行を追跡するために使用される内部ポインタは、書き込まれた行の次の行の先頭(または、パターンが見つからなかった場合は例の末尾)に設定されます。
\skipline patternは以下と同等です。
\skip pattern \line pattern
例については、セクション \dontinclude を参照してください。
\include コマンドがソースコードとしてファイル全体をインクルードするために使用できるのに対し、このコマンドはソースファイルの一部のみを引用するために使用できます。<file-name> として this が使用された場合、現在のファイルがスニペットの取得元ファイルとして扱われます。
例えば、ドキュメントに次のコマンドを置くと、EXAMPLE_PATH で指定されたサブディレクトリにあるファイル example.cpp
内のスニペットを参照します。
\snippet snippets/example.cpp Adding a resource
ファイル名の後に続くテキストは、スニペットの一意の識別子です。これは、上記の \snippet
コマンドに対応する次の例に示すように、関連するスニペットファイル内で引用されたコードを区切るために使用されます。
ブロックマーカーを含む行は含まれないため、出力は次のようになることに注意してください。
また、[block_id] マーカーはソースファイルに正確に2回出現する必要があることにも注意してください。
option は lineno、trimleft、または doc のいずれかであり、さらに local を指定することもできます。
オプション doc を使用する場合、参照されたファイル内で見つかったすべてのセクションを特定の量だけ「レベルアップ」させるために指定できるオプション raise もあります。例:
\snippet{doc,raise=1} file.dox XXX
スニペット内で見つかったレベル 1 の \section
をレベル 2 の \subsection
として、レベル 2 の \subsection
をレベル 3 の \subsubsection
として扱う、などです。同様に、Markdown の場合、#
セクションは ##
セクションとして扱われます。
さらに、インクルードされたセクションの各ラベルにプレフィックスを追加して、それらを一意に保つために使用できるオプション prefix があります。例:
\include{doc,prefix=fn_} file.dox
file.dox 内で見つかった \section s1 を、まるで \section fn_s1 と指定されたかのように扱います。
マーカーを必要としないソースファイルの一部を含める代替方法については、セクション \dontinclude を参照してください。
このコマンドは廃止されており、後方互換性のためにまだサポートされています。\snippet{lineno} と同じように機能します。
このコマンドは廃止されており、後方互換性のためにまだサポートされています。\snippet{doc} と同じように機能します。
option は、オプション doc を使用する際に \snippet で使用できる option と同じです。
このコマンドは、最後に \include または \dontinclude を使用してインクルードされた例のすべての行を、指定されたパターンを含む行が見つかるまで出力に書き込みます。パターンを含む行も書き込まれます。
例の現在の行を追跡するために使用される内部ポインタは、最後に書き込まれた行の次の行の先頭(または、パターンが見つからなかった場合は例の末尾)に設定されます。
例については、セクション \dontinclude を参照してください。
このコマンドは、ファイル <file-name> の内容をドキュメントに逐語的に含めます。このコマンドは、ファイルの内容をドキュメントに貼り付け、それを \verbatim および \endverbatim コマンドで囲むことと同じです。
Doxygenが検索すべきファイルまたはディレクトリは、Doxygenの設定ファイルの EXAMPLE_PATH タグを使用して指定できます。
このコマンドは、ファイル <file-name> の内容をHTMLドキュメントにそのまま含め、生成されるXML出力では <htmlonly> でタグ付けします。このコマンドは、ファイルの内容をドキュメントに貼り付け、それを \htmlonly および \endhtmlonly コマンドで囲むことと同じです。
通常、\htmlinclude で示されたファイルの内容はそのまま挿入されます。テーブルやリストのようにブロック範囲を持つHTMLフラグメントを <p>..</p> の外に表示したい場合、これは無効なHTMLを引き起こす可能性があります。\htmlinclude[block] を使用すると、Doxygenに現在の段落を終了させ、ファイルがインクルードされた後に再開させることができます。
Doxygenが検索すべきファイルまたはディレクトリは、Doxygenの設定ファイルの EXAMPLE_PATH タグを使用して指定できます。
このコマンドは、ファイル <file-name> の内容を ドキュメントにそのまま含め、生成されるXML出力では <latexonly> でタグ付けします。このコマンドは、ファイルの内容をドキュメントに貼り付け、それを \latexonly および \endlatexonly コマンドで囲むことと同じです。
Doxygenが検索すべきファイルまたはディレクトリは、Doxygenの設定ファイルの EXAMPLE_PATH タグを使用して指定できます。
このコマンドは、ファイル <file-name> の内容をRTFドキュメントにそのまま含め、生成されるXML出力では <rtfonly> でタグ付けします。このコマンドは、ファイルの内容をドキュメントに貼り付け、それを \rtfonly および \endrtfonly コマンドで囲むことと同じです。
Doxygenが検索すべきファイルまたはディレクトリは、Doxygenの設定ファイルの EXAMPLE_PATH タグを使用して指定できます。
このコマンドは、ファイル <file-name> の内容をMANドキュメントにそのまま含め、生成されるXML出力では <manonly> でタグ付けします。このコマンドは、ファイルの内容をドキュメントに貼り付け、それを \manonly および \endmanonly コマンドで囲むことと同じです。
Doxygenが検索すべきファイルまたはディレクトリは、Doxygenの設定ファイルの EXAMPLE_PATH タグを使用して指定できます。
このコマンドは、ファイル <file-name> の内容をDocBookドキュメントにそのまま含め、生成されるXML出力では <docbookonly> でタグ付けします。このコマンドは、ファイルの内容をドキュメントに貼り付け、それを \docbookonly および \enddocbookonly コマンドで囲むことと同じです。
Doxygenが検索すべきファイルまたはディレクトリは、Doxygenの設定ファイルの EXAMPLE_PATH タグを使用して指定できます。
このコマンドは、ファイル <file-name> の内容をXMLドキュメントにそのまま含めます。このコマンドは、ファイルの内容をドキュメントに貼り付け、それを \xmlonly および \endxmlonly コマンドで囲むことと同じです。
Doxygenが検索すべきファイルまたはディレクトリは、Doxygenの設定ファイルの EXAMPLE_PATH タグを使用して指定できます。
引数 <word> をイタリック体で表示します。単語を強調するためにこのコマンドを使用します。本文中でメンバー引数を参照するためにこのコマンドを使用します。
... the \a x and \a y coordinates are used to ...これは次のテキストになります。
\e および \em と同等です。複数の単語を強調するには <em>multiple words</em> を使用します。
このコマンドは、最初の空白行または別の \arg
が現れるまで続く1つの引数を受け取ります。このコマンドは、ネストされていない単純な引数リストを生成するために使用できます。各引数は \arg
コマンドで開始する必要があります。
\arg \c AlignLeft left alignment. \arg \c AlignCenter center alignment. \arg \c AlignRight right alignment No other types of alignment are supported.次のテキストになります。
AlignLeft
左揃え。AlignCenter
中央揃え。AlignRight
右揃え。\li と同等です。
引数 <word> を太字フォントで表示します。<b>word</b> と同等です。複数の単語を太字にするには <b>multiple words</b> を使用します。
引数 <word> をタイプライターフォントで表示します。コードの単語を参照するためにこれを使用します。<tt>word</tt> と同等です。
... This function returns \c void and not \c int ...次のテキストになります。
void
and not int
...\p と同等です。タイプライターフォントで複数の単語を表示するには <tt>multiple words</tt> を使用します。
コードブロックを開始します。コードブロックは通常のテキストとは異なる扱いを受けます。ソースコードとして解釈されます。クラス名、メンバー名、その他の文書化されたエンティティは、自動的にドキュメントへのリンクに置き換えられます。
デフォルトでは、構文強調表示に適用される言語は、\code
ブロックが見つかった場所に基づきます。例えば、Pythonファイルの一部である場合、Python構文に従って構文強調表示が行われます。
文脈からどの言語が意図されているかが不明な場合(例えば、コメントが .txt
または .markdown
ファイルにある場合)、コードブロックの後にDoxygenがその言語に関連付けられている典型的なファイル拡張子を中括弧で囲むことにより、言語を明示的に指定することもできます。例を挙げます:
\code{.py} class Python: pass \endcode \code{.cpp} class Cpp {}; \endcode
コードブロックの内容がDoxygenが解析できない言語である場合、Doxygenは出力をそのまま表示します。これを明示的にするには、.unparsed を使用するか、Doxygenがサポートしない他の拡張子(例:)を付けることができます。
\code{.unparsed} Show this as-is please \endcode \code{.sh} echo "This is a shell script" \endcode
<link-object> で指定されたオブジェクトからドキュメントブロックをコピーし、コマンドの位置に貼り付けます。このコマンドは、ドキュメントブロックが重複してしまうのを避けるのに役立ちます。また、継承されたメンバーのドキュメントを拡張するためにも使用できます。
リンクオブジェクトは、メンバー(クラス、ファイル、またはグループの)、クラス、名前空間、グループ、ページ、またはファイル(この順序でチェックされます)を指すことができます。指されているオブジェクトがメンバー(関数、変数、typedefなど)である場合、コピーが機能するためには、それを含む複合体(クラス、ファイル、またはグループ)も文書化されている必要があることに注意してください。
例えば、クラスのメンバーのドキュメントをコピーするには、ドキュメントに次のように記述できます。
/*! @copydoc MyClass::myfunction() * More documentation. */
メンバーがオーバーロードされている場合は、次のように引数型を明示的に(スペースなしで!)指定する必要があります。
//! @copydoc MyClass::myfunction(type1,type2)
修飾名は、ドキュメントブロックが見つかるコンテキストでそれらが必要な場合にのみ必要です。
\copydoc
コマンドは再帰的に使用できますが、\copydoc
関係におけるサイクルは中断され、エラーとしてフラグが立てられます。
\copydoc foo()
は、おおよそ次のようにすることと同等であることに注意してください。
\brief \copybrief foo() \details \copydetails foo()
コメントブロックの概要部分または詳細部分のみをコピーする場合は、\copybrief および \copydetails を参照してください。
\copydoc と同様に機能しますが、詳細なドキュメントではなく、簡単な説明のみをコピーします。
\copydoc と同様に機能しますが、簡単な説明ではなく、詳細なドキュメントのみをコピーします。
生成されるDocBookドキュメントにのみ逐語的に含まれ、生成されるXML出力では <docbookonly> でタグ付けされるテキストブロックを開始します。このブロックは \enddocbookonly コマンドで終了します。
dotグラフの有効な説明を含むべきテキストフラグメントを開始します。このテキストフラグメントは \enddot で終了します。Doxygenはテキストをdotに渡し、結果として得られる画像(およびイメージマップ)を出力に含めます。
最初の引数はオプションで、画像の下に表示されるキャプションを指定するために使用できます。この引数は、スペースが含まれていなくても引用符で囲んで指定する必要があります。引用符はキャプションが表示される前に削除されます。
2番目の引数もオプションで、画像の幅または高さを指定するために使用できます。可能性の説明については、\image コマンドの段落 Size indication を参照してください。
グラフのノードは、URL属性を使用することでクリック可能にできます。URL値内に \ref コマンドを使用することで、Doxygen内の項目に簡単にリンクできます。以下に例を示します。
YES
に設定されている必要があります。このコマンドは、指定された名前の絵文字文字を生成します。
サポートされている名前は、GitHubでもサポートされており、https://gist.github.com/rxaviers/7360908 にリストされているものです。
名前はコロンの有無にかかわらず使用できます。つまり、\emoji smile は \emoji :smile: と書くのと同じです。絵文字がサポートされていない場合、その名前はテキスト中にコロンで囲まれて表示されます。つまり、\emoji unsupported は出力で :unsupported: となります。Doxygenは警告メッセージも表示します。
詳細については、絵文字サポートページも参照してください。
メッセージシーケンスチャートの有効な説明を含むべきテキストフラグメントを開始します。例については、https://www.mcternan.me.uk/mscgen/ を参照してください。テキストフラグメントは \endmsc で終了します。
最初の引数はオプションで、画像の下に表示されるキャプションを指定するために使用できます。この引数は、スペースが含まれていなくても引用符で囲んで指定する必要があります。引用符はキャプションが表示される前に削除されます。
2番目の引数もオプションで、画像の幅または高さを指定するために使用できます。可能性の説明については、\image コマンドの段落 Size indication を参照してください。
msc {...}
ブロック内にあるメッセージシーケンスチャートの部分のみを含める必要があります(これは \mscfile とは異なります)。\msc
コマンドの使用例を以下に示します。
PlantUML図の有効な説明を含むべきテキストフラグメントを開始します。例については、https://plantuml.com/ を参照してください。このテキストフラグメントは \enduml で終了します。
すべての図がPlantUML @startuml コマンドで作成できるわけではなく、別のPlantUML @start... コマンドが必要です。これは @start<engine> のようになり、現在サポートされている <engine> は以下の通りです: uml, bpm, wire, dot, ditaa, salt, math, latex, gantt, mindmap, wbs, yaml, creole, json, flow, board, git, hcl, regex, ebnf, files, chen および chronology。デフォルトでは <engine> は uml です。<engine> はオプションとして指定できます。また、結果の画像を書き込むファイルもオプションで指定できます。詳細については、最初の(オプションの)引数の説明を参照してください。もちろん、指定できる <engine> は1つだけであり、ファイル名も1回しか指定できません。
最初の引数はオプションであり、Doxygenを実行する前にPlantUMLを前処理ステップとして実行する場合との互換性のためのものです。\startuml の後に画像ファイル名をオプションとして中括弧内に追加することもできます。すなわち、
@startuml{myimage.png} "Image Caption" width=5cm Alice -> Bob : Hello @enduml
画像の名前が指定されている場合、Doxygenはその名前で画像を生成します。名前が指定されていない場合、Doxygenは自動的に名前を選択します。
2番目の引数はオプションで、画像の下に表示されるキャプションを指定するために使用できます。この引数は、スペースが含まれていなくても引用符で囲んで指定する必要があります。引用符はキャプションが表示される前に削除されます。
3番目の引数もオプションで、画像の幅または高さを指定するために使用できます。可能性の説明については、\image コマンドの段落 Size indication を参照してください。
ALIASES += startjson=@startuml{json} ALIASES += endjson=@enduml
\startuml
コマンドの使用例を以下に示します。
dotによって <file> から生成された画像をドキュメントに挿入します。
最初の引数は画像のファイル名を指定します。Doxygenは、DOTFILE_DIRS タグの後に指定したパス(またはファイル)内でファイルを検索します。dotファイルが見つかった場合、それはdotツールの入力ファイルとして使用されます。結果の画像は正しい出力ディレクトリに配置されます。dotファイル名にスペースが含まれている場合は、二重引用符 ("...") で囲む必要があります。
2番目の引数はオプションで、画像の下に表示されるキャプションを指定するために使用できます。この引数は、スペースが含まれていなくても引用符で囲んで指定する必要があります。引用符はキャプションが表示される前に削除されます。
3番目の引数もオプションで、画像の幅または高さを指定するために使用できます。可能性の説明については、\image コマンドの段落 Size indication を参照してください。
YES
に設定されている必要があります。mscgenによって <file> から生成された画像をドキュメントに挿入します。例については、https://www.mcternan.me.uk/mscgen/ を参照してください。
最初の引数は画像のファイル名を指定します。Doxygenは、MSCFILE_DIRS タグの後に指定したパス(またはファイル)内でファイルを検索します。mscファイルが見つかった場合、それは内蔵のmscgenツールの入力ファイルとして使用されます。結果の画像は正しい出力ディレクトリに配置されます。mscファイル名にスペースが含まれている場合は、二重引用符 ("...") で囲む必要があります。
2番目の引数はオプションで、画像の下に表示されるキャプションを指定するために使用できます。この引数は、スペースが含まれていなくても引用符で囲んで指定する必要があります。引用符はキャプションが表示される前に削除されます。
3番目の引数もオプションで、画像の幅または高さを指定するために使用できます。可能性の説明については、\image コマンドの段落 Size indication を参照してください。
diaで <file> から作成された画像をドキュメントに挿入します。
最初の引数は画像のファイル名を指定します。Doxygenは、DIAFILE_DIRS タグの後に指定したパス(またはファイル)内でファイルを検索します。diaファイルが見つかった場合、それはdiaの入力ファイルとして使用されます。結果の画像は正しい出力ディレクトリに配置されます。diaファイル名にスペースが含まれている場合は、二重引用符 ("...") で囲む必要があります。
2番目の引数はオプションで、画像の下に表示されるキャプションを指定するために使用できます。この引数は、スペースが含まれていなくても引用符で囲んで指定する必要があります。引用符はキャプションが表示される前に削除されます。
3番目の引数もオプションで、画像の幅または高さを指定するために使用できます。可能性の説明については、\image コマンドの段落 Size indication を参照してください。
このコマンドが処理される際に使用されているDoxygenの設定ファイルで使われている、設定オプション <config_option> の値を表示します。
... Project name = \doxyconfig PROJECT_NAME ...次のようになります。
引数 <word> をイタリック体で表示します。単語を強調するためにこのコマンドを使用します。
... this is a \e really good example ...次のテキストになります。
\a および \em と同等です。複数の単語を強調するには <em>multiple words</em> を使用します。
引数 <word> をイタリック体で表示します。単語を強調するためにこのコマンドを使用します。
... this is a \em really good example ...次のテキストになります。
\a および \e と同等です。複数の単語を強調するには <em>multiple words</em> を使用します。
\docbookonly コマンドで開始されたテキストブロックを終了します。
\dot で開始されたブロックを終了します。
\msc で開始されたブロックを終了します。
\startuml で開始されたブロックを終了します。
PlantUMLで <file> から作成された画像をドキュメントに挿入します。
最初の引数は画像のファイル名を指定します。Doxygenは、PLANTUMLFILE_DIRS タグの後に指定したパス(またはファイル)内でファイルを検索します。plantumlファイルが見つかった場合、それはplantumlプログラムの入力ファイルとして使用されます。結果の画像は正しい出力ディレクトリに配置されます。plantumlファイル名にスペースが含まれている場合は、二重引用符 ("...") で囲む必要があります。
2番目の引数はオプションで、画像の下に表示されるキャプションを指定するために使用できます。この引数は、スペースが含まれていなくても引用符で囲んで指定する必要があります。引用符はキャプションが表示される前に削除されます。
3番目の引数もオプションで、画像の幅または高さを指定するために使用できます。可能性の説明については、\image コマンドの段落 Size indication を参照してください。
\htmlonly コマンドで開始されたテキストブロックを終了します。
\latexonly コマンドで開始されたテキストブロックを終了します。
\manonly コマンドで開始されたテキストブロックを終了します。
\rtfonly コマンドで開始されたテキストブロックを終了します。
\verbatim コマンドで開始されたテキストブロックを終了します。
\xmlonly コマンドで開始されたテキストブロックを終了します。
インテキスト数式の開始と終了を示します。
インテキスト数式の開始を示しますが、\f$ とは異なり、 で数式モードを明示的に開くことはありません。
\f( で開始されたインテキスト数式の終了を示します。
別の行に中央揃えで表示される長い数式の開始を示します。
別の行に中央揃えで表示される長い数式の終了を示します。
特定の環境にある数式の開始を示します。
{
はオプションであり、開閉する中括弧の数を同じにすることで、エディタ(Vim
など)が適切な構文強調表示を行うのを助けるためだけに使用されます。特定の環境にある数式の終了を示します。
生成されるHTMLドキュメントにのみ逐語的に含まれ、生成されるXML出力では <htmlonly> でタグ付けされるテキストブロックを開始します。このブロックは \endhtmlonly コマンドで終了します。
このコマンドは、Doxygenには複雑すぎるHTMLコード(つまり、アプレット、JavaScript、特定の属性を必要とするHTMLタグ)を含めるために使用できます。
通常、\htmlonly と \endhtmlonly の間の内容はそのまま挿入されます。テーブルやリストのようにブロック範囲を持つHTMLフラグメントを <p>..</p> の外に表示したい場合、これは無効なHTMLを引き起こす可能性があります。\htmlonly[block] を使用すると、Doxygenに現在の段落を終了させ、\endhtmlonly の後に再開させることができます。
ドキュメントに画像を挿入します。このコマンドは形式固有なので、複数の形式に画像を挿入したい場合は、各形式に対してこのコマンドを繰り返す必要があります。
最初の引数は、画像を埋め込む出力形式を指定します。現在、以下の値がサポートされています: html
、latex
、docbook
、rtf
、および xml
。
2番目の引数は、画像のファイル名を指定します。Doxygenは、IMAGE_PATH タグの後に指定したパス(またはファイル)内でファイルを検索します。画像が見つかった場合、それは正しい出力ディレクトリにコピーされます。画像名にスペースが含まれている場合は、二重引用符 ("...") で名前を囲む必要があります。ファイル名の代わりに絶対URLを指定することもできますが、その場合、Doxygenは画像をコピーしたり、その存在を確認したりしません。
3番目の引数はオプションで、画像の下に表示されるキャプションを指定するために使用できます。この引数は、スペースが含まれていなくても単一行で引用符で囲んで指定する必要があります。引用符はキャプションが表示される前に削除されます。
4番目の引数もオプションで、画像の幅または高さを指定するために使用できます。これは または DocBook 出力(つまり、format=
latex
または format=docbook
)に役立ちます。
sizeindication
は、使用する幅または高さ(またはその組み合わせ)を指定できます。現在、オプション inline と anchor のみがサポートされています。オプション inline が指定されている場合、画像は「行内に」配置され、キャプションが存在する場合はHTMLでツールチップとして表示されます(他の形式では無視されます)。anchor オプションの場合、構文は anchor:<anchorId> です。
コメントブロックの例を以下に示します。
/*! Here is a snapshot of my new application: * \image html application.jpg * \image latex application.eps "My application" width=10cm */
そして、これが設定ファイルの関連部分がどのように見えるかの例です。
IMAGE_PATH = my_image_dir
生成される ドキュメントにのみ逐語的に含まれ、生成されるXML出力では <latexonly> でタグ付けされるテキストブロックを開始します。このブロックは \endlatexonly コマンドで終了します。
このコマンドは、Doxygenには複雑すぎる コード(つまり、画像、数式、特殊文字)を含めるために使用できます。適切なHTML代替を提供するには、\htmlonly と \endhtmlonly のペアを使用できます。
注: 環境変数($(HOME) など)は、 専用ブロック内で解決されます。
生成されるMANドキュメントにのみ逐語的に含まれ、生成されるXML出力では <manonly> でタグ付けされるテキストブロックを開始します。このブロックは \endmanonly コマンドで終了します。
このコマンドは、groff コードを MAN ページに直接含めるために使用できます。適切な HTML および の代替手段を提供するには、\htmlonly と \endhtmlonly、および \latexonly と \endlatexonly のペアを使用できます。
このコマンドは、最初の空白行または別の \li
が現れるまで続く1つの引数を受け取ります。このコマンドは、ネストされていない単純な引数リストを生成するために使用できます。各引数は \li
コマンドで開始する必要があります。
\li \c AlignLeft left alignment. \li \c AlignCenter center alignment. \li \c AlignRight right alignment No other types of alignment are supported.次のテキストになります。
AlignLeft
左揃え。AlignCenter
中央揃え。AlignRight
右揃え。\arg と同等です。
改行を強制します。<br> と同等であり、printf
関数から着想を得ています。
パラメーター <word> をタイプライターフォントで表示します。このコマンドは、本文中でメンバー関数のパラメーターを参照するために使用できます。
... the \p x and \p y coordinates are used to ...これは次のテキストになります。
x
座標と y
座標は ... に使用されます。\c と同等です。複数の単語をタイプライターフォントにするには、<tt>複数の単語</tt> を使用します。
生成されるRTFドキュメントにのみ逐語的に含まれ、生成されるXML出力では <rtfonly> とタグ付けされるテキストブロックを開始します。このブロックは \endrtfonly コマンドで終了します。
このコマンドは、Doxygenにとって複雑すぎるRTFコードを含めるために使用できます。
注: 環境変数 (例: $(HOME)) は、RTF専用ブロック内で解決されます。
ドキュメントに逐語的に含まれるテキストブロックを開始します。このブロックは \endverbatim コマンドで終了する必要があります。逐語ブロック内では、すべてのコマンドが無効になります。
\verbatim
コマンドに対して \endverbatim コマンドを含めるようにしてください。そうしないと、パーサーが混乱します!生成されるXML出力にのみ逐語的に含まれるテキストブロックを開始します。このブロックは \endxmlonly コマンドで終了します。
このコマンドは、カスタムXMLタグを含めるために使用できます。
このコマンドは、出力にバックスラッシュ文字 (\
) を書き込みます。Doxygenがコマンドを検出するために使用するため、バックスラッシュは場合によってはエスケープする必要があります。
このコマンドは、出力にアットマーク (@
) を書き込みます。DoxygenがJavadocコマンドを検出するために使用するため、アットマークは場合によってはエスケープする必要があります。
このコマンドは、言語固有のフィルターを有効/無効にします。これは、異なる言語のドキュメントを1つのコメントブロックに入れ、OUTPUT_LANGUAGE タグを使用して特定の言語のみをフィルターで除外するために使用できます。\~language_id
を使用して特定の言語のみの出力を有効にし、\~
を使用してすべての言語の出力を有効にします (これはデフォルトモードでもあります)。
例
/*! \~english This is English \~dutch Dit is Nederlands \~german Dies ist Deutsch. \~ output for all languages. */
このコマンドは、出力に &
文字を書き込みます。この文字はHTMLで特別な意味を持つため、エスケープする必要があります。
このコマンドは、出力に $
文字を書き込みます。環境変数を展開するために使用されるため、この文字は場合によってはエスケープする必要があります。
このコマンドは、出力に #
文字を書き込みます。ドキュメント化されたエンティティを参照するために使用されるため、この文字は場合によってはエスケープする必要があります。
このコマンドは、出力に <
文字を書き込みます。この文字はHTMLで特別な意味を持つため、エスケープする必要があります。
このコマンドは、出力に >
文字を書き込みます。この文字はHTMLで特別な意味を持つため、エスケープする必要があります。
このコマンドは、出力に %
文字を書き込みます。ドキュメント化されたクラスまたは構造体でもある単語への自動リンクを防ぐために使用されるため、この文字は場合によってはエスケープする必要があります。
このコマンドは、出力に "
文字を書き込みます。整形されていないテキストフラグメントを示すためにペアで使用されるため、この文字は場合によってはエスケープする必要があります。
このコマンドは、出力にピリオド (.) を書き込みます。JAVADOC_AUTOBRIEF または QT_AUTOBRIEF が有効な場合に簡潔な説明の終了を防ぐ、または行頭の数値の後にピリオドが続く場合に番号付きリストの開始を防ぐのに役立ちます。
このコマンドは、出力にはてなマーク (?) を書き込みます。JAVADOC_AUTOBRIEF または QT_AUTOBRIEF が有効な場合に簡潔な説明の終了を防ぐのに役立ちます。
このコマンドは、出力に感嘆符 (!) を書き込みます。JAVADOC_AUTOBRIEF または QT_AUTOBRIEF が有効な場合に簡潔な説明の終了を防ぐのに役立ちます。
このコマンドは、出力に等号 (=) を書き込みます。Markdownの見出し処理で使用されるため、この文字シーケンスは場合によってはエスケープする必要があります。
このコマンドは、出力にダブルコロン (::
) を書き込みます。ドキュメント化されたエンティティを参照するために使用されるため、この文字シーケンスは場合によってはエスケープする必要があります。
このコマンドは、出力にパイプ記号 (|) を書き込みます。Markdownのテーブルに使用されるため、この文字は場合によってはエスケープする必要があります。
このコマンドは、出力に2つのダッシュ (--) を書き込みます。これにより、1つのnダッシュ文字 (–) の代わりに、2つの連続するダッシュを出力に書き込むことができます。
このコマンドは、出力に3つのダッシュ (---) を書き込みます。これにより、1つのmダッシュ文字 (—) の代わりに、3つの連続するダッシュを出力に書き込むことができます。