std::ranges::bidirectional_range
С ru.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
(концепт) |