|
Tatooine
|
Go to the source code of this file.
Classes | |
| struct | tatooine::iterator_sentinel |
| struct | tatooine::infer_value_type_impl< Iter > |
| Just use the return type of derefence operator. More... | |
| struct | tatooine::infer_value_type_impl< T > |
If value_type is explicitly given use this typedef. More... | |
| struct | tatooine::infer_difference_type_impl< typename > |
| Base case. More... | |
| struct | tatooine::infer_difference_type_impl< Iter > |
Case when Iter provides a distance_to More... | |
| class | tatooine::iterator_facade< Iter > |
| C++20 implementation of an iterator facade. More... | |
| struct | std::iterator_traits< Iter > |
Namespaces | |
| namespace | tatooine |
Concepts | |
| concept | tatooine::implements_distance_to |
| concept | tatooine::implements_decrement |
| concept | tatooine::implements_dereference |
| concept | tatooine::implements_increment |
| concept | tatooine::implements_advance |
| concept | tatooine::difference_type_arg |
| concept | tatooine::implements_equal |
| concept | tatooine::meets_random_access |
| concept | tatooine::meets_bidirectional |
We meet bidirectional if we are random_access, OR we have .decrement() | |
| concept | tatooine::declares_single_pass |
| Detect if the iterator declares itself to be a single-pass iterator. | |
| concept | tatooine::implements_sentinel_type |
| concept | tatooine::iter_sentinel_arg |
| concept | tatooine::implements_basic_iterator_facade |
| concept | tatooine::derived_from_iterator_facade |
Typedefs | |
| template<typename T > | |
| using | tatooine::infer_value_type = typename infer_value_type_impl< T >::type |
| template<typename Iter > | |
| using | tatooine::infer_difference_type = typename infer_difference_type_impl< Iter >::type |
Functions | |
| template<typename Range > requires requires(Range &&range) { range.begin(); } | |
| auto | tatooine::begin (Range &&range) |
| template<typename Range > requires requires(Range &&range) { range.end(); } | |
| auto | tatooine::end (Range &&range) |
| template<derived_from_iterator_facade Iter> | |
| auto | tatooine::next (Iter iter) |
| template<derived_from_iterator_facade Iter> | |
| auto | tatooine::next (Iter iter, difference_type_arg< Iter > auto off) |
| template<derived_from_iterator_facade Iter> requires implements_decrement<Iter> | |
| auto | tatooine::prev (Iter iter) |
| template<derived_from_iterator_facade Iter> requires implements_decrement<Iter> | |
| auto | tatooine::prev (Iter iter, difference_type_arg< Iter > auto off) |
| template<derived_from_iterator_facade Iter> requires implements_advance<Iter> | |
| auto | tatooine::advance (Iter &iter) |
| template<derived_from_iterator_facade Iter> requires implements_advance<Iter> | |
| auto | tatooine::advance (Iter &iter, difference_type_arg< Iter > auto off) |
| template<derived_from_iterator_facade Iter> requires implements_distance_to<Iter> | |
| constexpr auto | tatooine::distance (Iter const &it0, Iter const &it1) |
| template<derived_from_iterator_facade Iter> requires implements_distance_to<Iter> | |
| constexpr auto | tatooine::distance (Iter const &it0, iter_sentinel_arg< Iter > auto const &it1) |
| template<derived_from_iterator_facade Iter> requires implements_distance_to<Iter> | |
| constexpr auto | tatooine::distance (iter_sentinel_arg< Iter > auto const &it0, Iter const &it1) |