std::ranges::bidirectional_range
来自 zh.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
的范围
(概念) |