@class【クラス】・@struct【構造体】・@union【共用体】・@interface【インタフェース】
@fn【関数・メソッド】・@property【プロパティ】・@typedef【型定義】・@var【変数・列挙子】
@showrefby【参照元の表示】・@hiderefby【参照元の非表示】・@showrefs【参照先の表示】・@hiderefs【参照先の非表示】
@enum【列挙型】
@def【マクロ定義 (#define)】
@qualifier【修飾ラベル】1.9.6

@class【クラス】
@struct【構造体】
@union【共用体】
@interface【インタフェース】

メモ

構文

@class クラス名 [ヘッダファイル名] [ヘッダファイル]
@struct 構造体名 [ヘッダファイル名] [ヘッダファイル]
@union 共用体名 [ヘッダファイル名] [ヘッダファイル]
@interface インタフェース名 [ヘッダファイル名] [ヘッダファイル]

ヘッダファイル名:ヘッダファイルへのリンクを作成 (例:#include <ヘッダファイル名>)
ヘッダファイル:上記のリンクテキスト (""・<>で囲むと、"ヘッダファイル"・<ヘッダファイル>)

/// @brief クラスAの概要
/// @details クラスAの詳細
/// @note @@class 省略
class ClassA
{
public:
    int varPublicA1 = 0;  ///< 変数1の概要 (後置)

    /** @brief 変数2の説明 (前置1) */  int varPublicA2 = 0;

    /// @brief 変数3の概要 (前置2)
    int varPublicA3 = 0;

    /// @brief コンストラクタの概要
    /// @details コンストラクタの詳細
    /// @param [in] p 引数の説明
    ClassA(int p) {

    }

    /// @brief メソッドの概要
    /// @details メソッドの詳細
    /// @param [in] p 引数の説明
    /// @return 戻り値の説明
    int methodPublicA(int p) {
        return p;
    }
};


class ClassB
{
public:
    int varPublicB = 0;

    ClassB(int p) {

    }

    int methodPublicB(int p) {
        return p;
    }
};

/// @class ClassB
/// @brief クラスBの概要
/// @details クラスBの詳細

/// @var ClassB::varPublicB
/// @brief 変数の概要

/// @fn ClassB::ClassB
/// @brief コンストラクタの概要
/// @details コンストラクタの詳細
/// @param [in] p 引数の説明

/// @fn ClassB::methodPublicB
/// @brief メソッドの概要
/// @details メソッドの詳細
/// @param [in] p 引数の説明
/// @return 戻り値の説明

/// @file

/// @brief 構造体Aの概要
/// @details 構造体Aの詳細
/// @note @@struct 省略
struct StructA {
    int member_A_1;  ///< メンバA1の概要 (後置)

    /** @brief メンバA2の概要 (前置1) */  int member_A_2;

    /// @brief メンバA3の概要 (前置2)
    int member_A_3;
};


struct StructB {
    int member_B_1;
    int member_B_2;
};

/// @struct StructB
/// @brief 構造体Bの概要
/// @details 構造体Bの詳細

/// @var StructB::member_B_1
/// @brief メンバB1の概要

/// @var StructB::member_B_2
/// @brief メンバB2の概要

/// @file

/// @brief 共用体Aの概要
/// @details 共用体Aの詳細
/// @note @@union 省略
union UnionA {
    char c;  ///< メンバ (char型) の概要 (後置)

    /** @brief メンバ (int型) の概要 (前置1) */  int i;

    /// @brief メンバ (long型) の概要 (前置2)
    long l;
};


union UnionB {
    char c;
    int i;
};

/// @union UnionB
/// @brief 共用体Bの概要
/// @details 共用体Bの詳細

/// @var UnionB::c
/// @brief メンバ (char型) の概要

/// @var UnionB::i
/// @brief メンバ (int型) の概要

// 【C#】
/// @brief インタフェースAの概要
/// @details インタフェースAの詳細
/// @note @@interface 省略
public interface InterfaceA { }


public interface InterfaceB { }

/// @interface InterfaceB
/// @brief インタフェースBの概要
/// @details インタフェースBの詳細

@fn【関数・メソッド】
@property【プロパティ】
@typedef【型定義】
@var【変数・列挙子】

メモ

構文

@fn 関数・メソッド 宣言
@property プロパティ 宣言
@typedef 型定義 宣言
@var 変数・列挙子 宣言

/// @file

/// @brief グローバル関数の概要
/// @details グローバル関数の詳細
/// @param [in] p 引数の説明
/// @return 戻り値の説明
/// @note @@fn 省略
int GlobalFuncA(int p) {
    return p;
}


int GlobalFuncSameName(int p) {
    return p;
}

/// @fn GlobalFuncSameName(int)
/// @brief グローバル関数(int)の概要
/// @details グローバル関数(int)の詳細
/// @param [in] p 引数の説明
/// @return 戻り値の説明
/// @note @@fn はシグネチャを指定


float GlobalFuncSameName(float p) {
    return p;
}

/// @fn GlobalFuncSameName(float)
/// @brief グローバル関数(float)の概要
/// @details グローバル関数(float)の詳細
/// @param [in] p 引数の説明
/// @return 戻り値の説明
/// @note @@fn はシグネチャを指定

/// @brief クラスの概要
/// @details クラスの詳細
class ClassFn
{
public:
    int varA = 0;  ///< 変数Aの概要

/** @brief 変数Bの概要 (@@var 省略) */ int varB = 0;

    /// @brief 変数Cの概要 (@@var 省略)
    int varC = 0;

    int varD = 0;

    /// @brief メソッドの概要
    /// @details メソッドの詳細
    /// @param [in] p 引数の説明
    /// @return 戻り値の説明
    /// @note @@fn 省略
int methodA(int p)
    {
        return p;
    }

    int methodB(int p)
    {
        return p;
    }
};

/// @fn ClassFn::methodB(int)
/// @brief メソッドの概要
/// @details メソッドの詳細
/// @param [in] p 引数の説明
/// @return 戻り値の説明

/// @var ClassFn::varD
/// @brief 変数Dの概要

// 【C#】
/// クラスの説明
class ClassProperty
{
    /// プロパティAの説明 (省略形)
    public int PropertyA { get; set; }
    public int PropertyB { get; set; }
    /// @property PropertyB
    /// @brief プロパティBの説明
    public int PropertyC { get; set; }
}
/// @property ClassProperty::PropertyC
/// @brief プロパティCの説明

/// @file

/// @brief 型定義の概要
/// @details 型定義の詳細
/// @note @@typedef 省略
typedef unsigned int UINT;


typedef unsigned long ULONG;

/// @typedef ULONG
/// @brief 型定義の概要
/// @details 型定義の詳細

/// @file

/// @brief グローバル変数Aの概要
/// @details グローバル変数Aの詳細
/// @note @@var 省略
int GlobalVarA;

int GlobalVarB;  ///< グローバル変数Bの概要 (後置)

int GlobalVarC;

/// @var GlobalVarC
/// @brief グローバル変数Cの概要
/// @details グローバル変数Cの詳細

@showrefby【参照元の表示】
@hiderefby【参照元の非表示】
@showrefs【参照先の表示】
@hiderefs【参照先の非表示】

メモ

構文

@showrefby
@hiderefby
@showrefs
@hiderefs

/// クラスの説明
class ClassRef
{
public:
    /// データXの説明 (参照元の表示)
    /// @showrefby
    int dataX;
    /// データYの説明 (参照元の非表示)
    /// @hiderefby
    int dataY;

    /// メソッドA1の説明 (参照先の表示)
    /// @showrefs
    void MethodA1() {
        dataX = 1;
        dataY = 2;
        MethodB1();
        MethodB2();
    };
    /// メソッドA2の説明 (参照先の非表示)
    /// @hiderefs
    void MethodA2() {
        int x = dataX;
        int y = dataY;
        MethodB1();
        MethodB2();
    };
    /// メソッドB1の説明 (参照先・参照元の表示)
    /// @showrefs
    /// @showrefby
    void MethodB1() {
        MethodC1();
        MethodC2();
    };
    /// メソッドB2の説明 (参照先・参照元の非表示)
    /// @hiderefs
    /// @hiderefby
    void MethodB2() {
        MethodC1();
        MethodC2();
    };
    /// メソッドC1の説明 (参照元の表示)
    /// @showrefby
    void MethodC1() {};
    /// メソッドC2の説明 (参照元の非表示)
    /// @hiderefby
    void MethodC2() {};
};

@enum【列挙型】

メモ

構文

@enum 列挙型名

/// @file

/// @brief 列挙型Aの概要
/// @details 列挙型Aの詳細
/// @note @@enum 省略
enum EnumA
{
    ENUM_A_1,  ///< 列挙子A1の概要 (@@var 省略)

    /** @brief 列挙子A2の概要 (@@var 省略) */  ENUM_A_2,

    /// @brief 列挙子A3の概要 (@@var 省略)
    ENUM_A_3,
};


enum EnumB
{
    ENUM_B_1,
    ENUM_B_2
};

/// @enum EnumB
/// @brief 列挙型Bの概要
/// @details 列挙型Bの詳細

/// @var EnumB::ENUM_B_1
/// @brief 列挙子B1の概要

/// @var EnumB::ENUM_B_2
/// @brief 列挙子B2の概要

/// @brief クラスの概要
/// @details クラスの詳細
/// @note @@class 省略
class ClassEnumC
{
public:
    /// @brief 列挙型Cの概要
    /// @details 列挙型Cの詳細
    /// @note @@enum 省略
enum enumC
    {
        C1,  ///< 列挙子C1の概要
        C2   ///< 列挙子C2の概要
    };
};


class ClassEnumD
{
public:
    enum enumD
    {
        D1,
        D2
    };
};

/// @class ClassEnumD
/// @brief クラスの概要
/// @details クラスの詳細

/// @enum ClassEnumD::enumD
/// @brief 列挙型Dの概要

/// @var ClassEnumD::D1
/// @brief 列挙子D1の概要

/// @var ClassEnumD::enumD ClassEnumD::D2
/// @brief 列挙子D2の概要

@def【マクロ定義 (#define)】

メモ

構文

@def マクロ名

/// @file

/// @brief マクロの概要
/// @details マクロの詳細
/// @note @@def 省略
#define MIN_WIDTH  640


#define MIN_HEIGHT 400

/// @def MIN_HEIGHT
/// @brief マクロの概要
/// @details マクロの詳細


/// @brief マクロの概要
/// @details マクロの詳細
/// @param x 値xの説明
/// @param y 値yの説明
/// @return 戻り値の説明
/// @note @@def 省略
#define MAX(x, y) ((x)>(y) ? (x):(y))

@qualifier【修飾ラベル】1.9.6

メモ

構文

@qualifier ラベル 1.9.6
@qualifier "ラベルテキスト" 1.9.6

/// @brief クラスの概要
/// @details クラスの詳細
/// @qualifier Label_Qualifier_A
/// @qualifier Label_Qualifier_B
/// @qualifier Label_Qualifier_C
class ClassQualifier
{
public:
    /// @brief メソッドの概要
    /// @details メソッドの詳細
    /// @qualifier "Text Qualifier A"
    /// @qualifier "Text Qualifier B"
    /// @qualifier "Text Qualifier C"
    static void methodQualifier() {}

    /// @brief 変数の概要
    /// @details 変数の詳細
    /// @qualifier "修飾ラベル A"
    /// @qualifier "修飾ラベル B"
    /// @qualifier "修飾ラベル C"
    static int varQualifier;
};

【HTML出力例:クラス】

ClassQualifier クラスLabel_Qualifier_ALabel_Qualifier_BLabel_Qualifier_C

【HTML出力例:メソッド】

◆ methodQualifier()

static void ClassQualifier::methodQualifier ()
inlinestaticText Qualifier AText Qualifier BText Qualifier C

メソッドの概要

メソッドの詳細


【HTML出力例:変数】

◆ varQualifier

int ClassQualifier::varQualifier
static修飾ラベル A修飾ラベル B修飾ラベル C

変数の概要

変数の詳細