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

履歴 編集

class
<text_encoding>

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

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

処理系

参照