Standard library header <ranges>
From cppreference.com
This header is part of the ranges library.
Contents |
Namespace aliases
Defined in header <ranges>
|
||
namespace std { namespace view = ranges::view; |
||
The namespace alias std::view
is provided as a shorthand for std::ranges::view
.
Defined in header
<ranges> | |
Defined in namespace
std::ranges | |
Range access | |
(C++20) |
returns an iterator to the beginning of a range (customization point object) |
(C++20) |
returns a sentinel indicating the end of a range (customization point object) |
(C++20) |
returns a reverse iterator to a range (customization point object) |
(C++20) |
returns a reverse end iterator to a range (customization point object) |
Range primitives | |
(C++20) |
returns an integer equal to the size of a range (customization point object) |
(C++20) |
checks whether a range is empty (customization point object) |
(C++20) |
obtains a pointer to the beginning of a contiguous range (customization point object) |
(C++20)(C++23)(C++20)(C++23) |
obtains iterator and sentinel types of a range (alias template) |
Range concepts | |
(C++20) |
specifies that a type is a range, that is, it provides a begin iterator and an end sentinel (concept) |
(C++20) |
specifies that a range knows its size in constant time (concept) |
(C++20) |
specifies that a range is a view, that is, it has constant time copy/move/assignment (concept) |
(C++20) |
specifies a range whose iterator type satisfies input_iterator (concept) |
(C++20) |
specifies a range whose iterator type satisfies output_iterator (concept) |
(C++20) |
specifies a range whose iterator type satisfies forward_iterator (concept) |
(C++20) |
specifies a range whose iterator type satisfies bidirectional_iterator (concept) |
(C++20) |
specifies a range whose iterator type satisfies random_access_iterator (concept) |
(C++20) |
specifies a range whose iterator type satisfies contiguous_iterator (concept) |
(C++20) |
specifies that a range has identical iterator and sentinel types (concept) |
(C++20) |
specifies the requirements for a range to be safely convertible to a view (concept) |
Views | |
(C++20) |
helper class template for defining a view , using the curiously recurring template pattern (class template) |
(C++20) |
combines an iterator-sentinel pair into a view (class template) |
Adaptors | |
(C++20) |
a view that includes all elements of a range (alias template) (range adaptor object) |
a view that consists of the elements of a range that satisfies a predicate(class template) (range adaptor object) | |
a view of a sequence that applies a transformation function to each element(class template) (range adaptor object) | |
(C++20) |
a view consisting of a sequence generated by repeatedly incrementing an initial value(class template) (customization point object) |
(C++20) |
a view consisting of the first N elements of another view (class template) (range adaptor object) |
(C++20) |
a view consisting of the sequence obtained from flattening a view of range s(class template) (range adaptor object) |
an empty view with no elements(class template) (variable template) | |
a view that contains a single element of a specified value(class template) (customization point object) | |
a view over the subranges obtained from splitting another view using a delimiter(class template) (range adaptor object) | |
(C++20) |
creates a subrange from an iterator and a count (customization point object) |
converts a view into a common_range (class template) (range adaptor object) | |
a view that iterates over the elements of another bidirectional view in reverse order(class template) (range adaptor object) |