最終更新日時: 2026年03月26日 13時46分13秒 (JST)
Raclamusi が更新

履歴 編集

function template
<text_encoding>

# std::text_encoding::environment_is(C++26)

    template<id i>
    static bool environment_is();

## 概要

環境エンコーディングが指定したエンコーディングかどうかを判定する。

この関数は`environment()`を呼び出して比較するのと同等だが、実装によっては指定されたエンコーディングに関する情報のみをプログラムに取り込むことで、エイリアスデータベース全体を取り込まずに済む最適化が可能である。

## 適格要件

`CHAR_BIT == 8`であること。

## 戻り値

`environment() == i`

## 例

    #include <text_encoding>
    #include <print>

    int main() {
      if (std::text_encoding::environment_is<std::text_encoding::id::UTF8>()) {
        std::println("Environment uses UTF-8");
      } else {
        std::println("Environment does not use UTF-8");
        std::println("Encoding: {}", std::text_encoding::environment().name());
      }
    }

### 出力例

    Environment uses UTF-8

## バージョン

### 言語

- C++26

### 処理系

- Clang: ??
- GCC: 15 ✅
- Visual C++: ??

## 参照

- P1885R12 Naming Text Encodings to Demystify Them