std::ranges::bidirectional_range
ja.cppreference.net より
| ヘッダで定義 <ranges>
|
||
template< class T >
concept bidirectional_range =
ranges::forward_range<T> && std::bidirectional_iterator<ranges::iterator_t<T>>;
|
(C++20 から) | |
この bidirectional_range コンセプトは、range の改良であり、ranges::begin が bidirectional_iterator のモデルを返します。
例
このコードを実行
#include <forward_list> #include <list> #include <ranges> #include <set> #include <unordered_set> int main() { static_assert( std::ranges::bidirectional_range<std::set<int>> and not std::ranges::bidirectional_range<std::unordered_set<int>> and std::ranges::bidirectional_range<std::list<int>> and not std::ranges::bidirectional_range<std::forward_list<int>> ); }
関連項目
|
(C++20)
|
前方イテレータを満たすイテレータ型を持つ範囲を指定する
forward_iterator
(コンセプト) |
|
(C++20)
|
ランダムアクセスイテレータを満たすイテレータ型を持つ範囲を指定する
random_access_iterator
(コンセプト) |