最終更新日時(UTC):
が更新

履歴 編集

function
<text_encoding>

std::text_encoding::aliases(C++26)

constexpr aliases_view aliases() const noexcept;

概要

エンコーディングのエイリアス(別名)一覧を取得する。

戻り値

*thisが既知の登録済み文字エンコーディングを表す場合、以下を満たすaliases_viewオブジェクトrを返す:

  • r.front()はIANAレジストリで定義されたプライマリ名を返す
  • rは登録済みエンコーディングのエイリアスを含む
  • rstrcmpで比較した場合に重複する値を含まない

そうでない場合(id::unknownまたはid::otherの場合)、空のRangeを返す。

rの各要素は、通常リテラルエンコーディングでエンコードされた非ヌルの空でないヌル終端バイト文字列であり、基本文字集合の文字のみで構成される。

エイリアスの順序は未規定である。

例外

投げない。

#include <text_encoding>
#include <print>

int main() {
  std::text_encoding enc{std::text_encoding::id::UTF8};
  std::println("Aliases for UTF-8:");
  for (const char* alias : enc.aliases()) {
    std::println("  {}", alias);
  }

  // 未登録エンコーディングのエイリアスは空
  std::text_encoding other{"WTF-8"};
  std::print("Aliases for WTF-8: ");
  auto aliases = other.aliases();
  if (aliases.begin() == aliases.end()) {
    std::println("(none)");
  }
}

出力例

Aliases for UTF-8:
  UTF-8
  csUTF8
Aliases for WTF-8: (none)

バージョン

言語

  • C++26

処理系

参照