View over an even-length sequence, yielding the disjoint, adjacent pairs of elements.
More...
|
| | Disjoint_pairs_view ()=default |
| |
| | Disjoint_pairs_view (const Source_t &source) |
| | Construct a view that over the given source. More...
|
| |
| | Disjoint_pairs_view (const Disjoint_pairs_view &)=default |
| |
| | Disjoint_pairs_view (Disjoint_pairs_view &&)=default |
| |
| Disjoint_pairs_view & | operator= (const Disjoint_pairs_view &)=default |
| |
| Disjoint_pairs_view & | operator= (Disjoint_pairs_view &&)=default |
| |
| | ~Disjoint_pairs_view ()=default |
| |
| const Source_t & | disjoint_pairs_source () const |
| | Return const reference to the source. More...
|
| |
| auto | begin () const |
| | Return const iterator to the beginning. More...
|
| |
| auto | begin () |
| | Return iterator to the beginning. More...
|
| |
| auto | end () const |
| | Return const iterator to sentinel. More...
|
| |
| auto | end () |
| | Return iterator to sentinel. More...
|
| |
| bool | empty () const |
| | Return true if the range is empty. More...
|
| |
| bool | empty () const |
| | Return true if the range is empty. More...
|
| |
| auto | size () const |
| | Return the number of pairs, i.e., half the size of the source. More...
|
| |
| auto | size () const |
| | Return the number of pairs, i.e., half the size of the source. More...
|
| |
| constexpr auto | cbegin () const |
| | Return constant iterator to the beginning. More...
|
| |
| constexpr auto | cend () const |
| | Return constant iterator to the end. More...
|
| |
| constexpr auto | rbegin () |
| | Return reverse iterator to the beginning. More...
|
| |
| constexpr auto | rend () |
| | Return reverse iterator to the end. More...
|
| |
| constexpr auto | rbegin () const |
| | Return const reverse iterator to the beginning. More...
|
| |
| constexpr auto | rend () const |
| | Return const reverse iterator to the end. More...
|
| |
| constexpr auto | crbegin () const |
| | Return const reverse iterator to the beginning. More...
|
| |
| constexpr auto | crend () const |
| | Return const reverse iterator to the end. More...
|
| |
| constexpr bool | empty () const |
| | Return true if the range is empty, i.e., begin() == end(). More...
|
| |
| constexpr | operator bool () const |
| | Return true if the range is non-empty, i.e., begin() != end(). More...
|
| |
| constexpr bool | operator! () const |
| | Return true if the range is empty, i.e., begin() == end(). More...
|
| |
| constexpr auto | size () const |
| | Return the number of elements in this view, unsigned (size_t), by computing std::ranges::distance(begin, end) More...
|
| |
| constexpr auto | ssize () const |
| | Return the number of elements in this view, signed (ptrdiff_t). More...
|
| |
| constexpr decltype(auto) | front () const |
| | Return the first element. More...
|
| |
| constexpr decltype(auto) | back () const |
| | Return the last element. Enabled if we have bidirectional iterators. More...
|
| |
| constexpr decltype(auto) | operator[] (std::ptrdiff_t n) |
| | Return the n'th element, possibly mutable. More...
|
| |
| constexpr decltype(auto) | operator[] (std::ptrdiff_t n) const |
| | Return the n'th element, const. More...
|
| |
| constexpr auto * | data () |
| | Return pointer to underlying contiguous memory. More...
|
| |
| constexpr auto * | data () const |
| | Return const pointer to underlying contiguous memory. More...
|
| |
template<class Source_tp, class Make_pair_tp = detail::Make_pair>
class mysql::ranges::Disjoint_pairs_view< Source_tp, Make_pair_tp >
View over an even-length sequence, yielding the disjoint, adjacent pairs of elements.
For example, if the source sequence is 2, 3, 5, 7, 11, 13, then this yields the pairs <2,3>, <5,7>, <11,13>. It is conceptually similar to std::stride_view<std::slide_view<Source_tp>>, except the window width is defined at compile time and each window is wrapped in an object.
This a view, which does not own the source. If you need to define a class that owns the source, use Disjoint_pairs_interface.
- Template Parameters
-
| Source_tp | Range that this is a view over. It must have the member functions begin, end, empty, and size. The distance between begin and end must be even. |
| Make_pair_tp | Class containing a static member function make_pair that defines how to construct a pair from two adjacent elements. By default, uses detail::Make_pair, for which make_pair constructs and returns a std::pair object. |