最終更新日時: 2026年05月07日 12時33分06秒 (JST)
Akira Takahashi が更新

履歴 編集

function
<meta>

# std::meta::current_function(C++26)

    namespace std::meta {
      consteval info current_function();
    }

## 概要

`current_function()`を呼び出した時点で囲んでいる関数のリフレクションを返す。

## 戻り値

呼び出し位置を囲んでいる関数のリフレクションを返す。

## 例外

関数スコープ内で呼ばれていない場合、`std::meta::exception` 例外を送出する。

## 例

    #include <meta>
    #include <print>

    void my_function() {
      constexpr auto fn = std::meta::current_function();
      std::println("関数名: {}", std::meta::identifier_of(fn));
    }

    int main() {
      my_function();
    }

#### 出力例

    関数名: my_function

## バージョン

### 言語

- C++26

### 処理系

- Clang: ??
- GCC: 16 (`-freflection` オプション指定) ✅
- Visual C++: ??

## 関連項目

- `current_class`
- `current_namespace`

## 参照

- P3795R2 Miscellaneous Reflection Cleanup