特殊コマンド

はじめに

ドキュメント内のすべてのコマンドは、バックスラッシュ(\)またはアットマーク(@)で始まります。必要に応じて、以下のバックスラッシュで始まるすべてのコマンドを、アットマークで始まる対応するコマンドに置き換えることができます。

一部のコマンドには1つ以上の引数があります。各引数には特定の範囲があります。

  • <鋭角括弧>が使用されている場合、引数は単一の単語です。
  • (丸)括弧が使用されている場合、引数はコマンドが見つかった行の終わりまで続きます。
  • {波括弧}が使用されている場合、引数は次の段落まで続きます。段落は空白行またはセクションインジケータによって区切られます。{波括弧}はコマンドオプションにも使用され、この場合、括弧は必須の「通常の」文字です。開始の波括弧は、空白なしでコマンドの直後に続く必要があります。

上記の引数指定子に加えて[角括弧]が使用されている場合、引数はオプションですが、引用符で囲まれている場合は、コマンド引数の必須部分です。

以下は、すべてのコマンドをアルファベット順に並べたリストで、そのドキュメントへの参照も含まれています:

以下のサブセクションでは、Doxygenによって認識されるすべてのコマンドのリストを提供します。認識されないコマンドは通常のテキストとして扱われます。

--- 構造指示子 ---

\addtogroup <name> [(title)]

\defgroup と同様にグループを定義しますが、このコマンドとは対照的に、同じ <name> を複数回使用しても警告は発生せず、マージされたドキュメントと、任意のコマンドで最初に見つかったタイトルを持つ1つのグループが作成されます。

タイトルはオプションであるため、このコマンドは、次のように @{@} を使用して、既存のグループに多くのエンティティを追加するためにも使用できます。

  /*! \addtogroup mygrp
   *  Additional documentation for group 'mygrp'
   *  @{
   */

  /*!
   *  A function
   */
  void func1()
  {
  }

  /*! Another function */
  void func2()
  {
  }

  /*! @} */
関連項目
ページ Grouping、セクション \defgroup\ingroup、および \weakgroup

\callgraph

このコマンドが関数またはメソッドのコメントブロックに配置され、HAVE_DOTYES に設定されている場合、Doxygen はその関数の呼び出しグラフを生成します(ただし、関数またはメソッドの実装が他のドキュメント化された関数を呼び出す場合)。呼び出しグラフは、CALL_GRAPH の値に関係なく生成されます。

呼び出しグラフの完全性(および正確性)は、完璧ではないDoxygenコードパーサーに依存します。
関連項目
セクション \callergraph、セクション \hidecallgraph、セクション \hidecallergraph およびオプション CALL_GRAPH

\hidecallgraph

このコマンドが関数またはメソッドのコメントブロックに配置されている場合、Doxygen はその関数の呼び出しグラフを生成しません。呼び出しグラフは、CALL_GRAPH の値に関係なく生成されません。

呼び出しグラフの完全性(および正確性)は、完璧ではないDoxygenコードパーサーに依存します。
関連項目
セクション \callergraph、セクション \callgraph、セクション \hidecallergraph およびオプション CALL_GRAPH

\callergraph

このコマンドが関数またはメソッドのコメントブロックに配置され、HAVE_DOTYES に設定されている場合、Doxygen はその関数の呼び出し元グラフを生成します(ただし、関数またはメソッドの実装が他のドキュメント化された関数によって呼び出される場合)。呼び出し元グラフは、CALLER_GRAPH の値に関係なく生成されます。

呼び出し元グラフの完全性(および正確性)は、完璧ではないDoxygenコードパーサーに依存します。
関連項目
セクション \callgraph、セクション \hidecallgraph、セクション \hidecallergraph およびオプション CALLER_GRAPH

\hidecallergraph

このコマンドが関数またはメソッドのコメントブロックに配置されている場合、Doxygen はその関数の呼び出し元グラフを生成しません。呼び出し元グラフは、CALLER_GRAPH の値に関係なく生成されません。

呼び出し元グラフの完全性(および正確性)は、完璧ではないDoxygenコードパーサーに依存します。
関連項目
セクション \callergraph、セクション \callgraph、セクション \hidecallgraph およびオプション CALLER_GRAPH

\showrefby

このコマンドが関数、メソッド、または変数のコメントブロックに記述されている場合、Doxygen はその関数、メソッド、変数について、それを呼び出す/使用するドキュメント化された関数とメソッドの概要を生成します。この概要は、REFERENCED_BY_RELATION の値に関係なく生成されます。

概要の完全性(および正確性)は、完璧ではない Doxygen コードパーサーに依存します。
関連項目
セクション \showrefs、セクション \hiderefby、セクション \hiderefs およびオプション REFERENCED_BY_RELATION

\hiderefby

このコマンドが関数、メソッド、または変数のコメントブロックに記述されている場合、Doxygen はその関数、メソッド、または変数について、それを呼び出す/使用する関数とメソッドの概要を生成しません。この概要は、REFERENCED_BY_RELATION の値に関係なく生成されません。

概要の完全性(および正確性)は、完璧ではない Doxygen コードパーサーに依存します。
関連項目
セクション \showrefs、セクション \showrefby、セクション \hiderefs およびオプション REFERENCED_BY_RELATION

\showrefs

このコマンドが関数またはメソッドのコメントブロックに記述されている場合、Doxygen はその関数またはメソッドについて、それを呼び出す関数とメソッドの概要を生成します。この概要は、REFERENCES_RELATION の値に関係なく生成されます。

概要の完全性(および正確性)は、完璧ではない Doxygen コードパーサーに依存します。
関連項目
セクション \showrefby、セクション \hiderefby、セクション \hiderefs およびオプション REFERENCES_RELATION

\hiderefs

このコマンドが関数またはメソッドのコメントブロックに記述されている場合、Doxygen はその関数またはメソッドについて、それを呼び出す関数とメソッドの概要を生成しません。この概要は、REFERENCES_RELATION の値に関係なく生成されません。

概要の完全性(および正確性)は、完璧ではない Doxygen コードパーサーに依存します。
関連項目
セクション \showrefs、セクション \showrefby、セクション \hiderefby およびオプション REFERENCES_RELATION

\showinlinesource

このコマンドが関数、複数行マクロ、列挙型、またはリスト初期化変数のコメントブロックに記述されている場合、Doxygen はそのメンバーのインラインソースを生成します。インラインソースは、INLINE_SOURCES の値に関係なく生成されます。

関連項目
セクション \hideinlinesource、オプション INLINE_SOURCES

\hideinlinesource

このコマンドが関数、複数行マクロ、列挙型、またはリスト初期化変数のコメントブロックに記述されている場合、Doxygen はそのメンバーのインラインソースを生成しません。インラインソースは、INLINE_SOURCES の値に関係なく生成されません。

関連項目
セクション \showinlinesource、オプション INLINE_SOURCES

\includegraph

このコマンドがファイルのコメントブロックに記述されている場合、Doxygen はそのファイルのインクルードグラフを生成します。インクルードグラフは、INCLUDE_GRAPH の値に関係なく生成されます。

関連項目
セクション \hideincludegraph、セクション \includedbygraph、セクション \hideincludedbygraph およびオプション INCLUDE_GRAPH

\hideincludegraph

このコマンドがファイルのコメントブロックに記述されている場合、Doxygen はそのファイルのインクルードグラフを生成しません。インクルードグラフは、INCLUDE_GRAPH の値に関係なく生成されません。

関連項目
セクション \includegraph、セクション \includedbygraph、セクション \hideincludedbygraph およびオプション INCLUDE_GRAPH

\includedbygraph

このコマンドがインクルードファイルのコメントブロックに記述されている場合、Doxygen はそのインクルードファイルの被インクルードグラフを生成します。被インクルードグラフは、INCLUDED_BY_GRAPH の値に関係なく生成されます。

関連項目
セクション \hideincludedbygraph、セクション \ncludegraph、セクション \hideincludegraph およびオプション INCLUDED_BY_GRAPH

\hideincludedbygraph

このコマンドがインクルードファイルのコメントブロックに記述されている場合、Doxygen はそのインクルードファイルの被インクルードグラフを生成しません。被インクルードグラフは、INCLUDED_BY_GRAPH の値に関係なく生成されません。

関連項目
セクション \includedbygraph、セクション \ncludegraph、セクション \hideincludegraph およびオプション INCLUDED_BY_GRAPH

\directorygraph

このコマンドがディレクトリのコメントブロックに記述されている場合(セクション \dir を参照)、Doxygen はそのディレクトリのディレクトリグラフを生成します。ディレクトリグラフは、DIRECTORY_GRAPH の値に関係なく生成されます。

関連項目
セクション \hidedirectorygraph、オプション DIRECTORY_GRAPH

\hidedirectorygraph

このコマンドがディレクトリのコメントブロックに記述されている場合(セクション \dir を参照)、Doxygen はそのディレクトリのディレクトリグラフを生成しません。ディレクトリグラフは、DIRECTORY_GRAPH の値に関係なく生成されません。

関連項目
セクション \directorygraph、オプション DIRECTORY_GRAPH

\collaborationgraph

このコマンドがクラスのコメントブロックに記述されている場合、Doxygen はそのクラスのコラボレーショングラフを生成します。コラボレーショングラフは、COLLABORATION_GRAPH の値に関係なく生成されます。

関連項目
セクション \hidecollaborationgraph、オプション COLLABORATION_GRAPH

\hidecollaborationgraph

このコマンドがクラスのコメントブロックに記述されている場合、Doxygen はそのクラスのコラボレーショングラフを生成しません。コラボレーショングラフは、COLLABORATION_GRAPH の値に関係なく生成されません。

関連項目
セクション \collaborationgraph、オプション COLLABORATION_GRAPH

\inheritancegraph['{option}']

このコマンドがクラスのコメントブロックに記述されている場合、Doxygen はそのクラスの継承グラフを option に従って生成します。継承グラフは、CLASS_GRAPH の値に関係なく、option に従って生成されます。option の可能な値は、CLASS_GRAPH で使用できる値と同じです。option が指定されていない場合は、値 YES が想定されます。

関連項目
セクション \hideinheritancegraph、オプション CLASS_GRAPH

\hideinheritancegraph

このコマンドがクラスのコメントブロックに記述されている場合、Doxygen はそのクラスの継承グラフを生成しません。継承グラフは、CLASS_GRAPH の値に関係なく生成されません。

関連項目
セクション \inheritancegraph、オプション CLASS_GRAPH

\groupgraph

このコマンドが \defgroup コマンドのコメントブロックに記述されている場合、Doxygen はそのグループのグループ依存グラフを生成します。グループグラフは、GROUP_GRAPHS の値に関係なく生成されます。

関連項目
セクション \hidegroupgraph、オプション GROUP_GRAPHS

\hidegroupgraph

このコマンドが \defgroup コマンドのコメントブロックに記述されている場合、Doxygen はそのグループのグループ依存グラフを生成しません。グループグラフは、GROUP_GRAPHS の値に関係なく生成されません。

関連項目
セクション \groupgraph、オプション GROUP_GRAPHS

\showenumvalues

このコマンドがenumのコメントブロックに記述されている場合、doxygenはそのenumの指定されたenum値を、SHOW_ENUM_VALUESの値に関係なく表示します。

関連項目
セクション \hideenumvalues、オプション SHOW_ENUM_VALUES

\hideenumvalues

このコマンドがenumのコメントブロックに記述されている場合、doxygenはそのenumの指定されたenum値を、SHOW_ENUM_VALUESの値に関係なく表示しません。

関連項目
セクション \showenumvalues、オプション SHOW_ENUM_VALUES

\qualifier <label> | "(text)"

このコマンドを使用すると、メンバーとクラスにカスタムの修飾子ラベルを追加できます。これらのラベルは、「static」、「inline」、「final」などの自動生成されたラベルと同じ方法で出力に表示されます。

例えば、関数がテスト目的のみであることを示すには、\qualifier test を追加できます。


\category <name> [<header-file>] [<header-name>]

Objective-Cのみ: コメントブロックに名前 <name> のクラスカテゴリのドキュメントが含まれていることを示します。引数は \class コマンドと同じです。

関連項目
セクション \class

\class <name> [<header-file>] [<header-name>]

コメントブロックに <name> という名前のクラスのドキュメントが含まれていることを示します。オプションでヘッダーファイルとヘッダー名を指定できます。ヘッダーファイルが指定されている場合、ヘッダーの逐語的なコピーへのリンクがHTMLドキュメントに含まれます。<header-name> 引数を使用して、クラスドキュメントで使用されるリンクの名前を <header-file> 以外に変更できます。これは、インクルード名がデフォルトのインクルードパスにない場合(<X11/X.h> など)に役立ちます。<header-name> 引数を使用すると、名前を二重引用符または山括弧で囲むことで、インクルードステートメントがどのように表示されるかを指定することもできます。名前だけが指定されている場合は山括弧が使用されます。最後の2つの引数は、\headerfile コマンドを使用して指定することもできます。

/* ダミークラス */
class Test
{
};
/*! \class Test class.h "inc/class.h"
* \brief これはテストクラスです。
*
* Testクラスに関する詳細。
*/
Doxygenによって生成される対応するHTMLドキュメントについては、こちらをクリックしてください。

\concept <name>

コメントブロックに <name> という名前のC++20コンセプトのドキュメントが含まれていることを示します。ユーザーがコンセプトを使用するために含めるべきヘッダーを指定するには、\headerfile コマンドも参照してください。


\def <name>

コメントブロックに #define マクロのドキュメントが含まれていることを示します。

/*! \file define.h
\brief defineのテスト
これはdefineのドキュメントをテストするためのものです。
*/
/*!
\def MAX(x,y)
\a x と \a y の最大値を計算します。
*/
/*!
\brief 引数 \a x の絶対値を計算します。
\param x 入力値。
\returns \a x の絶対値。
*/
#define ABS(x) (((x)>0)?(x):-(x))
#define MAX(x,y) ((x)>(y)?(x):(y))
#define MIN(x,y) ((x)>(y)?(y):(x))
/*!< \a x と \a y の最小値を計算します。 */
Doxygenによって生成される対応するHTMLドキュメントについては、こちらをクリックしてください。

\defgroup <name> (group title)

コメントブロックにクラス、モジュール、コンセプト、ファイル、または名前空間のトピックのドキュメントが含まれていることを示します。これは、シンボルを分類し、それらのカテゴリをドキュメント化するために使用できます。グループを他のグループのメンバーとして使用して、グループの階層を構築することもできます。

<name> 引数は単一の単語の識別子である必要があります。

関連項目
ページ Grouping、セクション \ingroup\addtogroup、および \weakgroup

\dir [<path fragment>]

コメントブロックにディレクトリのドキュメントが含まれていることを示します。「パスフラグメント」引数には、ディレクトリ名と、プロジェクト内の他のディレクトリに対して一意になるのに十分なパスの一部を含める必要があります。STRIP_FROM_PATH オプションは、出力に表示される前にフルパスから何が削除されるかを決定します。


\enum <name>

コメントブロックに、<name>という名前の列挙型のドキュメントが含まれていることを示します。列挙型がクラスのメンバーであり、ドキュメントブロックがクラス定義の外部にある場合、クラスのスコープも指定する必要があります。コメントブロックが列挙型の宣言の直前にある場合、\enum コメントは省略できます。

匿名列挙型の型はドキュメント化できませんが、匿名列挙型の値はドキュメント化できます。
class Enum_Test
{
public:
enum TEnum { Val1, Val2 };
/*! 別のenum、インラインドキュメント付き */
enum AnotherEnum
{
V1, /*!< 値1 */
V2 /*!< 値2 */
};
};
/*! \class Enum_Test
* クラスの説明。
*/
/*! \enum Enum_Test::TEnum
* 列挙型TEnumの説明。
*/
/*! \var Enum_Test::TEnum Enum_Test::Val1
* 最初の列挙値の説明。
*/
Doxygenによって生成される対応するHTMLドキュメントについては、こちらをクリックしてください。

\example['{lineno}'] <file-name>

コメントブロックにソースコード例のドキュメントが含まれていることを示します。ソースファイルの名前は <file-name> です。このファイルの内容は、コメントブロックに含まれるドキュメントの直後にドキュメントに含まれます。必要に応じて、オプション {lineno} を追加して、例の行番号を有効にすることができます。すべての例はリストに配置されます。ソースコードは、ドキュメント化されたメンバーとクラスについてスキャンされます。見つかった場合、名前はドキュメントと相互参照されます。ソースファイルまたはディレクトリは、Doxygen の設定ファイルの EXAMPLE_PATH タグを使用して指定できます。

<file-name> 自体が EXAMPLE_PATH タグで指定された例のファイルのセットに対して一意でない場合は、絶対パスの一部を含めて曖昧さを解消できます。

例に複数のソースファイルが必要な場合は、\include コマンドを使用できます。

/** Example_Test クラス。 */
* このクラスに関する詳細情報。
*/
class Example_Test
{
public:
/** 例となるメンバー関数。
* この関数に関する詳細情報。
*/
void example();
};
void Example_Test::example() {}
/** \example example_test.cpp
* これはExample_Testクラスの使用方法の例です。
* この例に関する詳細。
*/
ここで、例のファイル example_test.cpp は次のようになります。
void main()
{
Example_Test t;
t.example();
}
Doxygenによって生成される対応するHTMLドキュメントについては、こちらをクリックしてください。
関連項目
セクション \include

\endinternal

このコマンドは、\internal コマンドで開始されたドキュメントフラグメントを終了します。\internal\endinternal の間のテキストは、INTERNAL_DOCSYES に設定されている場合にのみ表示されます。


\extends <name>

このコマンドは、プログラミング言語がこの概念をネイティブにサポートしていない場合(例:C)、継承関係を手動で示すために使用できます。

例ディレクトリのファイル manual.c は、このコマンドの使用方法を示しています(完全なファイルについては、\memberof も参照してください)。

Doxygenによって生成される対応するHTMLドキュメントについては、こちらをクリックしてください。

関連項目
セクション \implements とセクション \memberof

\file [<name>]

コメントブロックに <name> という名前のソースまたはヘッダーファイルのドキュメントが含まれていることを示します。ファイル名が単独で一意でない場合、ファイル名にパスの一部を含めることができます。ファイル名が省略された場合(つまり、\file の後の行が空白の場合)、\file コマンドを含むドキュメントブロックは、それが置かれているファイルに属します。

重要
グローバル関数、変数、typedef、および列挙型のドキュメントは、それらが含まれるファイルもドキュメント化されている場合、または EXTRACT_ALLYES に設定されている場合にのみ出力に含まれます。
/** \file file.h
* 簡単なファイルの説明。
* 詳細なファイルの説明。
*/
/**
* グローバル整数値。
* この値に関する詳細。
*/
extern int globalValue;
Doxygenによって生成される対応するHTMLドキュメントについては、こちらをクリックしてください。
上記の例では、設定ファイルで JAVADOC_AUTOBRIEFYES に設定されています。

\fileinfo['{'option'}']

このコマンドが配置されているファイル名の一部を表示します。option には、nameextensionfilenamedirectory、または full を指定できます。それぞれ

  • name 拡張子なしのファイル名
  • extension ファイルの拡張子
  • filename ファイル名、つまり nameextension
  • directory 指定されたファイルのディレクトリ
  • full 指定されたファイルのフルパスとファイル名

オプションが指定されていない場合は、FULL_PATH_NAMESYES に設定されている場合を除き、filename が使用されます。その場合、full が使用されます。

コマンド \fileinfo は \file コマンドの引数として使用できません。
関連項目
セクション \lineinfo

\lineinfo

このコマンドが配置されているファイル内の行番号を表示します。

関連項目
セクション \fileinfo

\fn (関数宣言)

コメントブロックに関数(グローバルまたはクラスのメンバー)のドキュメントが含まれていることを示します。このコマンドは、コメントブロックが関数宣言または定義の前に置かれていない(または後ろに置かれていない)場合にのみ必要です。

コメントブロックが関数宣言または定義の前に置かれている場合は、このコマンドは省略できます(そして冗長性を避けるために省略すべきです)。

引数は行の終わりで終わるため、\fn コマンドの後に引数を含む完全な関数宣言を単一行で指定する必要があります!

このコマンドは \var\typedef、および \property と同等です。

警告
情報の重複やエラーの原因となるため、絶対に必要な場合を除き、このコマンドは使用しないでください。
class Fn_Test
{
public:
const char *member(char,int) throw(std::out_of_range);
};
const char *Fn_Test::member(char c,int n) throw(std::out_of_range) {}
/*! \class Fn_Test
* \brief Fn_Testクラス。
*
* Fn_Testに関する詳細。
*/
/*! \fn const char *Fn_Test::member(char c,int n)
* \brief メンバー関数。
* \param c 文字。
* \param n 整数。
* \exception std::out_of_range パラメータが範囲外です。
* \return 文字ポインタ。
*/
Doxygenによって生成される対応するHTMLドキュメントについては、こちらをクリックしてください。
関連項目
セクション \var\property、および \typedef

\headerfile <header-file> [<header-name>]

定義の前にドキュメントがあるクラス、構造体、または共用体のドキュメントに使用することを目的としています。このコマンドの引数は、\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_INCLUDESYES に設定します。

インクルード情報を完全に無効にするには、SHOW_HEADERFILENO に設定します。


\hideinitializer

デフォルトでは、定義の値と変数の初期化子は、30行を超える場合を除き表示されません。このコマンドを定義または変数のコメントブロックに記述すると、初期化子は常に非表示になります。初期化行の最大数は、設定パラメータ MAX_INITIALIZER_LINES で変更でき、デフォルト値は30です。

関連項目
セクション \showinitializer

\idlexcept <name>

コメントブロックに、<name>という名前のIDL例外のドキュメントが含まれていることを示します。


\implements <name>

このコマンドは、プログラミング言語がこの概念をネイティブにサポートしていない場合(例:C)、継承関係を手動で示すために使用できます。

例ディレクトリのファイル manual.c は、このコマンドの使用方法を示しています(完全なファイルについては、\memberof も参照してください)。

Doxygenによって生成される対応するHTMLドキュメントについては、こちらをクリックしてください。

関連項目
セクション \extends とセクション \memberof

\ingroup (<groupname> [<groupname>]*)

\ingroup コマンドが複合エンティティ(クラス、ファイル、名前空間など)のコメントブロックに配置されている場合、それは <groupname> で識別されるグループに追加されます。メンバー(変数、関数、typedef、列挙型など)の場合、メンバーは1つのグループにのみ追加されます(メンバーがそのクラス、名前空間、またはファイルのコンテキストでドキュメント化されておらず、グループの一部としてのみ表示される場合に、曖昧なリンクターゲットを避けるため)。

関連項目
ページ Grouping、セクション \defgroup\addtogroup、および weakgroup

\interface <name> [<header-file>] [<header-name>]

コメントブロックに <name> という名前のインターフェースのドキュメントが含まれていることを示します。引数は \class コマンドの引数と同じです。

関連項目
セクション \class

\internal

このコマンドは、内部使用のみを目的としたドキュメントフラグメントを開始します。フラグメントはコメントブロックの終わりで自然に終了します。\endinternal コマンドを使用して、内部セクションを早く終了させることもできます。

\internal コマンドがセクション内(例えば \section を参照)に配置されている場合、コマンドの後のすべてのサブセクションも内部と見なされます。同じレベルの新しいセクションのみが、内部と見なされるフラグメントを終了します。

設定ファイルで INTERNAL_DOCS を使用して、内部ドキュメントを表示(YES)または非表示(NO)にできます。

関連項目
セクション \endinternal

\mainpage [(title)]

\mainpage コマンドがコメントブロックに配置されている場合、そのブロックはインデックスページ(HTMLの場合)または最初の章({\LaTeX}の場合)をカスタマイズするために使用されます。

title 引数はオプションであり、Doxygen が通常生成するデフォルトのタイトルを置き換えます。タイトルが不要な場合は、notitle\mainpage の引数として指定できます。

例を次に示します。

/*! \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 を使用して参照できます。

関連項目
セクション \section、セクション \subsection、およびセクション \page

\memberof <name>

このコマンドは、\relates と同様の方法で関数をクラスのメンバーにしますが、このコマンドでは関数がクラスの実際のメンバーとして表されます。これは、プログラミング言語がメンバー関数の概念をネイティブにサポートしていない場合(例:C)に役立ちます。

このコマンドは、\public\protected、または \private と組み合わせて使用​​することもできます。

例ディレクトリのファイル manual.c は、このコマンドの使用方法を示しています。
/**
* \file manual.c
*/
typedef struct Object Object; //!< オブジェクト型
typedef struct Vehicle Vehicle; //!< 車両型
typedef struct Car Car; //!< 車型
typedef struct Truck Truck; //!< トラック型
/*!
* 基底オブジェクトクラス。
*/
struct Object
{
int ref; //!< \private 参照カウント。
};
/*!
* オブジェクト参照カウントを1増やします。
* \public \memberof Object
*/
static Object * objRef(Object *obj);
/*!
* オブジェクト参照カウントを1減らします。
* \public \memberof Object
*/
static Object * objUnref(Object *obj);
/*!
* 車両クラス。
* \extends Object
*/
struct Vehicle
{
Object base; //!< \protected 基底クラス。
};
/*!
* 車両を開始します。
* \public \memberof Vehicle
*/
void vehicleStart(Vehicle *obj);
/*!
* 車両を停止します。
* \public \memberof Vehicle
*/
void vehicleStop(Vehicle *obj);
/*!
* 車クラス。
* \extends Vehicle
*/
struct Car
{
Vehicle base; //!< \protected 基底クラス。
};
/*!
* トラッククラス。
* \extends Vehicle
*/
struct Truck
{
Vehicle base; //!< \protected 基底クラス。
};
/*!
* メイン関数。
*
* vehicleStart()、objRef()、objUnref()を参照。
*/
int main(void)
{
Car c;
vehicleStart((Vehicle*) &c);
}
Doxygenによって生成される対応するHTMLドキュメントについては、こちらをクリックしてください。
関連項目
セクション \extends\implements\public\protected、および \private

\module <name>

コメントブロックに <name> という名前のC++20モジュールのドキュメントが含まれていることを示します。


\name [(header)]

このコマンドは、コメントブロックをメンバーグループのヘッダー定義に変換します。コメントブロックの後には、グループのメンバーを含む @{ ... @} ブロックが続く必要があります。

例については、セクション メンバーグループ を参照してください。


\namespace <name>

コメントブロックに <name> という名前の名前空間のドキュメントが含まれていることを示します。


\nosubgrouping

このコマンドはクラスのドキュメントに記述できます。Doxygen がメンバーグループを Public/Protected/Private/... セクションのサブグループとして配置することを避けるために、メンバーグルーピングと組み合わせて使用​​できます。

関連項目
セクション \publicsection\protectedsection、および \privatesection

\overload [(関数宣言)]

このコマンドは、オーバーロードされたメンバー関数に対して以下の標準テキストを生成するために使用できます。

これは、利便性のために提供されるオーバーロードされたメンバー関数です。上記の関数とは、受け入れる引数のみが異なります。

オーバーロードされたメンバー関数のドキュメントが関数宣言または定義の前に配置されていない場合、オプションの引数を使用してオーバーロードされた関数の正しい宣言を指定する必要があります。もちろん、\overload コマンドがオーバーロードされたメンバー関数の直前にあり、オプションの引数が使用されている場合も、これがオーバーロードされた関数の正しい宣言である必要があります。

ドキュメントブロック内にある他のドキュメントは、生成されたメッセージの後に追記されます。

注1
この関数によってオーバーロードされる、より以前にドキュメント化されたメンバーが実際に存在することを確認するのは、ユーザーの責任です。ドキュメントがドキュメントの順序を変更しないようにするには、この場合、SORT_MEMBER_DOCSNO に設定する必要があります。
注2
コメントブロックには \overload コマンドを1つだけ記述できます。
class Overload_Test
{
public:
void drawRect(int,int,int,int);
void drawRect(const Rect &r);
};
void Overload_Test::drawRect(int x,int y,int w,int h) {}
void Overload_Test::drawRect(const Rect &r) {}
/*! \class Overload_Test
* \brief 簡単な説明。
*
* その他のテキスト。
*/
/*! \fn void Overload_Test::drawRect(int x,int y,int w,int h)
* このコマンドは、左上隅が ( \a x , \a y )、
* 幅 \a w、高さ \a h の長方形を描画します。
*/
/*!
* \overload void Overload_Test::drawRect(const Rect &r)
*/
Doxygenによって生成される対応するHTMLドキュメントについては、こちらをクリックしてください。

\package <name>

コメントブロックに <name> という名前のJavaパッケージのドキュメントが含まれていることを示します。


\page <name> (title)

コメントブロックに、特定のクラス、ファイル、またはメンバーに直接関連しないドキュメントの一部が含まれていることを示します。HTMLジェネレーターは、ドキュメントを含むページを作成します。{\LaTeX} ジェネレーターは、「ページドキュメント」の章に新しいセクションを開始します。

/*! \page page1 ドキュメントページ
\tableofcontents
前書き。
\section sec 例のセクション
このページには、サブセクション \ref subsection1 と \ref subsection2 が含まれています。
詳細については、ページ \ref page2 を参照してください。
\subsection subsection1 最初のサブセクション
テキスト。
\subsection subsection2 2番目のサブセクション
さらにテキスト。
*/
/*! \page page2 別のページ
さらに情報。
*/
Doxygenによって生成される対応するHTMLドキュメントについては、こちらをクリックしてください。
<name> 引数は、文字と数字の組み合わせで構成されます。<name> 引数に大文字(例: MYPAGE1)または大文字と小文字の混在(例: MyPage1)を使用したい場合は、CASE_SENSE_NAMESYES に設定する必要があります。ただし、これはファイルシステムが大文字と小文字を区別する場合にのみ推奨されます。そうでない場合(およびより良い移植性のために)は、ページへのすべての参照で <name> にすべての小文字(例: mypage1)を使用する必要があります。
関連項目
セクション \section、セクション \subsection、およびセクション \ref

\private

コメントブロックでドキュメント化されているメンバーがプライベートであることを示します。つまり、同じクラスの他のメンバーからのみアクセスできるべきです。

Doxygen はオブジェクト指向言語のメンバーの保護レベルを自動的に検出することに注意してください。このコマンドは、言語が保護レベルの概念をネイティブにサポートしていない場合(例:C、PHP 4)にのみ使用することを目的としています。

C++ の "private:" クラスマーカーと同様の方法で、プライベートメンバーのセクションを開始するには、\privatesection を使用します。

関連項目
セクション \memberof\public\protected および \privatesection

\privatesection

C++ の "private:" クラスマーカーと同様の方法で、プライベートメンバーのセクションを開始します。コメントブロックでドキュメント化されているメンバーがプライベートであることを示します。つまり、同じクラスの他のメンバーからのみアクセスできるべきです。

関連項目
セクション \memberof\public\protected および \private

\property (修飾プロパティ名)

コメントブロックにプロパティ(グローバルまたはクラスのメンバー)のドキュメントが含まれていることを示します。このコマンドは、\fn\typedef、および \var と同等です。

関連項目
セクション \fn\typedef、および \var

\protected

コメントブロックでドキュメント化されているメンバーが保護されていることを示します。つまり、同じクラスまたは派生クラスの他のメンバーからのみアクセスできるべきです。

Doxygen はオブジェクト指向言語のメンバーの保護レベルを自動的に検出することに注意してください。このコマンドは、言語が保護レベルの概念をネイティブにサポートしていない場合(例:C、PHP 4)にのみ使用することを目的としています。

C++ の "protected:" クラスマーカーと同様の方法で、保護されたメンバーのセクションを開始するには、protectedsection を使用します。

関連項目
セクション \memberof\public\private および protectedsection

\protectedsection

C++ の "protected:" クラスマーカーと同様の方法で、保護されたメンバーのセクションを開始します。コメントブロックでドキュメント化されているメンバーが保護されていることを示します。つまり、同じクラスまたは派生クラスの他のメンバーからのみアクセスできるべきです。

関連項目
セクション \memberof\public\private および \protected

\protocol <name> [<header-file>] [<header-name>]

コメントブロックに <name> という名前のObjective-Cプロトコルのドキュメントが含まれていることを示します。引数は \class コマンドと同じです。

関連項目
セクション \class

\public

コメントブロックでドキュメント化されているメンバーがパブリックであることを示します。つまり、他のすべてのクラスまたは関数からアクセスできます。

Doxygen はオブジェクト指向言語のメンバーの保護レベルを自動的に検出することに注意してください。このコマンドは、言語が保護レベルの概念をネイティブにサポートしていない場合(例:C、PHP 4)にのみ使用することを目的としています。

C++ の "public:" クラスマーカーと同様の方法で、パブリックメンバーのセクションを開始するには、\publicsection を使用します。

関連項目
セクション \memberof\protected\private および \publicsection

\publicsection

C++ の "public:" クラスマーカーと同様の方法で、パブリックメンバーのセクションを開始します。コメントブロックでドキュメント化されているメンバーがパブリックであることを示します。つまり、他のすべてのクラスまたは関数からアクセスできます。

関連項目
セクション \memberof\protected\private および \public

\pure

コメントブロックでドキュメント化されているメンバーが純粋仮想であることを示します。つまり、抽象であり、実装が関連付けられていません。

このコマンドは、プログラミング言語が純粋仮想メソッドの概念をネイティブにサポートしていない場合(例:C、PHP 4)にのみ使用することを目的としています。


\relates <name>

このコマンドは、非メンバー関数 <name> のドキュメントで使用できます。関数をクラスドキュメントの「関連関数」セクションに配置します。このコマンドは、特定のクラスに強く結合している非フレンド関数をドキュメント化するのに役立ちます。ファイルをドキュメント化する必要性をなくし、関数にのみ機能します。

/*!
* Stringクラス。
*/
class String
{
friend int strcmp(const String &,const String &);
};
/*!
* 2つの文字列を比較します。
*/
int strcmp(const String &s1,const String &s2)
{
}
/*! \relates String
* 文字列デバッグ関数。
*/
void stringDebug()
{
}
Doxygenによって生成される対応するHTMLドキュメントについては、こちらをクリックしてください。

\related <name>

\relates と同等です。


\relatesalso <name>

このコマンドは、非メンバー関数 <name> のドキュメントで使用できます。関数をクラスドキュメントの「関連関数」セクションに配置するだけでなく、通常のファイルドキュメントの場所にも残します。このコマンドは、特定のクラスに強く結合している非フレンド関数をドキュメント化するのに役立ちます。関数にのみ機能します。


\relatedalso <name>

\relatesalso と同等です。


\showinitializer

デフォルトでは、定義の値と変数の初期化子は、30行未満の場合にのみ表示されます。このコマンドを定義または変数のコメントブロックに記述すると、初期化子は無条件に表示されます。初期化行の最大数は、設定パラメータ MAX_INITIALIZER_LINES で変更でき、デフォルト値は30です。

関連項目
セクション \hideinitializer

\static

コメントブロックでドキュメント化されているメンバーが static であることを示します。つまり、クラスのインスタンスではなく、クラスに対して機能します。

このコマンドは、プログラミング言語が static メソッドの概念をネイティブにサポートしていない場合(例:C)にのみ使用することを目的としています。


\struct <name> [<header-file>] [<header-name>]

コメントブロックに <name> という名前の構造体のドキュメントが含まれていることを示します。引数は \class コマンドの引数と同じです。

関連項目
セクション \class

\typedef (typedef 宣言)

コメントブロックに typedef(グローバルまたはクラスのメンバー)のドキュメントが含まれていることを示します。このコマンドは、\fn\property、および \var と同等です。

関連項目
セクション \fn\property、および \var

\union <name> [<header-file>] [<header-name>]

コメントブロックに <name> という名前の共用体のドキュメントが含まれていることを示します。引数は \class コマンドの引数と同じです。

関連項目
セクション \class

\var (変数宣言)

コメントブロックに変数のドキュメント(グローバルまたはクラスのメンバー)が含まれていることを示します。このコマンドは、\fn\property、および \typedef と同等です。

PHPの場合、変数の型も指定できることに注意してください。構文は phpDocumentor と似ていますが、説明は次の行から始める必要があります。つまり、

@var  datatype $varname
Description
関連項目
セクション \fn\property、および \typedef

\vhdlflow [(フローチャートのタイトル)]

これはVHDL固有のコマンドで、プロセスのドキュメントに記述することで、プロセス内のロジックのフローチャートを生成できます。オプションでフローチャートのタイトルを指定できます。

現在、フローチャートはHTML出力にのみ表示されます。

\weakgroup <name> [(title)]

\addtogroup とまったく同じように使用できますが、競合するグループ化定義を解決する際には優先度が低くなります。

関連項目
ページ Grouping およびセクション \addtogroup

--- セクションインジケーター ---


\attention {注意テキスト}

注意が必要なメッセージを入力できる段落を開始します。段落はインデントされます。段落のテキストに特別な内部構造はありません。すべての視覚強調コマンドは段落内で使用できます。複数の隣接する \attention コマンドは単一の段落に結合されます。\attention コマンドは、空白行または他のセクションコマンドが検出されたときに終了します。


\author {著者リスト}

1人または複数の著者名を入力できる段落を開始します。段落はインデントされます。段落のテキストに特別な内部構造はありません。すべての視覚強調コマンドは段落内で使用できます。複数の隣接する \author コマンドは単一の段落に結合されます。各著者の説明は新しい行から始まります。あるいは、1つの \author コマンドで複数の著者を示すこともできます。\author コマンドは、空白行または他のセクションコマンドが検出されたときに終了します。

/*!
* \brief とても素敵なクラス。
* \details このクラスは、いくつかのセクションコマンドを示すために使用されます。
* \author John Doe
* \author Jan Doe
* \version 4.1a
* \date 1990-2011
* \pre まずシステムを初期化します。
* \bug このクラスのオブジェクトを削除する際に、すべてのメモリが解放されません。
* \warning 不適切な使用はアプリケーションをクラッシュさせる可能性があります。
* \copyright GNU Public License。
*/
class SomeNiceClass {};
Doxygenによって生成される対応するHTMLドキュメントについては、こちらをクリックしてください。

\authors {著者リスト}

\author と同等です。


\brief {簡単な説明}

簡単な説明として機能する段落を開始します。クラスとファイルの場合、簡単な説明はリストとドキュメントページの先頭で使用されます。クラスとファイルのメンバーの場合、簡単な説明はメンバーの宣言に配置され、詳細な説明の前に付けられます。簡単な説明は複数行にわたって記述できます(ただし、簡潔に保つことをお勧めします!)。簡単な説明は、空白行または別のセクションコマンドが検出されたときに終了します。複数の \brief コマンドがある場合、それらは結合されます。例については、セクション \author を参照してください。

\short と同義です。


\bug {バグの説明}

1つ以上のバグが報告される可能性のある段落を開始します。この段落はインデントされます。段落のテキストには特別な内部構造はありません。すべての視覚的な強調コマンドは段落内で使用できます。複数の隣接する\bugコマンドは1つの段落に結合されます。各バグの説明は新しい行から始まります。あるいは、1つの\bugコマンドで複数のバグに言及することもできます。\bugコマンドは、空白行または他のセクションコマンドが見つかるまで終了します。例については、セクション\authorを参照してください。

説明は、別途バグリストにも項目を追加し、説明の2つのインスタンスは相互参照されます。バグリストの各項目には、その項目の出所を示すヘッダーが先行します。

バグリストと対応するエントリは、GENERATE_BUGLISTNOに設定することで無効にできます。


\cond [(section-label)]

対応する\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_SECTIONSTESTまたはDEVが含まれているかどうかに応じて、出力は異なります

関連項目
セクション\if\ifnot\else\elseif\endif\endcond、およびENABLED_SECTIONS
解析のタイミングの都合上、\condおよび\endcondコマンドはALIASES内で使用できません。

\copyright { copyright description }

エンティティの著作権を記述できる段落を開始します。この段落はインデントされます。段落のテキストには特別な内部構造はありません。例については、セクション\authorを参照してください。


\date { date description }

1つ以上の日付を入力できる段落を開始します。この段落はインデントされます。段落のテキストには特別な内部構造はありません。すべての視覚的強調コマンドは段落内で使用できます。複数の隣接する\dateコマンドは1つの段落に結合されます。各日付の記述は新しい行から始まります。あるいは、1つの\dateコマンドで複数の日付に言及することもできます。\dateコマンドは、空白行または他のセクションコマンドが見つかるまで終了します。例については、セクション\authorを参照してください。


\showdate "<format>" [ <date_time> ]

指定された<format>と<date_time>に基づいて日付と時刻を表示します。<format>は、以下のトークンが特別な意味を持つ文字列です。

コード説明
%y世紀なしの年をゼロ埋め十進数で表したもの。
%Y世紀ありの年を十進数で表したもの。
%m月をゼロ埋め十進数で表したもの。
%-m月を十進数で表したもの。
%b月のロケール略称。
%B月のロケール正式名称。
%d日をゼロ埋め十進数で表したもの。
%-d日を十進数で表したもの。
%u曜日を十進数(1-7)で表したもの。月曜日が1。
%w曜日を十進数(0-6)で表したもの。日曜日が0。
%a曜日のロケール略称。
%A曜日のロケール正式名称。
   
%H時(24時間表示)をゼロ埋め十進数で表したもの。
%-H時(24時間表示)を十進数で表したもの。
%I時(12時間表示)をゼロ埋め十進数で表したもの。
%-I時(12時間表示)を十進数で表したもの。
%M分をゼロ埋め十進数で表したもの。
%-M分を十進数で表したもの。
%S秒をゼロ埋め十進数で表したもの。
%-S秒を十進数で表したもの。
%pロケールにおける午前または午後の同等表現。
   
%% A % character.

<format>は二重引用符で囲む必要があることに注意してください。

<date_time>が指定されている場合、次の表現を持つ必要があります。

  • オプションのdateで、date
    • 年の4桁
    • マイナス記号
    • 月の1桁または2桁
    • マイナス記号
    • 日の1桁または2桁
  • オプションのtimeで、time
    • 空白
    • 時間の1桁または2桁
    • コロン記号
    • 分の1桁または2桁
    • 書式に%Sまたは%-Sが含まれる場合
      • コロン記号
      • 秒の2桁

<date_time>が指定されていない場合、現在の日付と時刻が使用されます。

例を次に示します。

- \showdate "%A %d-%m-%Y" 2015-3-14
- \showdate "%a %d-%m-%y" 2015-3-14
- \showdate "%-m.%d%y" 2015-3-14
- \showdate "%A %d-%m-%Y %H:%M:%S" 2015-3-14 03:04:15
- \showdate "%A %d-%m-%Y %H:%M" 2015-3-14 03:04

OUTPUT_LANGUAGE=englishの場合、次のようになります。

  • Saturday 14-03-2015
  • Sat 14-03-15
  • 3.1415
  • Saturday 14-03-15 03:04:15
  • Saturday 14-03-15 03:04

OUTPUT_LANGUAGE=dutchの場合、次のようになります。

  • zaterdag 14-03-15
  • za 14-03-2015
  • 3.1415
  • zaterdag 14-03-15 03:04:15
  • zaterdag 14-03-15 03:04

\deprecated { description }

このドキュメントブロックが非推奨のエンティティに属することを示す段落を開始します。代替案、予想される寿命などを記述するために使用できます。この段落はインデントされます。段落のテキストには特別な内部構造はありません。すべての視覚的強調コマンドは段落内で使用できます。複数の隣接する\deprecatedコマンドは1つの段落に結合されます。各非推奨の説明は新しい行から始まります。\deprecatedコマンドは、空白行または他のセクションコマンドが見つかるまで終了します。

説明は、別途非推奨リストにも項目を追加し、説明の2つのインスタンスは相互参照されます。非推奨リストの各項目には、その項目の出所を示すヘッダーが先行します。

非推奨リストと対応するエントリは、GENERATE_DEPRECATEDLISTNOに設定することで無効にできます。


\details { detailed description }

\briefが短い説明を開始するのと同様に、\detailsは詳細な説明を開始します。新しい段落(空白行)を開始することもできます。その場合、\detailsコマンドは不要です。


\noop ( text to be ignored )

コマンドを含む行末までのすべてのテキストは無視されます。このコマンドは、主にALIASESと組み合わせて、他の処理ツールに存在する未サポートのコマンドを無視するために使用されます。


\raisewarning ( text to be shown as warning )

コマンドを除く行末までのすべてのテキストは、ドキュメントの警告として文字通り表示されます。コマンドを含むテキストは出力から削除されます。このコマンドは、特定の警告を表示するために、主に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

\else

以前の条件付きセクションが有効になっていなかった場合、条件付きセクションを開始します。以前のセクションは、\if\ifnot、または\elseifコマンドで開始されている必要があります。

関連項目
セクション\if\ifnot\elseif\endif.

\elseif (section-label)

以前のセクションが有効になっていなかった場合、条件付きドキュメントセクションを開始します。条件付きセクションはデフォルトで無効になっています。それを有効にするには、設定ファイルのENABLED_SECTIONSタグの後にセクションラベルを配置する必要があります。セクションラベルは、セクション名、丸括弧、&& (AND)、|| (OR)、および! (NOT) で構成される論理式にすることができます。条件ブロックはネストできます。ネストされたセクションは、すべての囲むセクションも有効になっている場合にのみ有効になります。

関連項目
セクション\if\ifnot\else\endif.

\endcond

\condによって開始された条件付きセクションを終了します。

関連項目
セクション\cond
解析のタイミングの都合上、\endcondコマンドと\condコマンドはALIASES内で使用できません。

\endif

\ifまたは\ifnotによって開始された条件付きセクションを終了します。\ifまたは\ifnotごとに、1つだけ一致する\endifが続く必要があります。

関連項目
セクション\if\ifnot\else\elseif.

\exception <exception-object> { exception description }

名前<exception-object>を持つ例外オブジェクトの例外記述を開始します。その後に例外の説明が続きます。例外オブジェクトの存在はチェックされません。段落のテキストには特別な内部構造はありません。すべての視覚的強調コマンドは段落内で使用できます。複数の隣接する\exceptionコマンドは1つの段落に結合されます。各例外記述は新しい行から始まります。\exception記述は、空白行または他のセクションコマンドが見つかるまで終了します。例については、セクション\fnを参照してください。


\if (section-label)

条件付きドキュメントセクションを開始します。セクションは、一致する\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つの言語で文書化するには、次のように使用できます。

例 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\ifnot\else\elseif\cond\endcond、およびENABLED_SECTIONS

\ifnot (section-label)

条件付きドキュメントセクションを開始します。このセクションは、対応する\endifコマンドで終了します。この条件付きセクションはデフォルトで有効になっています。これを無効にするには、設定ファイルのENABLED_SECTIONSタグの後にセクションラベルを配置する必要があります。セクションラベルは、セクション名、丸括弧、&& (AND)、|| (OR)、および! (NOT) で構成される論理式にすることができます。

関連項目
セクション\endif\if\else、および\elseif\cond\endcond、およびENABLED_SECTIONS

\important { important text }

重要なメッセージを入力できる段落を開始します。この段落はインデントされます。段落のテキストには特別な内部構造はありません。すべての視覚的強調コマンドは段落内で使用できます。複数の隣接する\importantコマンドは1つの段落に結合されます。\importantコマンドは、空白行または他のセクションコマンドが見つかるまで終了します。


\invariant { description of invariant }

エンティティの不変量を記述できる段落を開始します。この段落はインデントされます。段落のテキストには特別な内部構造はありません。すべての視覚的な強調コマンドは段落内で使用できます。複数の隣接する\invariantコマンドは1つの段落に結合されます。各不変量の記述は新しい行から始まります。あるいは、1つの\invariantコマンドで複数の不変量に言及することもできます。\invariantコマンドは、空白行または他のセクションコマンドが見つかるまで終了します。


\note { text }

注記を入力できる段落を開始します。この段落はインデントされます。段落のテキストには特別な内部構造はありません。すべての視覚的強調コマンドは段落内で使用できます。複数の隣接する\noteコマンドは1つの段落に結合されます。各注記の記述は新しい行から始まります。あるいは、1つの\noteコマンドで複数の注記に言及することもできます。\noteコマンドは、空白行または他のセクションコマンドが見つかるまで終了します。例については、セクション\parを参照してください。


\par [(paragraph title)] { paragraph }

段落タイトルが指定されている場合、このコマンドはユーザー定義の見出しを持つ段落を開始します。見出しは行末まで続きます。コマンドに続く段落はインデントされます。

段落タイトルが指定されていない場合、このコマンドは新しい段落を開始します。これは、他の段落コマンド(\param\warningなど)内でも、そのコマンドを終了することなく機能します。

段落のテキストには特別な内部構造はありません。すべての視覚的な強調コマンドは段落内で使用できます。\parコマンドは、空白行または他のセクションコマンドが見つかるまで終了します。

/*! \class Par_Test
* 通常のテキスト。
*
* \par ユーザー定義の段落
* 段落の内容。
*
* \par
* 同じ見出しの下の新しい段落。
*
* \note
* このメモは2つの段落で構成されています。
* これが最初の段落です。
*
* \par
* そしてこれが2番目の段落です。
*
* その他の通常のテキスト。
*/
class Par_Test {};
Doxygenによって生成される対応するHTMLドキュメントについては、こちらをクリックしてください。

\param[<dir>] <parameter-name> { parameter description }

名前<parameter-name>を持つ関数パラメータのパラメータ記述を開始し、その後にパラメータの記述が続きます。パラメータの存在がチェックされ、この(または他の)パラメータのドキュメントが欠落しているか、関数宣言または定義に存在しない場合は警告が表示されます。

\paramコマンドには、パラメータの方向を指定するオプションの属性<dir>があります。可能な値は"[in]"、"[out]"、および"[in,out]"です。この記述では[角括弧]に注意してください。双方向の値の場合、"in"と"out"の方向は任意の順序で指定でき、まとめて書くことも、コンマ (,) またはスペースで区切ることもできます。つまり、例えば"[outin]"や"[in out]"も有効な値です。コマンドと<dir>の間に空白を入れることも可能であることに注意してください。パラメータが入力と出力の両方である場合、属性として[in,out]が使用されます。関数memcpyの例を次に示します。

/*!
* ソースメモリ領域からデスティネーションメモリ領域にバイトをコピーします。
* 両方の領域が重ならないようにします。
* @param[out] dest コピー先のメモリ領域。
* @param[in] src コピー元のメモリ領域。
* @param[in] n コピーするバイト数
*/
void memcpy(void *dest, const void *src, size_t n);

パラメータ記述は、特別な内部構造を持たない段落です。すべての視覚的強調コマンドは段落内で使用できます。

複数の隣接する\paramコマンドは1つの段落に結合されます。各パラメータ記述は新しい行から始まります。\param記述は、空白行または他のセクションコマンドが見つかるまで終了します。例については、セクション\fnを参照してください。

単一の\paramコマンドで、コンマ区切りのリストを使用して複数のパラメータを記述することもできます。例を次に示します。

/** 位置を設定します。
* @param x,y,z 3D空間における位置の座標。
*/
void setPosition(double x,double y,double z,double t)
{
}

PHPの場合、パラメータに許可される型(パイプ記号で区切って複数の型を指定することも可能)を指定することもできます(これは定義の一部ではないため)。構文はphpDocumentorと同じです。つまり、

@param  datatype1|datatype2 $paramname description

\parblock

引数として単一の段落を期待するコマンド(\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の最初の引数の直後に現れることもあることに注意してください。


\endparblock

これは、\parblockで開始された段落のブロックを終了します。


\tparam <template-parameter-name> { description }

名前<template-parameter-name>を持つクラスまたは関数テンプレートパラメータのテンプレートパラメータ記述を開始し、その後にテンプレートパラメータの記述が続きます。

それ以外は\paramと同様です。


\post { description of the postcondition }

エンティティの事後条件を記述できる段落を開始します。この段落はインデントされます。段落のテキストには特別な内部構造はありません。すべての視覚的な強調コマンドは段落内で使用できます。複数の隣接する\postコマンドは1つの段落に結合されます。各事後条件は新しい行から始まります。あるいは、1つの\postコマンドで複数の事後条件に言及することもできます。\postコマンドは、空白行または他のセクションコマンドが見つかるまで終了します。


\pre { description of the precondition }

エンティティの事前条件を記述できる段落を開始します。この段落はインデントされます。段落のテキストには特別な内部構造はありません。すべての視覚的強調コマンドは段落内で使用できます。複数の隣接する\preコマンドは1つの段落に結合されます。各事前条件は新しい行から始まります。あるいは、1つの\preコマンドで複数の事前条件に言及することもできます。\preコマンドは、空白行または他のセクションコマンドが見つかるまで終了します。


\remark { remark text }

1つ以上の注釈を入力できる段落を開始します。この段落はインデントされます。段落のテキストには特別な内部構造はありません。すべての視覚的強調コマンドは段落内で使用できます。複数の隣接する\remarkコマンドは1つの段落に結合されます。各注釈は新しい行から始まります。あるいは、1つの\remarkコマンドで複数の注釈に言及することもできます。\remarkコマンドは、空白行または他のセクションコマンドが見つかるまで終了します。


\remarks { remark text }

\remarkと同義です。


\result { description of the result value }

\returnと同義です。


\return { description of the return value }

関数の戻り値の説明を開始します。段落のテキストには特別な内部構造はありません。すべての視覚的な強調コマンドは段落内で使用できます。複数の隣接する\returnコマンドは1つの段落に結合されます。\returnの説明は、空白行または他のセクションコマンドが見つかるまで終了します。例については、セクション\fnを参照してください。


\returns { description of the return value }

\returnと同義です。


\retval <return value> { description }

名前<return value>を持つ関数の戻り値の説明を開始し、その後に戻り値の説明が続きます。説明を構成する段落のテキストには特別な内部構造はありません。すべての視覚的強調コマンドは段落内で使用できます。複数の隣接する\retvalコマンドは1つの段落に結合されます。各戻り値の説明は新しい行から始まります。\retvalの説明は、空白行または他のセクションコマンドが見つかるまで終了します。


\sa { references }

クラス、関数、メソッド、変数、ファイル、またはURLへの1つ以上の相互参照を指定できる段落を開始します。::または#で結合された2つの名前は、クラスとそのメンバーのいずれかを参照するものと理解されます。メソッド名の後に引数型の括弧で囲まれたリストを含めることで、いくつかのオーバーロードされたメソッドまたはコンストラクタのいずれかを選択できます。

\seeと同義です。

関連項目
オブジェクトへのリンクを作成する方法については、セクションautolinkを参照してください。

\see { references }

\saと同義です。Javadocとの互換性のために導入されました。


\short { short description }

\briefと同義です。


\since { text }

このコマンドは、エンティティがいつから(バージョンまたは時刻)利用可能になったかを指定するために使用できます。\sinceに続く段落には、特別な内部構造はありません。すべての視覚的な強調コマンドは段落内で使用できます。\sinceの説明は、空白行または他のセクションコマンドが見つかるまで終了します。


\test { paragraph describing a test case }

1つ以上のテストケースを記述できる段落を開始します。この段落はインデントされます。段落のテキストには特別な内部構造はありません。すべての視覚的強調コマンドは段落内で使用できます。複数の隣接する\testコマンドは1つの段落に結合されます。各テストケースの説明は新しい行から始まります。あるいは、1つの\testコマンドで複数のテストケースに言及することもできます。\testコマンドは、空白行または他のセクションコマンドが見つかるまで終了します。

この記述は、別のテストリストにも項目を追加し、記述の2つのインスタンスは相互参照されます。テストリストの各項目には、その項目の出所を示すヘッダーが先行します。

テストリストと対応するエントリは、GENERATE_TESTLISTNOに設定することで無効にできます。


\throw <exception-object> { exception description }

\exceptionと同義です。

コマンド\throwsはこのコマンドの同義語です。
関連項目
セクション\exception

\throws <exception-object> { exception description }

\throwと同義です。


\todo { paragraph describing what is to be done }

1つ以上のTODO項目を記述する段落を開始します。この段落はインデントされます。段落のテキストには特別な内部構造はありません。すべての視覚的な強調コマンドは段落内で使用できます。複数の隣接する\todoコマンドは1つの段落に結合されます。各TODO記述は新しい行から始まります。あるいは、1つの\todoコマンドで複数のTODO記述に言及することもできます。\todoコマンドは、空白行または他のセクションコマンドが見つかるまで終了します。

この記述は、別途Todoリストにも項目を追加し、記述の2つのインスタンスは相互参照されます。Todoリストの各項目には、その項目の出所を示すヘッダーが先行します。

Todoリストと対応するエントリは、GENERATE_TODOLISTNOに設定することで無効にできます。


\version { version number }

1つ以上のバージョン文字列を入力できる段落を開始します。この段落はインデントされます。段落のテキストには特別な内部構造はありません。すべての視覚的な強調コマンドは段落内で使用できます。複数の隣接する\versionコマンドは1つの段落に結合されます。各バージョン記述は新しい行から始まります。あるいは、1つの\versionコマンドで複数のバージョン文字列に言及することもできます。\versionコマンドは、空白行または他のセクションコマンドが見つかるまで終了します。例については、セクション\authorを参照してください。


\warning { warning message }

1つ以上の警告メッセージを入力できる段落を開始します。この段落はインデントされます。段落のテキストには特別な内部構造はありません。すべての視覚的強調コマンドは段落内で使用できます。複数の隣接する\warningコマンドは1つの段落に結合されます。各警告の記述は新しい行から始まります。あるいは、1つの\warningコマンドで複数の警告に言及することもできます。\warningコマンドは、空白行または他のセクションコマンドが見つかるまで終了します。例については、セクション\authorを参照してください。


\xrefitem <key> "heading" "list title" { text }

このコマンドは、\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 \"\" \"\"" 

--- リンクを作成するコマンド ---


\addindex (text)

このコマンドは(テキスト)を{\LaTeX} 、DocBook、およびRTFのインデックスに追加します。


\anchor <word>

このコマンドは、ドキュメントに非表示の名前付きアンカーを配置します。これは\refコマンドで参照できます。

関連項目
セクション\ref

\cite['{'[option]'}'] <label>

テキスト中および参考文献リストに参考文献を追加します。<label>は、CITE_BIB_FILESにリストされている.bibファイルのいずれかで見つかる有効なBibTeXラベルである必要があります。{\LaTeX} 出力の場合、テキスト中の参考文献の書式はLATEX_BIB_STYLEで設定できます。他の出力形式では固定の表現が使用されます。このコマンドを使用するには、bibtexツールが検索パスに存在する必要があることに注意してください。

いくつかのオプションが可能です

  • numbershortauthoryear。これらのオプションは互いに排他的であり、これらが指定されていない場合はnumberが仮定されます。
    • number 数値参照を作成
    • shortauthor 最初の著者の姓のみが与えられ、複数の著者が存在する場合は「他」というテキストが追加されます
    • year、出版年が記載されます(BibTeXファイルに指定されている場合)。
  • nopar、(角)括弧は追加されません
  • nocite、参考文献へのリンクは作成されません(そして、この項目に基づいて参考文献に参照は追加されません)

\endlink

このコマンドは、\linkコマンドで開始されたリンクを終了します。

関連項目
セクション\link

\link <link-object>

Doxygenによって自動生成されるリンクは常に、それらが指すオブジェクトの名前をリンクテキストとして持ちます。

\linkコマンドは、ユーザー指定のリンクテキストを持つオブジェクト(ファイル、クラス、またはメンバー)へのリンクを作成するために使用できます。リンクコマンドは\endlinkコマンドで終了する必要があります。\link\endlinkコマンドの間のすべてのテキストは、\linkの最初の引数として指定された<link-object>へのリンクのテキストとして機能します。

関連項目
自動生成されたリンクと有効なリンクオブジェクトの詳細については、セクションautolinkを参照してください。

\ref <name> ["(text)"]

名前付きシンボル、ファイル、セクション、サブセクション、ページ、またはアンカーへの参照を作成します。

HTMLドキュメントの場合、参照コマンドはセクションへのリンクを生成します。セクションまたはサブセクションの場合、セクションのタイトルがリンクのテキストとして使用されます。アンカーの場合、引用符で囲まれたオプションのテキストが使用されるか、テキストが指定されていない場合は<name>が使用されます。

<name>にスペースが含まれる場合(たとえば、スペースを含むファイル名を参照する場合)、<name>を二重引用符で囲む必要があります(例:「my file.md」)。

{\LaTeX} ドキュメントの場合、PDF_HYPERLINKSオプションがNOに設定されていない限り、参照コマンドは同じになります。この場合、セクションのタイトル、または<name>がアンカーを参照している場合はそのテキスト、その後にページ番号が生成されます。

関連項目
\refコマンドの例については、セクション\pageを参照してください。

\refitem <name>

\refコマンドと同様に、このコマンドは名前付きセクションへの参照を作成しますが、この参照は\secreflistで始まり\endsecreflistで終わるリストに表示されます。そのようなリストの例は、ページの上部で見ることができます。


\secreflist

\refitemで作成された項目のインデックスリストを開始します。各項目は名前付きセクションにリンクします。


\endsecreflist

\secreflistで開始されたインデックスリストを終了します。


\subpage <name> ["(text)"]

このコマンドは、ページの階層を作成するために使用できます。\defgroupおよび\ingroupコマンドを使用しても同じ構造を作成できますが、ページの場合は\subpageコマンドの方が便利な場合が多いです。メインページ(\mainpageを参照)が通常、階層のルートになります。

このコマンドは、2番目の引数で指定されたオプションのリンクテキストを持つ<name>というラベルのページへの参照を作成するという点で、\refと同様に動作します。

このコマンドはページにのみ機能し、ページ間に親子関係を作成するという点で、\refコマンドとは異なります。この場合、子ページ(またはサブページ)はラベル<name>によって識別されます。

複数のページを作成せずに構造を追加したい場合は、\sectionおよび\subsectionコマンドを参照してください。

各ページは他の1つのページのみのサブページであり、循環参照は許可されません。つまり、ページの階層はツリー構造である必要があります。

例を次に示します。

/*! \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".
*/

\tableofcontents['{'[option[:level]][,option[:level]]*'}']

ページの上部に目次を作成し、ページ内のすべてのセクションとサブセクションをリストします。optionHTMLまたはLaTeXまたはXMLまたはDocBookになります。levelが指定されている場合、これは表示される最大ネストレベルを意味します。levelの値は1..6の範囲である必要があり、この範囲外の値は6と見なされます。levelが指定されていない場合、levelは6に設定されます(すべて表示)。optionが指定されていない場合、\tableofcontentsoption HTMLおよびXMLのみが指定されたかのように動作します。ページに複数の\tableofcontentsコマンドがある場合、option(s) はすでに指定されているoption(s) に追加して使用されますが、optionの最後のlevelのみが有効です。

警告
このコマンドは、関連するページドキュメント内でのみ機能し、他のドキュメントブロックでは機能せず、指定された出力にのみ影響します!

\section <section-name> (section title)

名前<section-name>を持つセクションを作成します。セクションのタイトルは、\sectionコマンドの2番目の引数として指定する必要があります。

警告
このコマンドは、関連するページドキュメント内でのみ機能し、他のドキュメントブロックでは機能しません!
関連項目
\sectionコマンドの例については、セクション\pageを参照してください。

\subsection <subsection-name> (subsection title)

名前<subsection-name>を持つサブセクションを作成します。サブセクションのタイトルは、\subsectionコマンドの2番目の引数として指定する必要があります。

警告
このコマンドは、関連するページドキュメントブロックのセクション内でのみ機能し、他のドキュメントブロックでは機能しません!
関連項目
\subsectionコマンドの例については、セクション\pageを参照してください。

\subsubsection <subsubsection-name> (subsubsection title)

名前<subsubsection-name>を持つサブサブセクションを作成します。サブサブセクションのタイトルは、\subsubsectionコマンドの2番目の引数として指定する必要があります。

警告
このコマンドは、関連するページドキュメントブロックのサブセクション内でのみ機能し、他のドキュメントブロックでは機能しません!
関連項目
\sectionコマンドと\subsectionコマンドの例については、セクション\pageを参照してください。

\paragraph <paragraph-name> (paragraph title)

名前<paragraph-name>を持つ名前付き段落を作成します。段落のタイトルは、\paragraphコマンドの2番目の引数として指定する必要があります。

警告
このコマンドは、関連するページドキュメントブロックのサブサブセクション内でのみ機能し、他のドキュメントブロックでは機能しません!

\subparagraph <subparagraph-name> (subparagraph title)

名前<subparagraph-name>を持つ名前付きサブパラグラフを作成します。サブパラグラフのタイトルは、\subparagraphコマンドの2番目の引数として指定する必要があります。

警告
このコマンドは、関連するページドキュメントブロックのパラグラフ内でのみ機能し、他のドキュメントブロックでは機能しません!

\subsubparagraph <subsubparagraph-name> (subsubparagraph title)

名前<subsubparagraph-name>を持つ名前付きサブサブパラグラフを作成します。サブサブパラグラフのタイトルは、\subsubparagraphコマンドの2番目の引数として指定する必要があります。

警告
このコマンドは、関連するページドキュメントブロックのサブパラグラフ内でのみ機能し、他のドキュメントブロックでは機能しません!

--- 例を表示するためのコマンド ---


\dontinclude['{lineno}'] <file-name>

このコマンドは、ソースファイルを実際に逐語的にドキュメントに含めずに解析するために使用できます(\includeコマンドとは異なります)。これは、ソースファイルを小さな parçalara分割し、 parçalarの間にドキュメントを追加する場合に便利です。ソースファイルまたはディレクトリは、Doxygenの設定ファイルのEXAMPLE_PATHタグを使用して指定できます。

必要に応じて、含まれるコードの行番号を有効にするためにオプションlinenoを追加できます。

オプションstripを追加すると、STRIP_CODE_COMMENTSの設定を上書きして、含まれるコードから特別なコメントが常に非表示になります。また、オプションnostripを追加すると、特別なコメントが常に表示されます。

コードフラグメント内のクラスおよびメンバーの宣言と定義は、\dontincludeコマンドを含むコメントブロックの解析中に「記憶」されます。

ソースファイルの行ごとの説明には、\line\skip\skipline、および\untilコマンドを使用して、例の1行または複数行を表示できます。これらのコマンドには内部ポインタが使用されます。\dontincludeコマンドは、ポインタを例の最初の行に設定します。

/*! テストクラスです。 */
class Include_Test
{
public:
/// メンバ関数
void example();
};
/*! \page pag_example
* \dontinclude include_test.cpp
* メイン関数は次のように始まります。
* \skip main
* \until {
* まず、Include_Testクラスのオブジェクト\c tを作成します。
* \skipline Include_Test
* 次に、例のメンバ関数を呼び出します。
* \line example
* その後、私たちの小さなテストルーチンは終了します。
* \line }
*/
例のファイルinclude_test.cppは次のようになります。
void main()
{
Include_Test t;
t.example();
}
Doxygenによって生成される対応するHTMLドキュメントについては、こちらをクリックしてください。
関連項目
セクション\line\skip\skipline\until、および\include

\include['{'option'}'] <file-name>

このコマンドは、ソースファイルをコードブロックとして含めるために使用できます。このコマンドは、インクルードファイルの名前を引数として取ります。ソースファイルまたはディレクトリは、Doxygenの設定ファイルのEXAMPLE_PATHタグを使用して指定できます。

<file-name> 自体が EXAMPLE_PATH タグで指定された例のファイルのセットに対して一意でない場合は、絶対パスの一部を含めて曖昧さを解消できます。

\includeコマンドの使用は、ファイルをドキュメントブロックに挿入し、それを\code\endcodeコマンドで囲むことと同じです。

\includeコマンドの主な目的は、複数のソースファイルとヘッダファイルから構成される例ブロックの場合に、コードの重複を避けることです。

ソースファイルの行ごとの記述には、\dontincludeコマンドと\line\skip\skipline、および\untilコマンドを組み合わせて使用します。

あるいは、\snippetコマンドを使用して、ソースファイルの一部のみを含めることもできます。このためには、その一部がマークされている必要があります。

Doxygenの特殊コマンドはコードブロック内では機能しません。ただし、Cスタイルのコメントをコードブロック内にネストすることは許可されています。

optionlinenoまたはdocのいずれかであり、さらにlocalを指定できます。

  • 必要に応じて、含まれるコードの行番号を有効にするためにオプションlinenoを使用できます。
  • オプションdocは、ファイルをコードとしてではなくドキュメントとして扱うために使用できます。
  • オプションlocalを使用すると、Doxygenはコードをグローバル名前空間ではなく、インクルードコマンドが出現するクラスまたは名前空間にあるかのように解釈します。
  • オプションstripを使用すると、STRIP_CODE_COMMENTSの設定を上書きして、含まれるコードから特別なコメントを常に非表示にできます。オプションnostripを使用すると、特別なコメントが常に表示されます。これらのオプションは、docオプションと組み合わせて使用しても効果はありません。

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として指定されたかのように扱われます。

含まれるドキュメントにはコメント記号を含めるべきではありません。それらもドキュメントに表示されるためです。
関連項目
セクション\example\dontinclude\verbatim\includedoc、および\snippet

\includelineno <file-name>

このコマンドは廃止されており、後方互換性のためにまだサポートされています。\include{lineno}と同じように動作します。

関連項目
セクション\include{lineno}

\includedoc['{'option'}'] <file-name>

このコマンドは廃止されており、後方互換性のためにまだサポートされています。\include{doc}と同じように動作します。

optionは、\includedocオプションを使用する場合に使えるoptionと同じです。

関連項目
セクション\include{doc}

\line ( pattern )

このコマンドは、最後に\includeまたは\dontincludeを使用して含まれた例を、空白でない行が見つかるまで行ごとに検索します。その行に指定されたパターンが含まれていれば、それが出力に書き込まれます。

例の現在の行を追跡するために使用される内部ポインタは、見つかった空白でない行の次の行の先頭に設定されます(または、そのような行が見つからなかった場合は例の末尾に設定されます)。

例については、セクション\dontincludeを参照してください。


\skip ( pattern )

このコマンドは、最後に\includeまたは\dontincludeを使用して含まれた例を、指定されたパターンを含む行が見つかるまで行ごとに検索します。

例の現在の行を追跡するために使用される内部ポインタは、指定されたパターンを含む行の先頭に設定されます(または、パターンが見つからなかった場合は例の末尾に設定されます)。

例については、セクション\dontincludeを参照してください。


\skipline ( pattern )

このコマンドは、最後に\includeまたは\dontincludeを使用して含まれた例を、指定されたパターンを含む行が見つかるまで行ごとに検索します。その後、その行を出力に書き込みます。

例の現在の行を追跡するために使用される内部ポインタは、書き込まれた行の次の行の先頭に設定されます(または、パターンが見つからなかった場合は例の末尾に設定されます)。

コマンド
\skipline pattern
は次のものと同等です
\skip pattern
\line pattern

例については、セクション\dontincludeを参照してください。


\snippet['{'option'}'] <file-name> ( block_id )

\includeコマンドが完全なファイルをソースコードとして含めるために使用できるのに対し、このコマンドはソースファイルの一部のみを引用するために使用できます。thisが<file-name>として使用される場合、現在のファイルがスニペットを取得するファイルとして使用されます。

たとえば、ドキュメントに次のコマンドを記述すると、EXAMPLE_PATHで指定されたサブディレクトリ内のファイルexample.cppのスニペットを参照します。

  \snippet snippets/example.cpp Adding a resource

ファイル名の後に続くテキストは、スニペットの一意の識別子です。これは、上記の\snippetコマンドに対応する次の例に示すように、関連するスニペットファイルで引用されたコードを区切るために使用されます。

QImage image(64, 64, QImage::Format_RGB32);
image.fill(qRgb(255, 160, 128));
//! [リソースの追加]
document->addResource(QTextDocument::ImageResource,
QUrl("mydata://image.png"), QVariant(image));
//! [リソースの追加]
...

ブロックマーカーを含む行は含まれないため、出力は次のようになります。

document->addResource(QTextDocument::ImageResource,
QUrl("mydata://image.png"), QVariant(image));

[block_id]マーカーはソースファイルに正確に2回出現する必要があることにも注意してください。

optionlinenotrimleft、またはdocのいずれかであり、さらにlocalを指定できます。

  • 必要に応じて、含まれるコードの行番号を有効にするためにオプションlinenoを使用できます。
  • オプションtrimleftを使用すると、(TAB_SIZEタグの設定も考慮して)すべての行の先頭にある共通の空白を削除できます。
  • オプションdocは、ファイルをコードとしてではなくドキュメントとして扱うために使用できます。
  • オプションlocalを使用すると、Doxygenはコードをグローバル名前空間ではなく、インクルードコマンドが出現するクラスまたは名前空間にあるかのように解釈します。
  • オプションstripを使用すると、STRIP_CODE_COMMENTSの設定を上書きして、含まれるコードから特別なコメントを常に非表示にできます。オプションnostripを使用すると、特別なコメントが常に表示されます。これらのオプションは、docオプションと組み合わせて使用しても効果はありません。

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を参照してください。


\snippetlineno <file-name> ( block_id )

このコマンドは廃止されており、後方互換性のためにまだサポートされています。\snippet{lineno}と同じように動作します。

関連項目
セクション\snippet{lineno}

\snippetdoc['{'option'}'] <file-name> ( block_id )

このコマンドは廃止されており、後方互換性のためにまだサポートされています。\snippet{doc}と同じように動作します。

optionは、\snippetdocオプションを使用する場合に使えるoptionと同じです。

関連項目
セクション\snippet{doc}および\include{doc}

\until ( pattern )

このコマンドは、最後に\includeまたは\dontincludeを使用して含まれた例のすべての行を、指定されたパターンを含む行が見つかるまで出力に書き込みます。パターンを含む行も書き込まれます。

例の現在の行を追跡するために使用される内部ポインタは、最後に書き込まれた行の次の行の先頭に設定されます(または、パターンが見つからなかった場合は例の末尾に設定されます)。

例については、セクション\dontincludeを参照してください。


\verbinclude <file-name>

このコマンドは、ファイル<file-name>の内容を逐語的にドキュメントに含めます。このコマンドは、ファイルの内容をドキュメントに貼り付け、その周りを\verbatimおよび\endverbatimコマンドで囲むことと同じです。

Doxygenが検索すべきファイルまたはディレクトリは、Doxygenの設定ファイルのEXAMPLE_PATHタグを使用して指定できます。


\htmlinclude['[block]'] <file-name>

このコマンドは、ファイル<file-name>の内容をHTMLドキュメントにそのまま含め、生成されるXML出力では<htmlonly>でタグ付けします。このコマンドは、ファイルの内容をドキュメントに貼り付け、その周りを\htmlonlyおよび\endhtmlonlyコマンドで囲むことと同じです。

通常、\htmlincludeによって示されるファイルの内容はそのまま挿入されます。テーブルやリストのようなブロックスコープを持つHTMLフラグメントを<p>..</p>の外に表示したい場合、これは無効なHTMLにつながる可能性があります。\htmlinclude[block]を使用すると、Doxygenは現在の段落を終了し、ファイルがインクルードされた後に再開するようにできます。

Doxygenが検索すべきファイルまたはディレクトリは、Doxygenの設定ファイルのEXAMPLE_PATHタグを使用して指定できます。

関連項目
セクション\htmlonly\latexinclude\rtfinclude\maninclude\docbookinclude、および\xmlinclude

\latexinclude <file-name>

このコマンドは、ファイル<file-name>の内容を{\LaTeX} ドキュメントにそのまま含め、生成されるXML出力では<latexonly>でタグ付けします。このコマンドは、ファイルの内容をドキュメントに貼り付け、その周りを\latexonlyおよび\endlatexonlyコマンドで囲むことと同じです。

Doxygenが検索すべきファイルまたはディレクトリは、Doxygenの設定ファイルのEXAMPLE_PATHタグを使用して指定できます。

関連項目
セクション\latexonly\htmlinclude\rtfinclude\maninclude\docbookinclude、および\xmlinclude

\rtfinclude <file-name>

このコマンドは、ファイル<file-name>の内容をRTFドキュメントにそのまま含め、生成されるXML出力では<rtfonly>でタグ付けします。このコマンドは、ファイルの内容をドキュメントに貼り付け、その周りを\rtfonlyおよび\endrtfonlyコマンドで囲むことと同じです。

Doxygenが検索すべきファイルまたはディレクトリは、Doxygenの設定ファイルのEXAMPLE_PATHタグを使用して指定できます。

関連項目
セクション\rtfonly\htmlinclude\latexinclude\maninclude\docbookinclude、および\xmlinclude

\maninclude <file-name>

このコマンドは、ファイル<file-name>の内容をMANドキュメントにそのまま含め、生成されるXML出力では<manonly>でタグ付けします。このコマンドは、ファイルの内容をドキュメントに貼り付け、その周りを\manonlyおよび\endmanonlyコマンドで囲むことと同じです。

Doxygenが検索すべきファイルまたはディレクトリは、Doxygenの設定ファイルのEXAMPLE_PATHタグを使用して指定できます。

関連項目
セクション\manonly\htmlinclude\latexinclude\rtfinclude\docbookinclude、および\xmlinclude

\docbookinclude <file-name>

このコマンドは、ファイル<file-name>の内容をDocBookドキュメントにそのまま含め、生成されるXML出力では<docbookonly>でタグ付けします。このコマンドは、ファイルの内容をドキュメントに貼り付け、その周りを\docbookonlyおよび\enddocbookonlyコマンドで囲むことと同じです。

Doxygenが検索すべきファイルまたはディレクトリは、Doxygenの設定ファイルのEXAMPLE_PATHタグを使用して指定できます。

関連項目
セクション\docbookonly\htmlinclude\latexinclude\rtfinclude\maninclude、および\xmlinclude

\xmlinclude <file-name>

このコマンドは、ファイル<file-name>の内容をXMLドキュメントにそのまま含めます。このコマンドは、ファイルの内容をドキュメントに貼り付け、その周りを\xmlonlyおよび\endxmlonlyコマンドで囲むことと同じです。

Doxygenが検索すべきファイルまたはディレクトリは、Doxygenの設定ファイルのEXAMPLE_PATHタグを使用して指定できます。

関連項目
セクション\xmlonly\htmlinclude\latexinclude\rtfinclude\maninclude、および\docbookinclude

--- 視覚的な強調のためのコマンド ---

\a <word>

引数<word>を斜体で表示します。このコマンドを使用して単語を強調します。このコマンドを使用して、本文中のメンバー引数を参照します。

  ... the \a x and \a y coordinates are used to ...
これにより、次のテキストが生成されます。

... x および y 座標が使用されます ...

\eおよび\emと同義です。複数の単語を強調するには、<em>複数の単語</em>を使用します。


\arg { item-description }

このコマンドは、最初の空白行または別の\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 右寄せ

その他のアライメントタイプはサポートされていません。
ネストされたリストには、HTMLコマンドを使用する必要があります。

\liと同義です。


\b <word>

引数<word>を太字フォントで表示します。<b>word</b>と同義です。複数の単語を太字にするには、<b>複数の単語</b>を使用します。


\c <word>

引数<word>をタイプライターフォントで表示します。コードの単語を参照するためにこれを使用します。<tt>word</tt>と同義です。

入力すると
     ... This function returns \c void and not \c int ...
次のテキストが生成されます。

... この関数はvoidを返し、intではありません ...

\pと同義です。タイプライターフォントで複数の単語を表示するには、<tt>複数の単語</tt>を使用します。


\code['{'<word>'}']

コードブロックを開始します。コードブロックは通常のテキストとは異なる扱いを受けます。ソースコードとして解釈されます。クラスやメンバーの名前、その他の文書化されたエンティティは、自動的にドキュメントへのリンクに置き換えられます。

デフォルトでは、シンタックスハイライトに使用される言語は、\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
関連項目
セクション\endcodeとセクション\verbatim

\copydoc <link-object>

<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を参照してください。


\copybrief <link-object>

\copydocと同様に機能しますが、詳細なドキュメントではなく、簡潔な説明のみをコピーします。


\copydetails <link-object>

\copydocと同様に機能しますが、簡潔な説明ではなく、詳細なドキュメントのみをコピーします。


\docbookonly

生成されるDocBookドキュメントにのみ逐語的に含まれ、生成されるXML出力では<docbookonly>でタグ付けされるテキストブロックを開始します。ブロックは\enddocbookonlyコマンドで終了します。

関連項目
セクション\manonly\latexonly\rtfonly\xmlonly\htmlonly、および\docbookinclude

\dot ["caption"] [<sizeindication>=<size>]

有効なドットグラフの記述を含むテキストフラグメントを開始します。テキストフラグメントは\enddotで終了します。Doxygenはテキストをドットに渡し、結果の画像(およびイメージマップ)を出力に含めます。

最初の引数はオプションであり、画像の下に表示されるキャプションを指定するために使用できます。この引数は、スペースを含まない場合でも引用符で囲む必要があります。引用符はキャプションが表示される前に削除されます。

2番目の引数もオプションであり、画像の幅または高さを指定するために使用できます。可能性の説明については、\imageコマンドと共にあるサイズ表示の段落を参照してください。

グラフのノードは、URL属性を使用してクリック可能にすることができます。URL値内で\refコマンドを使用すると、Doxygen内の項目に便利にリンクできます。例を次に示します。

このコマンドを使用するには、HAVE_DOTYESに設定されている必要があります。
Doxygenは一時ファイルを作成しますが、DOT_CLEANUPタグがNOに設定されていない限り、自動的に削除されます。
/*! クラスB */
class B {};
/*! クラスC */
class C {};
/*! \mainpage
*
* インラインのdotグラフで表現されたクラス関係
* \dot
* digraph example {
* node [shape=record, fontname=Helvetica, fontsize=10];
* b [ label="class B" URL="\ref B"];
* c [ label="class C" URL="\ref C"];
* b -> c [ arrowhead="open", style="dashed" ];
* }
* \enddot
* 上記グラフのクラスはクリック可能です
* (HTML出力の場合)。
*/

\emoji "名前"

このコマンドは、指定された名前の絵文字文字を生成します。

サポートされている名前は、GitHubでもサポートされており、ここにリストされています https://gist.github.com/rxaviers/7360908

コロンの有無にかかわらず名前を使用できます。つまり、\emoji smile\emoji :smile: と書くのと同じです。絵文字がサポートされていない場合、名前はテキスト中にコロンで囲まれて表示されます。つまり、\emoji unsupported は出力で :unsupported: を生成します。Doxygenは警告メッセージも表示します。

詳細については、絵文字サポートページも参照してください。


\msc ["キャプション"] [<サイズ指定>=<サイズ>]

メッセージシーケンスチャートの有効な記述を含むテキストフラグメントを開始します。例については、https://www.mcternan.me.uk/mscgen/を参照してください。テキストフラグメントは\endmscで終わります。

最初の引数はオプションであり、画像の下に表示されるキャプションを指定するために使用できます。この引数は、スペースを含まない場合でも引用符で囲む必要があります。引用符はキャプションが表示される前に削除されます。

2番目の引数もオプションであり、画像の幅または高さを指定するために使用できます。可能性の説明については、\imageコマンドと共にあるサイズ表示の段落を参照してください。

テキストフラグメントには、msc {...}ブロック内にあるメッセージシーケンスチャートの部分のみを含める必要があります(これは\mscfileとは異なります)。
mscgenはDoxygenに組み込まれました。
Doxygenは一時ファイルを作成しますが、DOT_CLEANUPタグがNOに設定されていない限り、自動的に削除されます。

\mscコマンドの使用例を以下に示します。

/** 送信者クラス。コマンドをサーバーに送信するために使用できます。
* 受信者はAck()を呼び出すことでコマンドを承認します。
* \msc
* Sender,Receiver;
* Sender->Receiver [label="Command()", URL="\ref Receiver::Command()"];
* Sender<-Receiver [label="Ack()", URL="\ref Ack()", ID="1"];
* \endmsc
*/
class Sender
{
public:
/** サーバーからの確認 */
void Ack(bool ok);
};
/** 受信者クラス。コマンドを受信して実行するために使用できます。
* コマンドの実行後、受信者は確認応答を送信します
* \msc
* Receiver,Sender;
* Receiver<-Sender [label="Command()", URL="\ref Command()"];
* Receiver->Sender [label="Ack()", URL="\ref Sender::Ack()", ID="1"];
* \endmsc
*/
class Receiver
{
public:
/** サーバー上でコマンドを実行可能 */
void Command(int commandId);
};
関連項目
セクション \mscfile

\startuml ['{'オプション[,オプション]'}'] ["キャプション"] [<サイズ指定>=<サイズ>]

PlantUMLダイアグラムの有効な記述を含むテキストフラグメントを開始します。例については、https://plantuml.com/を参照してください。テキストフラグメントは\endumlで終わります。

このコマンドを使用するには、JavaとPlantUMLのjarファイルをインストールする必要があります。{\LaTeX}でPlantUMLを使用する場合、さらにいくつかのjarファイルをダウンロードする必要があります。詳細はPlantUMLのドキュメントを参照してください。これは<engine>latexmathにも当てはまります。PlantUMLファイルの場所は、PLANTUML_JAR_PATHを使用して指定する必要があります。他のjarファイルもこのディレクトリに配置する必要があります。
PlantUMLはpng形式のみをサポートし、Doxygenは一時的にeps出力を必要とするため、{\LaTeX}では<engine>ditaaを使用することはできません。

すべての図をPlantUMLの@startumlコマンドで作成できるわけではなく、別のPlantUMLの@start...コマンドが必要になります。これは@start<engine>のようになります。現在サポートされている<engine>は次のとおりです。umlbpmwiredotditaasaltmathlatexganttmindmapwbsyamlcreolejsonflowboardgithclregexebnffileschenchronology。デフォルトでは<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コマンドのサイズ指定の段落を参照してください。

Doxygenは、PlantUMLコマンド(@startjsonなど)を設計上直接サポートしていませんが、Doxygen設定ファイルに追加することで、ユーザーがサポートを実現できます。
  ALIASES += startjson=@startuml{json}
  ALIASES += endjson=@enduml
Doxygenは一時ファイルを作成しますが、DOT_CLEANUPタグがNOに設定されていない限り、自動的に削除されます。

\startumlコマンドの使用例を以下に示します。

/** 送信者クラス。コマンドをサーバーに送信するために使用できます。
* 受信者はAck()を呼び出すことでコマンドを承認します。
* \startuml
* Sender->Receiver : Command()
* Sender<--Receiver : Ack()
* \enduml
*/
class Sender
{
public:
/** サーバーからの確認 */
void Ack(bool ok);
};
/** 受信者クラス。コマンドを受信して実行するために使用できます。
* コマンドの実行後、受信者は確認応答を送信します
* \startuml
* Receiver<-Sender : Command()
* Receiver-->Sender : Ack()
* \enduml
*/
class Receiver
{
public:
/** サーバー上でコマンドを実行可能 */
void Command(int commandId);
};

\dotfile <ファイル> ["キャプション"] [<サイズ指定>=<サイズ>]

<ファイル>からdotによって生成された画像をドキュメントに挿入します。

最初の引数は画像ファイル名を指定します。Doxygenは、DOTFILE_DIRSタグの後に指定したパス(またはファイル)にあるファイルを探します。dotファイルが見つかった場合、それはdotツールの入力ファイルとして使用されます。結果の画像は正しい出力ディレクトリに配置されます。dotファイル名にスペースが含まれている場合は、引用符("...")で囲む必要があります。

2番目の引数はオプションであり、画像の下に表示されるキャプションを指定するために使用できます。この引数は、スペースが含まれていなくても引用符で囲んで指定する必要があります。キャプションが表示される前に引用符は削除されます。

3番目の引数もオプションであり、画像の幅または高さを指定するために使用できます。可能性の説明については、\imageコマンドのサイズ指定の段落を参照してください。

このコマンドを使用するには、HAVE_DOTYESに設定されている必要があります。
関連項目
セクション \dot

\mscfile <ファイル> ["キャプション"] [<サイズ指定>=<サイズ>]

<ファイル>からmscgenによって生成された画像をドキュメントに挿入します。例については、https://www.mcternan.me.uk/mscgen/を参照してください。

最初の引数は画像ファイル名を指定します。Doxygenは、MSCFILE_DIRSタグの後に指定したパス(またはファイル)にあるファイルを探します。mscファイルが見つかった場合、それは組み込みのmscgenツールの入力ファイルとして使用されます。結果の画像は正しい出力ディレクトリに配置されます。mscファイル名にスペースが含まれている場合は、引用符("...")で囲む必要があります。

2番目の引数はオプションであり、画像の下に表示されるキャプションを指定するために使用できます。この引数は、スペースが含まれていなくても引用符で囲んで指定する必要があります。キャプションが表示される前に引用符は削除されます。

3番目の引数もオプションであり、画像の幅または高さを指定するために使用できます。可能性の説明については、\imageコマンドのサイズ指定の段落を参照してください。

テキストフラグメントには、シーケンスチャートのメッセージ部分と、開始msc {および終了}を含める必要があります(これは\mscとは異なります)。
関連項目
セクション \msc

\diafile <ファイル> ["キャプション"] [<サイズ指定>=<サイズ>]

<ファイル>からdiaで作成された画像をドキュメントに挿入します。

最初の引数は画像ファイル名を指定します。Doxygenは、DIAFILE_DIRSタグの後に指定したパス(またはファイル)にあるファイルを探します。diaファイルが見つかった場合、それはdiaの入力ファイルとして使用されます。結果の画像は正しい出力ディレクトリに配置されます。diaファイル名にスペースが含まれている場合は、引用符("...")で囲む必要があります。

2番目の引数はオプションであり、画像の下に表示されるキャプションを指定するために使用できます。この引数は、スペースが含まれていなくても引用符で囲んで指定する必要があります。キャプションが表示される前に引用符は削除されます。

3番目の引数もオプションであり、画像の幅または高さを指定するために使用できます。可能性の説明については、\imageコマンドのサイズ指定の段落を参照してください。


\doxyconfig <config_option>

このコマンドが処理されるときに使用されているDoxygenの設定ファイルで、設定オプション<config_option>の値が表示されます。

このマニュアルを作成する際、以下が
  ... Project name = \doxyconfig PROJECT_NAME ...
次のようになります
... プロジェクト名 = Doxygen ...

\e <単語>

引数<単語>を斜体で表示します。単語を強調するためにこのコマンドを使用します。

入力すると
  ... this is a \e really good example ...
次のテキストが生成されます。

... これは _本当に_ 良い例です ...

\a および \em と同等です。複数の単語を強調するには、<em>複数の単語</em>を使用します。


\em <単語>

引数<単語>を斜体で表示します。単語を強調するためにこのコマンドを使用します。

入力すると
  ... this is a \em really good example ...
次のテキストが生成されます。

... これは _本当に_ 良い例です ...

\a および \e と同等です。複数の単語を強調するには、<em>複数の単語</em>を使用します。


\endcode

コードブロックを終了します。

関連項目
セクション \code

\enddocbookonly

\docbookonlyコマンドで開始されたテキストブロックを終了します。

関連項目
セクション \docbookonly

\enddot

\dotで開始されたブロックを終了します。


\endmsc

\mscで開始されたブロックを終了します。


\enduml

\startumlで開始されたブロックを終了します。


\plantumlfile <ファイル> ["キャプション"] [<サイズ指定>=<サイズ>]

<ファイル>からPlantUmlで作成された画像をドキュメントに挿入します。

最初の引数は画像ファイル名を指定します。Doxygenは、PLANTUMLFILE_DIRSタグの後に指定したパス(またはファイル)にあるファイルを探します。plantumlファイルが見つかった場合、それはplantumlプログラムの入力ファイルとして使用されます。結果の画像は正しい出力ディレクトリに配置されます。plantumlファイル名にスペースが含まれている場合は、引用符("...")で囲む必要があります。

2番目の引数はオプションであり、画像の下に表示されるキャプションを指定するために使用できます。この引数は、スペースが含まれていなくても引用符で囲んで指定する必要があります。キャプションが表示される前に引用符は削除されます。

3番目の引数もオプションであり、画像の幅または高さを指定するために使用できます。可能性の説明については、\imageコマンドのサイズ指定の段落を参照してください。


\endhtmlonly

\htmlonlyコマンドで開始されたテキストブロックを終了します。

関連項目
セクション \htmlonly

\endlatexonly

\latexonlyコマンドで開始されたテキストブロックを終了します。

関連項目
セクション \latexonly

\endmanonly

\manonlyコマンドで開始されたテキストブロックを終了します。

関連項目
セクション \manonly

\endrtfonly

\rtfonlyコマンドで開始されたテキストブロックを終了します。

関連項目
セクション \rtfonly

\endverbatim

\verbatimコマンドで開始されたテキストブロックを終了します。このブロック内のすべてのコマンドは無効になります。

関連項目
セクション \verbatim

\endxmlonly

\xmlonlyコマンドで開始されたテキストブロックを終了します。

関連項目
セクション \xmlonly

\f$

インテキスト数式の開始と終了を示します。

関連項目
例については、数式セクションを参照してください。

\f(

インテキスト数式の開始を示しますが、\f$とは異なり、{\LaTeX}では数式モードを明示的に開きません。

関連項目
セクション \f) およびセクション 数式

\f)

\f(で開始されたインテキスト数式の終了を示します。

関連項目
セクション \f( およびセクション 数式

\f[

別の行の中央に表示される長い数式の開始を示します。

関連項目
セクション \f] およびセクション 数式

\f]

別の行の中央に表示される長い数式の終了を示します。

関連項目
セクション \f[ およびセクション 数式

\f{環境}{

特定の環境にある数式の開始を示します。

2番目の{はオプションであり、エディタ(Vimなど)が開き括弧と閉じ括弧の数を同じにすることで適切な構文ハイライトを行うのを助けるためだけです。
関連項目
セクション \f} およびセクション 数式

\f}

特定の環境にある数式の終了を示します。

関連項目
セクション \f{ およびセクション 数式

\htmlonly['[ブロック]']

生成されたHTMLドキュメントにそのまま含まれ、生成されたXML出力では<htmlonly>とタグ付けされるテキストブロックを開始します。このブロックは\endhtmlonlyコマンドで終了します。

このコマンドは、Doxygenには複雑すぎるHTMLコード(アプレット、Javaスクリプト、特定の属性を必要とするHTMLタグなど)を含めるために使用できます。

通常、\htmlonly\endhtmlonlyの間の内容はそのまま挿入されます。テーブルやリストのようなブロック範囲を持つHTMLフラグメントを<p>..</p>の外に表示したい場合、これは無効なHTMLにつながる可能性があります。\htmlonly[block]を使用すると、Doxygenは現在の段落を終了し、\endhtmlonlyの後に再開させることができます。

環境変数($(HOME)など)はHTML専用ブロック内で解決されます。
関連項目
セクション \manonly\latexonly\rtfonly\xmlonly\docbookonly、および\htmlinclude

\image['{'オプション[,オプション]'}'] <形式> <ファイル> ["キャプション"] [<サイズ指定>=<サイズ>]

ドキュメントに画像を挿入します。このコマンドは形式固有であるため、複数の形式に画像を挿入したい場合は、各形式についてこのコマンドを繰り返す必要があります。

最初の引数は、画像が埋め込まれる出力形式を指定します。現在、以下の値がサポートされています: htmllatexdocbookrtfxml

2番目の引数は画像ファイル名を指定します。Doxygenは、IMAGE_PATHタグの後に指定したパス(またはファイル)にあるファイルを探します。画像が見つかった場合、それは正しい出力ディレクトリにコピーされます。画像名にスペースが含まれている場合は、引用符("...")で囲む必要があります。ファイル名の代わりに絶対URLを指定することもできますが、その場合Doxygenは画像をコピーしたり、その存在を確認したりしません。

3番目の引数はオプションであり、画像の下に表示されるキャプションを指定するために使用できます。この引数は、スペースが含まれていなくても単一行で引用符で囲んで指定する必要があります。キャプションが表示される前に引用符は削除されます。

4番目の引数もオプションであり、画像の幅または高さを指定するために使用できます。これは{\LaTeX}またはDocBook出力(つまり、形式=latexまたは形式=docbook)に役立ちます。

サイズ指定
サイズ指定は、使用する幅または高さ(またはその組み合わせ)を指定できます。{\LaTeX}のサイズ指定子(例えば10cmまたは4in、あるいは\textwidthのような記号的な幅)。

現在、オプションinlineanchorのみがサポートされています。オプションinlineが指定されている場合、画像は「行内に」配置され、キャプションが存在する場合はHTMLではツールチップとして表示されます(他の形式では無視されます)。anchorオプションの場合の構文は、anchor:<アンカーID>です。

コメントブロックの例を以下に示します

  /*! 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
警告
HTMLの画像形式は、お使いのブラウザがサポートする形式に限定されます。
{\LaTeX}の場合、画像形式は{\LaTeX}\includegraphicsコマンド(例:Encapsulated PostScript (eps)、Portable network graphics (png)、Joint photographic experts group (jpg / jpeg))でサポートされている必要があります。

Doxygenは画像が正しい形式であるかをチェックしません。したがって、_あなた自身_がそれを確認する必要があります!

\latexonly

生成された{\LaTeX}ドキュメントにそのまま含まれ、生成されたXML出力では<latexonly>とタグ付けされるテキストブロックを開始します。このブロックは\endlatexonlyコマンドで終了します。

このコマンドは、Doxygenには複雑すぎる{\LaTeX}コード(画像、数式、特殊文字など)を含めるために使用できます。適切なHTML代替を提供するには、\htmlonly\endhtmlonlyのペアを使用できます。

注: 環境変数($(HOME)など)は{\LaTeX}専用ブロック内で解決されます。

関連項目
セクション \rtfonly\xmlonly\manonly\htmlonly\docbookonly、および\latexinclude

\manonly

生成されたMANドキュメントにそのまま含まれ、生成されたXML出力では<manonly>とタグ付けされるテキストブロックを開始します。このブロックは\endmanonlyコマンドで終了します。

このコマンドは、groffコードをMANページに直接含めるために使用できます。適切なHTMLと{\LaTeX}の代替を提供するには、\htmlonly\endhtmlonly、および\latexonly\endlatexonlyのペアを使用できます。

関連項目
セクション \htmlonly\xmlonly\rtfonly\latexonly\docbookonly および \maninclude

\li { 項目説明 }

このコマンドには1つの引数があり、最初の空行または別の\liが見つかるまで続きます。このコマンドは、単純な、ネストされていない引数リストを生成するために使用できます。各引数は\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 右寄せ

その他のアライメントタイプはサポートされていません。
ネストされたリストには、HTMLコマンドを使用する必要があります。

\arg と同等です。


\n

改行を強制します。<br> と同等で、printf関数に触発されています。


\p <単語>

パラメータ<単語>をタイプライターフォントで表示します。このコマンドは、実行中のテキストでメンバー関数パラメータを参照するために使用できます。

  ... the \p x and \p y coordinates are used to ...
これにより、次のテキストが生成されます。

... xy座標は...に使用されます。

\c と同等です。複数の単語をタイプライターフォントにするには、<tt>複数の単語</tt>を使用します。


\rtfonly

生成されたRTFドキュメントにそのまま含まれ、生成されたXML出力では<rtfonly>とタグ付けされるテキストブロックを開始します。このブロックは\endrtfonlyコマンドで終了します。

このコマンドは、Doxygenには複雑すぎるRTFコードを含めるために使用できます。

注: 環境変数($(HOME)など)はRTF専用ブロック内で解決されます。

関連項目
セクション \manonly\xmlonly\latexonly\htmlonly\docbookonly および \rtfinclude

\verbatim

ドキュメントにそのまま含まれるテキストブロックを開始します。このブロックは\endverbatimコマンドで終了する必要があります。逐語的ブロック内のすべてのコマンドは無効になります。

警告
\verbatimコマンドに対して\endverbatimコマンドを含めることを確認してください。そうしないと、パーサーが混乱します。
関連項目
セクション \code\endverbatim および \verbinclude

\xmlonly

生成されたXML出力にのみ逐語的に含まれるテキストブロックを開始します。このブロックは\endxmlonlyコマンドで終了します。

このコマンドは、カスタムXMLタグを含めるために使用できます。

関連項目
セクション \manonly\rtfonly\latexonly\htmlonly、および\docbookonly

\\

このコマンドはバックスラッシュ文字(\)を出力に書き込みます。Doxygenがコマンドを検出するために使用するため、バックスラッシュは場合によってはエスケープする必要があります。


\@

このコマンドはアットマーク(@)を出力に書き込みます。DoxygenがJavadocコマンドを検出するために使用するため、アットマークは場合によってはエスケープする必要があります。


\~[LanguageId]

このコマンドは言語固有のフィルタを有効/無効にします。これは、異なる言語のドキュメントを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つの連続したダッシュを出力に書き込むことができます。


次のセクションに進むか、インデックスに戻ります。