- ranges[meta header]
- std[meta namespace]
- class[meta id-type]
- cpp23[meta cpp]
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;
}
}
- std::from_range[color ff0000]
1
2
3
- C++23
- Clang: ??
- GCC: ??
- ICC: ??
- Visual C++: ??