特殊コマンド

導入

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

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

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

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

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

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

--- 構造インジケータ ---

\addtogroup <name> [(title)]

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

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

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

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

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

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

\callgraph

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

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

\hidecallgraph

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

注意
コールグラフの完全性(および正確性)は、完璧ではない Doxygen コードパーサーに依存します。
関連項目
セクション \callergraph、セクション \callgraph、セクション \hidecallgraph およびオプション 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 に準拠して生成します。継承グラフは、option に準拠して、CLASS_GRAPH の値に関係なく生成されます。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

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

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

\hideenumvalues

このコマンドが列挙型のコメントブロックに記述されている場合、doxygen はその列挙型の指定された列挙値を、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> のクラスのドキュメントが含まれていることを示します。オプションで、ヘッダーファイルとヘッダー名を指定できます。header-file が指定されている場合、ヘッダーの逐語的なコピーへのリンクが 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> (グループタイトル)

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

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

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

\dir [<パスフラグメント>]

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


\enum <name>

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

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

\example['{lineno}'] <ファイル名>

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

<ファイル名> 自体が 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、および enum のドキュメントは、それらが含まれているファイルもドキュメント化されている場合、または EXTRACT_ALLYES に設定されている場合にのみ、出力に含まれます。
/** \file file.h
* ファイルの簡単な説明。
* より詳細なファイルの説明。
*/
/**
* グローバル整数値。
* この値に関する詳細。
*/
extern int globalValue;
Doxygen によって生成された対応する HTML ドキュメントについては、こちらをクリックしてください。
注意
上記の例では、設定ファイルで JAVADOC_AUTOBRIEFYES に設定されています。

\fileinfo['{'option'}']

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

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

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

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

\lineinfo

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

関連項目
セクション \fileinfo

\fn (関数宣言)

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

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

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

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

デフォルトでは、define の値と変数の初期化子は、30 行を超える場合を除き表示されます。define または変数のコメントブロックにこのコマンドを記述すると、初期化子は常に非表示になります。初期化行の最大数は、設定パラメータ 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、enum など)の場合、メンバーは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 が通常生成するデフォルトのタイトルを置き換えます。タイトルが不要な場合は、\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 を使用できます。

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

\memberof <name>

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

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

例のディレクトリにあるファイル manual.c は、このコマンドの使用方法を示しています。
/**
* \file manual.c
*/
typedef struct Object Object; //!< Object type
typedef struct Vehicle Vehicle; //!< Vehicle type
typedef struct Car Car; //!< Car type
typedef struct Truck Truck; //!< Truck type
/*!
* ベースオブジェクトクラス。
*/
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 ベースクラス。
};
/*!
* メイン関数。
*
* Ref 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 [(function declaration)]

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

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

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

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

注 1
このメンバーによってオーバーロードされている、以前にドキュメント化されたメンバーが実際に存在することを確認するのはあなたの責任です。ドキュメントがドキュメントの順序を変更するのを防ぐには、この場合 SORT_MEMBER_DOCSNO に設定する必要があります。
注 2
1 つのコメントブロックに \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

コメントブロックによってドキュメント化されたメンバーが protected、つまり、同じクラスまたは派生クラスの他のメンバーのみがアクセスする必要があることを示します。

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

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

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

\protectedsection

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

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

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

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

関連項目
セクション \class

\public

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

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

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

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

\publicsection

C++ の "public:" クラスマーカーと同様の方法で、public メンバーのセクションを開始します。コメントブロックによってドキュメント化されたメンバーが 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

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

関連項目
セクション \hideinitializer

\static

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

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


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

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

関連項目
セクション \class

\typedef (typedef 宣言)

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

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

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

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

関連項目
セクション \class

\var (変数宣言)

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

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

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

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

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

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

\weakgroup <name> [(title)]

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

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

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


\attention { 注意テキスト }

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


\author { 著者リスト }

1 人以上の著者名を入力できる段落を開始します。段落はインデントされます。段落のテキストには特別な内部構造はありません。すべての視覚強調コマンドを段落内で使用できます。複数の隣接する \author コマンドは、1 つの段落に結合されます。各著者の説明は新しい行で開始されます。または、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 [(セクションラベル)]

対応する \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 { 著作権の説明 }

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


\date { 日付の説明 }

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


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

指定された <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ロケールに対応する午前または午後。
   
%% A % 文字。

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

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

  • オプションの datedate は次のとおりです。
    • 年の4桁
    • マイナス記号
    • 月の1桁または2桁
    • マイナス記号
    • 日の1桁または2桁
  • オプションの timetime は次のとおりです。
    • 空白
    • 時間の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 コマンドは、単一の段落に結合されます。各非推奨の説明は、新しい行から開始されます。\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 タグの後に section-label を記述する必要があります。セクションラベルは、セクション名、丸括弧、&& (AND)、|| (OR)、および ! (NOT) で構築された論理式にすることができます。条件付きブロックはネストできます。ネストされたセクションは、囲んでいるすべてのセクションも有効になっている場合にのみ有効になります。

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

\endcond

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

関連項目
セクション \cond
注意
\endcond および \cond コマンドの解析のタイミングにより、ALIASES で使用することはできません。

\endif

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

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

\exception <exception-object> { exception description }

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


\if (section-label)

条件付きドキュメントセクションを開始します。セクションは、一致する \endif コマンドで終了します。条件付きセクションはデフォルトで無効になっています。有効にするには、構成ファイルの ENABLED_SECTIONS タグの後に section-label を記述する必要があります。

セクションラベルは、セクション名、丸括弧、&& (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 タグの後に section-label を記述する必要があります。セクションラベルは、セクション名、丸括弧、&& (AND)、|| (OR)、および ! (NOT) で構築された論理式にすることができます。

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

\important { important text }

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


\invariant { description of invariant }

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


\note { text }

ノートを入力できる段落を開始します。段落はインデントされます。段落のテキストには特別な内部構造はありません。すべての視覚強調コマンドを段落内で使用できます。隣接する複数の \note コマンドは、単一の段落に結合されます。各ノートの説明は、新しい行から開始されます。または、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 コマンドは、単一の段落に結合されます。各パラメータの説明は、新しい行から開始されます。\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つの \post コマンドで複数の事後条件に言及することもできます。\post コマンドは、空白行または他のセクションコマンドに遭遇すると終了します。


\pre { description of the precondition }

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


\remark { remark text }

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


\remarks { remark text }

\remark と同等です。


\result { description of the result value }

\return と同等です。


\return { description of the return value }

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


\returns { description of the return value }

\return と同等です。


\retval <return value> { description }

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


\sa { references }

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

\see と同義です。

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

\see { references }

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


\short { short description }

\brief と同等です。


\since { text }

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


\test { paragraph describing a test case }

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

説明は、個別のTODOリストにも項目を追加し、説明の2つのインスタンスは相互参照されます。TODOリストの各項目の前には、項目の起源を示すヘッダーが付きます。

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


\version { version number }

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


\warning { warning message }

1つまたは複数の警告メッセージを入力できる段落を開始します。段落はインデントされます。段落のテキストには特別な内部構造はありません。すべての視覚強調コマンドを段落内で使用できます。隣接する複数の \warning コマンドは、単一の段落に結合されます。各警告の説明は、新しい行から開始されます。または、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)

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


\anchor <word>

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

関連項目
\ref セクション。

\cite <label>

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


\endlink

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

関連項目
セクション \link

\link <link-object>

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

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

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

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

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

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

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

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

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

\refitem <name>

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


\secreflist

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


\endsecreflist

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


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

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

このコマンドは、ラベル <name> が付いたページへの参照を、2 番目の引数で指定されたオプションのリンクテキストとともに作成するという意味で、\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]]*'}']

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

警告
このコマンドは、関連するページドキュメント内でのみ機能し、他のドキュメントブロックでは機能しません。また、指定された出力でのみ効果があります。

\section <section-name> (セクションタイトル)

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

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

\subsection <subsection-name> (サブセクションタイトル)

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

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

\subsubsection <subsubsection-name> (サブサブセクションタイトル)

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

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

\paragraph <paragraph-name> (パラグラフタイトル)

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

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

\subparagraph <subparagraph-name> (サブパラグラフタイトル)

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

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

\subsubparagraph <subsubparagraph-name> (サブサブパラグラフタイトル)

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

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

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


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

このコマンドは、ドキュメントに逐語的に含めることなく(\include コマンドのように)、ソースファイルを解析するために使用できます。これは、ソースファイルを小さな断片に分割し、断片間にドキュメントを追加する場合に役立ちます。ソースファイルまたはディレクトリは、Doxygen の設定ファイルの EXAMPLE_PATH タグを使用して指定できます。

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

STRIP_CODE_COMMENTS 設定をオーバーライドして、含まれるコードから常に特別なコメントを非表示にする strip オプションを追加したり、特別なコメントを常に表示する 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
* 次に、example メンバー関数を呼び出します
* \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 タグを使用して指定できます。

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

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

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

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

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

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

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

  • option lineno は、必要に応じて、含まれるコードの行番号を有効にするために使用できます。
  • option doc は、ファイルをコードではなくドキュメントとして扱うために使用できます。
  • option local は、コードをグローバル名前空間ではなく、include コマンドが表示されるクラスまたは名前空間にあるかのように Doxygen に解釈させるために使用できます。
  • option strip を使用すると、STRIP_CODE_COMMENTS 設定をオーバーライドして、含まれるコードから常に特別なコメントを非表示にでき、オプション nostrip を使用すると、特別なコメントを常に表示できます。これらのオプションは、option 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 は、doc オプションを使用する場合、\include で使用できるものと同じ option です。

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

\line ( pattern )

このコマンドは、\include または \dontinclude を使用して最後にインクルードされた例を 1 行ずつ検索し、空白行以外の行を見つけるまで検索します。その行に指定されたパターンが含まれている場合、その行が出力に書き込まれます。

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

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


\skip ( pattern )

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

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

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


\skipline ( pattern )

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

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

注意
コマンド
\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));
//! [Adding a resource]
document->addResource(QTextDocument::ImageResource,
QUrl("mydata://image.png"), QVariant(image));
//! [Adding a resource]
...

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

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

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

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

  • option lineno は、必要に応じて、含まれるコードの行番号を有効にするために使用できます。
  • option trimleft を使用すると、すべての行の先頭にある共通の間隔を削除できます(TAB_SIZE タグの設定も考慮に入れます)。
  • option doc は、ファイルをコードではなくドキュメントとして扱うために使用できます。
  • option local は、コードをグローバル名前空間ではなく、include コマンドが表示されるクラスまたは名前空間にあるかのように Doxygen に解釈させるために使用できます。
  • option strip を使用すると、STRIP_CODE_COMMENTS 設定をオーバーライドして、含まれるコードから常に特別なコメントを非表示にでき、オプション nostrip を使用すると、特別なコメントを常に表示できます。これらのオプションは、option 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 は、doc オプションを使用する場合、\snippet で使用できるものと同じ 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 で示されるファイルの内容はそのまま挿入されます。テーブルやリストなど、<p>..</p> の外側に表示する必要があるブロックスコープを持つ HTML フラグメントを挿入する場合、これは無効な 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 はテキストを dot に渡し、結果の画像 (およびイメージマップ) を出力に含めます。

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

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

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

注意
このコマンドの使用には、HAVE_DOTYES に設定されている必要があります。
Doxygen は一時ファイルを作成しますが、DOT_CLEANUP タグが NO に設定されていない限り、自動的に削除されます。
/*! class B */
class B {};
/*! class 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 "name"

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

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

名前はコロンの有無にかかわらず使用できます。例えば、\emoji smile\emoji :smile: と同じです。絵文字がサポートされていない場合、名前はコロンで囲まれたテキストとしてプレースホルダーに置き換えられます。例えば、\emoji unsupported は出力で :unsupported: を生成します。Doxygen は警告メッセージも出力します。

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


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

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

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

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

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

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

/** Sender クラス。サーバーにコマンドを送信するために使用できます。
* レシーバーは 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);
};
/** Receiver クラス。コマンドを受信および実行するために使用できます。
* コマンドの実行後、レシーバーは確認応答を送信します
* \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 ['{'option[,option]'}'] ["caption"] [<sizeindication>=<size>]

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

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

すべての図が PlantUML の @startuml コマンドで作成できるわけではなく、別の PlantUML の @start... コマンドが必要です。これは @start<engine> のように見え、現在サポートされている <engine> は、umlbpmwiredotditaasaltmathlatexganttmindmapwbsyamlcreolejsonflowboardgithclregexebnffileschen、および 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 コマンドの説明を参照してください。

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

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

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

\dotfile <file> ["caption"] [<sizeindication>=<size>]

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

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

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

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

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

\mscfile <file> ["caption"] [<sizeindication>=<size>]

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

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

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

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

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

\diafile <file> ["caption"] [<sizeindication>=<size>]

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

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

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

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


\doxyconfig <config_option>

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

このマニュアルを作成するとき、以下は
  ... Project name = \doxyconfig PROJECT_NAME ...
次のように出力します
... プロジェクト名 = Doxygen ...

\e <word>

引数 <word> をイタリック体で表示します。このコマンドは、単語を強調するために使用します。

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

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

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


\em <word>

引数 <word> をイタリック体で表示します。このコマンドは、単語を強調するために使用します。

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

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

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


\endcode

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

関連項目
セクション \code

\enddocbookonly

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

関連項目
セクション \docbookonly

\enddot

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


\endmsc

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


\enduml

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


\plantumlfile <file> ["caption"] [<sizeindication>=<size>]

<file> から 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

\xmlonly

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

関連項目
セクション \xmlonly

\f$

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

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

\f(

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

関連項目
セクション \f) およびセクション formulas を参照してください。

\f)

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

関連項目
セクション \f( およびセクション formulas を参照してください。

\f[

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

関連項目
セクション \f] およびセクション formulas を参照してください。

\f]

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

関連項目
セクション \f[ およびセクション formulas を参照してください。

\f{environment}{

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

注意
2 番目の { はオプションであり、開始と終了の中括弧の数を同じにすることで、エディター (Vim など) が適切な構文強調表示を行うのを助けるためだけのものです。
関連項目
セクション \f} およびセクション formulas を参照してください。

\f}

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

関連項目
セクション \f{ およびセクション formulas を参照してください。

\htmlonly['[block]']

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

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

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

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

\image['{'option[,option]'}'] <format> <file> ["caption"] [<sizeindication>=<size>]

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

最初の引数は、画像を埋め込む出力形式を指定します。現在、次の値がサポートされています: html, latex, docbook, rtf, および xml

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

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

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

サイズの指定
sizeindication は、使用する幅または高さ (または組み合わせ) を指定できます。{\LaTeX} のサイズ指定子 (たとえば、10cm4in、または \textwidth のようなシンボリックな幅)。

現在、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
警告
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} コード (つまり、画像、数式、特殊文字) を含めるために使用できます。\htmlonly\endhtmlonly のペアを使用して、適切な HTML の代替手段を提供できます。

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

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

\manonly

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

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

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

\li { item-description }

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

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

\arg と同等です


\n

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


\p <word>

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

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

... x および y 座標は、... に使用されます

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


\rtfonly

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

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

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

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

\verbatim

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

警告
\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 つの連続したダッシュを出力に書き込むことができます。


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