最終更新日時: 2023年10月19日 20時07分41秒 (JST)
Akira Takahashi が更新

履歴 編集

class
<ranges>

# std::from_range_t(C++23)

    namespace std {
      struct from_range_t { explicit from_range_t() = default; };

      inline constexpr from_range_t from_range{};
    }

## 概要

`from_range_t`クラスは、オーバーロードのための空クラスである。

標準ライブラリのコンテナ初期化において、Rangeからコンテナを構築するオーバーロードを定義するためにある。

## 例

    #include <iostream>
    #include <ranges>
    #include <list>
    #include <vector>

    int main()
    {
      std::vector vec{1, 2, 3};
      std::list lst{std::from_range, vec};
      for (int n: lst) {
        std::cout << n << std::endl;
      }
    }

### 出力

    1
    2
    3

## バージョン

### 言語

- C++23

### 処理系

- Clang: ??
- GCC: ??
- ICC: ??
- Visual C++: ??

## 関連項目

- `container-compatible-range`コンセプト

## 参照

- P1206R7 Conversions from ranges to containers