@class【クラス】・@struct【構造体】・@union【共用体】・@interface【インタフェース】
@enum【列挙型】@showenumvalues【列挙値の表示】1.12.0@hideenumvalues【列挙値の非表示】1.12.0
@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の詳細

@enum【列挙型】
@showenumvalues【列挙値の表示】1.12.0
@hideenumvalues【列挙値の非表示】1.12.0

メモ

列挙型の記述

  • @enum【列挙型】指定
  • 定義の直前では、通常は省略 (自動解析)
    その他の位置に記述する場合、必須
  • グローバルな定義を出力する場合、@file【ファイル情報】を記述

列挙子の記述

列挙値の表示有無

1.12.0

関連

外部リンク

構文

@enum 列挙型名

@showenumvalues 1.12.0

@hideenumvalues 1.12.0

例:省略・必須

/// @file

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

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

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


typedef enum EnumB
{
    B_1,
    B_2
};

/// @enum EnumB
/// @brief 列挙型Bの概要
/// @details 列挙型Bの詳細 (@@enum 必須)

/// @var EnumB::B_1
/// @brief 列挙子B1の概要 (@@var 必須)

/// @var EnumB::B_2
/// @brief 列挙子B2の概要 (@@var 必須)

【HTML出力例】

◆ EnumA
enum EnumA

列挙型Aの概要

列挙型Aの詳細 (@enum 省略)

列挙値
A_1 

列挙子A1の概要 (@var 省略)

A_2 

列挙子A2の概要 (@var 省略)

A_3 

列挙子A3の概要 (@var 省略)

~.cpp の nnn 行目に定義があります。

◆ EnumB
enum EnumB

列挙型Bの概要

列挙型Bの詳細 (@enum 必須)

列挙値
B_1 

列挙子B1の概要 (@var 必須)

B_2 

列挙子B2の概要 (@var 必須)

~.cpp の nnn 行目に定義があります。

例:クラス内定義

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


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

/// @class ClassEnumD
/// @brief クラスの概要
/// @details クラスの詳細 (@@class 必須)

/// @enum ClassEnumD::enumD
/// @brief 列挙型Dの概要 (@@enum 必須)

/// @var ClassEnumD::D1
/// @brief 列挙子D1の概要 (@@var 必須 / 参照方法1)

/// @var ClassEnumD::enumD ClassEnumD::D2
/// @brief 列挙子D2の概要 (@@var 必須 / 参照方法2)

【HTML出力例:列挙型のみ】

◆ enumC

enum ClassEnumC::enumC

列挙型Cの概要

列挙型Cの詳細 (@enum 省略)

列挙値
C1 

列挙子C1の概要 (@var 省略)

C2 

列挙子C2の概要 (@var 省略)

~.cpp の nnn 行目に定義があります。

◆ enumD

enum ClassEnumD::enumD

列挙型Dの概要

列挙型Dの詳細 (@enum 必須)

列挙値
D1 

列挙子D1の概要 (@var 必須 / 参照方法1)

D2 

列挙子D2の概要 (@var 必須 / 参照方法2)

~.cpp の nnn 行目に定義があります。

例:列挙値の表示有無

/// @file

/// @brief 列挙型Xの概要
/// @details 列挙型Xの詳細 (@@showenumvalues 指定)
/// @showenumvalues
enum EnumX
{
    X_1 = 1,  ///< 列挙子X1の概要
    X_2 = 2,  ///< 列挙子X2の概要
    X_3 = 3,  ///< 列挙子X3の概要
};

/// @brief 列挙型Yの概要
/// @details 列挙型Yの詳細 (@@hideenumvalues 指定)
/// @hideenumvalues
enum EnumY
{
    Y_10 = 10,  ///< 列挙子Y10の概要
    Y_20 = 20,  ///< 列挙子Y20の概要
    Y_30 = 30,  ///< 列挙子Y30の概要
};

/// @brief 列挙型Zの概要
/// @details 列挙型Zの詳細 (@@showenumvalues 指定:明示的な値設定なし)
/// @showenumvalues
enum EnumZ
{
    Z_A,  ///< 列挙子ZAの概要
    Z_B,  ///< 列挙子ZBの概要
    Z_C,  ///< 列挙子ZCの概要
};

【HTML出力例】

◆ EnumX
enum EnumX

列挙型Xの概要

列挙型Xの詳細 (@showenumvalues 指定)

列挙値
X_1 

列挙子X1の概要

X_2 

列挙子X2の概要

X_3 

列挙子X3の概要

~.cpp の nnn 行目に定義があります。

◆ EnumY
enum EnumY

列挙型Yの概要

列挙型Yの詳細 (@hideenumvalues 指定)

列挙値
Y_10 

列挙子Y10の概要

Y_20 

列挙子Y20の概要

Y_30 

列挙子Y30の概要

~.cpp の nnn 行目に定義があります。

◆ EnumZ
enum EnumZ

列挙型Zの概要

列挙型Zの詳細 (@showenumvalues 指定:明示的な値設定なし)

列挙値
Z_A 

列挙子ZAの概要

Z_B 

列挙子ZBの概要

Z_C 

列挙子ZCの概要

~.cpp の nnn 行目に定義があります。


@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

変数の概要

変数の詳細