Iros
 
Loading...
Searching...
No Matches
next.h
Go to the documentation of this file.
1#pragma once
2
7
8namespace di::container {
10 template<concepts::Iterator Iter>
11 constexpr auto operator()(Iter iterator) const -> Iter {
12 ++iterator;
13 return iterator;
14 }
15
16 template<concepts::Iterator Iter>
17 constexpr auto operator()(Iter iterator, meta::IteratorSSizeType<Iter> n) const -> Iter {
18 container::advance(iterator, n);
19 return iterator;
20 }
21
22 template<concepts::Iterator Iter, concepts::SentinelFor<Iter> Sent>
23 constexpr auto operator()(Iter iterator, Sent bound) const -> Iter {
24 container::advance(iterator, bound);
25 return iterator;
26 }
27
28 template<concepts::Iterator Iter, concepts::SentinelFor<Iter> Sent>
29 constexpr auto operator()(Iter iterator, meta::IteratorSSizeType<Iter> n, Sent bound) const -> Iter {
30 container::advance(iterator, n, bound);
31 return iterator;
32 }
33};
34
35constexpr inline auto next = NextFunction {};
36}
37
38namespace di {
39using container::next;
40}
Definition sequence.h:12
constexpr auto next
Definition next.h:35
constexpr auto advance
Definition advance.h:62
decltype(container::iterator_ssize_type(types::in_place_type< meta::RemoveCVRef< T > >)) IteratorSSizeType
Definition iterator_ssize_type.h:8
Definition zstring_parser.h:9
Definition next.h:9
constexpr auto operator()(Iter iterator, meta::IteratorSSizeType< Iter > n, Sent bound) const -> Iter
Definition next.h:29
constexpr auto operator()(Iter iterator, Sent bound) const -> Iter
Definition next.h:23
constexpr auto operator()(Iter iterator) const -> Iter
Definition next.h:11
constexpr auto operator()(Iter iterator, meta::IteratorSSizeType< Iter > n) const -> Iter
Definition next.h:17