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) |