constexpr aliases_view aliases() const noexcept;
概要
エンコーディングのエイリアス(別名)一覧を取得する。
戻り値
*thisが既知の登録済み文字エンコーディングを表す場合、以下を満たすaliases_viewオブジェクトrを返す:
r.front()はIANAレジストリで定義されたプライマリ名を返すrは登録済みエンコーディングのエイリアスを含むrはstrcmpで比較した場合に重複する値を含まない
そうでない場合(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
処理系
- Clang: ??
- GCC: 15 ✅
- Visual C++: ??