@tparam【テンプレート引数】
@concept【コンセプト (C++20)】1.9.2
@module【モジュール (C++20)】1.9.8

@tparam【テンプレート引数】

メモ

構文

@tparam テンプレート引数名 | テンプレート引数名リスト (カンマ区切り) テンプレート引数の説明

/// @brief テンプレート関数の概要
/// @details テンプレート関数の詳細
/// @tparam T1 テンプレート引数1の説明
/// @tparam T2 テンプレート引数2の説明
/// @param p1 引数1の説明
/// @param p2 引数2の説明
template <typename T1, typename T2>
void funcTemplateA(T1 p1, T2 p2)
{
    // 処理
}

【HTML出力例】

テンプレート関数の概要

テンプレート関数の詳細

テンプレート引数
T1テンプレート引数1の説明
T2テンプレート引数2の説明
引数
p1引数1の説明
p2引数2の説明

template <typename T1, typename T2>
void funcTemplateB(T1 p1, T2 p2)
{
    // 処理
}

/// @fn funcTemplateB(T1, T2)
/// @brief テンプレート関数の概要
/// @details テンプレート関数の詳細
/// @tparam T1, T2 テンプレート引数の説明
/// @param p1 引数1の説明
/// @param p2 引数2の説明

【HTML出力例】

テンプレート関数の概要

テンプレート関数の詳細

テンプレート引数
T1,T2テンプレート引数の説明
引数
p1引数1の説明
p2引数2の説明

/// @brief テンプレートクラスの概要
/// @details テンプレートクラスの詳細
/// @tparam T テンプレート引数の説明
template<class T>
class CTemplateA {
    T flag;
public:
    CTemplateA(T flagValue)
    {
        flag = flagValue;
    }
};

【HTML出力例】

テンプレートクラスの概要

テンプレートクラスの詳細

テンプレート引数
Tテンプレート引数の説明

template<class T>
class CTemplateB {
    T flag;
public:
    CTemplateB(T flagValue)
    {
        flag = flagValue;
    }
};
/// @class CTemplateB
/// @brief テンプレートクラスの概要
/// @details テンプレートクラスの詳細
/// @tparam T テンプレート引数の説明

【HTML出力例】

テンプレートクラスの概要

テンプレートクラスの詳細

テンプレート引数
Tテンプレート引数の説明

@concept【コンセプト (C++20)】1.9.2

メモ

構文

@concept コンセプト名

/// @brief コンセプトの概要
/// @details コンセプトの詳細 (@@concept 省略)
/// @tparam T テンプレート引数の説明
template <class T>
concept MyConceptA = requires (T& x) {
    x.myMethod();
};

【HTML出力例】

コンセプトの概要

コンセプトの詳細 (@concept 省略)

テンプレート引数
Tテンプレート引数の説明

template <class T>
concept MyConceptB = std::is_integral_v<T>;
/// @concept MyConceptB
/// @brief コンセプトの概要
/// @details コンセプトの詳細
/// @tparam T テンプレート引数の説明

【HTML出力例】

コンセプトの概要

コンセプトの詳細

テンプレート引数
Tテンプレート引数の説明

@module【モジュール (C++20)】1.9.8

メモ

概要

  • C++20 (ISO/IEC 14882:2020) で追加された module (モジュール) を記述
    • 定義の直前では、通常は省略
    • その他の位置に記述する場合に使用

関連

外部リンク

構文

@module モジュール名

MyModule.ixx

/// @brief 概要 (MyModule)
/// @details 詳細 (MyModule)
/// @note @@module 省略
export module MyModule;

export void MyModuleFunc();

/// @brief 概要 (MyModuleFunc)
/// @details 詳細 (MyModuleFunc)
void MyModuleFunc() {

}

HTML出力例:MyModuleモジュール

MyModuleモジュール

概要 (MyModule) [詳解]

関数
void MyModuleFunc ()
 概要 (MyModuleFunc)
 
詳解

概要 (MyModule)

詳細 (MyModule)

覚え書き
@module 省略
ファイル
ファイル  MyModule.ixx
 

MyModule2.ixx

export module MyModule2;

/// @module MyModule2
/// @brief 概要 (MyModule2)
/// @details 詳細 (MyModule2)
/// @note @@module 指定

export void MyModuleFunc2();

/// @brief 概要 (MyModuleFunc2)
/// @details 詳細 (MyModuleFunc2)
void MyModuleFunc2() {

}

HTML出力例:MyModule2モジュール

MyModule2モジュール

概要 (MyModule2) [詳解]

関数
void MyModuleFunc2 ()
 概要 (MyModuleFunc2)
 
詳解

概要 (MyModule2)

詳細 (MyModule2)

覚え書き
@module 指定
ファイル
ファイル  MyModule2.ixx