struct text_encoding::aliases_view : ranges::view_interface<text_encoding::aliases_view> {
constexpr implementation-defined begin() const;
constexpr implementation-defined end() const;
};
概要
aliases_viewは、エンコーディングのエイリアス(別名)一覧を提供するビュークラスである。
このクラスは以下のコンセプトをモデル化する:
ranges::range_value_t<text_encoding::aliases_view>およびranges::range_reference_t<text_encoding::aliases_view>はともにconst char*を表す。
例
#include <text_encoding>
#include <print>
#include <ranges>
int main() {
std::text_encoding enc{std::text_encoding::id::ShiftJIS};
auto aliases = enc.aliases();
// プライマリ名
if (aliases.begin() != aliases.end()) {
std::println("Primary name: {}", aliases.front());
}
// すべてのエイリアスを表示
std::println("All aliases:");
for (const char* alias : aliases) {
std::println(" {}", alias);
}
// random_access_rangeなのでサイズも取得可能
std::println("Number of aliases: {}", std::ranges::distance(aliases));
}
出力例
Primary name: Shift_JIS
All aliases:
Shift_JIS
MS_Kanji
csShiftJIS
Number of aliases: 3
バージョン
言語
- C++26
処理系
- Clang: ??
- GCC: 15 ✅
- Visual C++: ??