@class【クラス】・@struct【構造体】・@interface【インタフェース】・@union【共用体】
@fn【関数・メソッド】・@property【プロパティ】・@typedef【型定義】・@var【変数・enum値】
@enum【列挙型】
@def【マクロ定義 (#define)】

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

メモ

構文

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

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

// 【C++】
/// クラスAの説明 (省略形)
class ClassA {};
/// 構造体Aの説明 (省略形)
struct StructA {};
/// 共用体Aの説明 (省略形)
union UnionA {};
/// 構造体A2の説明 (省略形)
struct StructA2
{
    /// 共用体A2の説明 (省略形)
    union UnionA2 {};
};

class ClassB {};
/// @class ClassB
/// @brief クラスBの説明
struct StructB {};
/// @struct StructB
/// @brief 構造体Bの説明
union UnionB {};
/// @union UnionB
/// @brief 共用体Bの説明
///
struct StructB2
{
    union UnionB2 {};
};
/// @struct StructB2
/// @brief 構造体B2の説明

/// @union StructB2::UnionB2
/// @brief 共用体B2の説明

class ClassC {};
/// @class ClassC class.h dir1/dir2/dummy.h
/// @brief クラスCの説明

// 【C#】
/// インタフェースAの説明 (省略形)
public interface InterfaceA { }

public interface InterfaceB { }
/// @interface InterfaceB
/// @brief インタフェースBの説明

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

メモ

構文

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

// 【C++】
/// @file

/// 関数A(int)の説明 (省略形)
/// @param p1 引数の説明
void functionA(int p1) {}
/// 関数A(float)の説明
/// @param p1 引数の説明
void functionA(float p1) {}
/// クラスの説明
class ClassFunc
{
public:
    /// メソッドA(int)の説明 (省略形)
    void methodA(int p1) {};
    /// メソッドA(float)の説明 (省略形)
    void methodA(float p1) {};
    void methodB(int p1) {};
    void methodB(float p1) {};
};

void functionB(int p1) {}
/// @fn functionB(int)
/// @brief 関数B(int)の説明
/// @param p1 引数の説明
void functionB(float p1) {}
/// @fn functionB(float)
/// @brief 関数B(float)の説明
/// @param p1 引数の説明

/// @fn ClassFunc::methodB(int)
/// @brief 関数B(int)の説明
/// @param p1 引数の説明

/// @fn ClassFunc::methodB(float)
/// @brief 関数B(float)の説明
/// @param p1 引数の説明

/// 型定義 (UINT) の説明
typedef unsigned int UINT;
typedef unsigned long ULONG;
/// @typedef ULONG
/// @brief 型定義 (ULONG) の説明

/// 変数 (valueA) の説明 (省略形)
int valueA;
int valueB;
/// @var valueB
/// @brief 変数 (valueB) の説明

// 【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の説明

@enum【列挙型】

メモ

構文

@enum 列挙型名

/// 列挙型Aの説明 (省略形)
enum enumA
{
    A1,	///< A1の説明 (省略形)
    A2  ///< A2の説明 (省略形)
};

enum enumB
{
    B1,
    B2
};
/// @enum enumB
/// 列挙型Bの説明
/// @var enumB::B1
/// B1の説明
/// @var enumB::B2
/// B2の説明

class ClassEnumC
{
public:
    enum enumC
    {
        C1,
        C2
    };
    /// @var C1
    /// C1の説明
    /// @var C2
    /// C2の説明
};
/// @class ClassEnumC
/// クラスの説明
/// @enum ClassEnumC::enumC
/// 列挙型Cの説明

class ClassEnumD
{
public:
    enum enumD
    {
        D1,
        D2
    };
};
/// @class ClassEnumD
/// クラスの説明
/// @enum ClassEnumD::enumD
/// 列挙型Dの説明
/// @var ClassEnumD::D1
/// D1の説明
/// @var ClassEnumD::enumD ClassEnumD::D2
/// D2の説明

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

メモ

構文

@def マクロ名

/// マクロ定義の詳細
/// @brief マクロ定義の概要
#define MIN_WIDTH  640

#define MIN_HEIGHT 400
/// @def MIN_HEIGHT
/// マクロ定義の詳細
/// @brief マクロ定義の概要