Iros
 
Loading...
Searching...
No Matches
di::container::RBTreeIterator< Value, Tag > Class Template Reference

#include <di/container/tree/rb_tree_iterator.h>

Inheritance diagram for di::container::RBTreeIterator< Value, Tag >:
[legend]

Public Member Functions

 RBTreeIterator ()=default
 
constexpr RBTreeIterator (Node *node, bool at_end=false)
 
constexpr RBTreeIterator (Node &node)
 
constexpr auto operator* () const -> Value &
 
constexpr auto operator-> () const -> Value *
 
constexpr auto node () const -> Node &
 
constexpr void advance_one ()
 
constexpr void back_one ()
 
- Public Member Functions inherited from di::container::IteratorBase< RBTreeIterator< Value, Tag >, BidirectionalIteratorTag, Value, ssize_t >
 IteratorBase ()=default
 
 IteratorBase (IteratorBase const &)=default
 
 IteratorBase (IteratorBase &&)=default
 
 IteratorBase (IteratorBase const &)=delete
 
auto operator= (IteratorBase const &) -> IteratorBase &=default
 
auto operator= (IteratorBase &&) -> IteratorBase &=default
 
auto operator= (IteratorBase const &) -> IteratorBase &requires(concepts::SameAs< BidirectionalIteratorTag, InputIteratorTag >)=delete
 
constexpr auto operator++ () -> RBTreeIterator< Value, Tag > &
 
constexpr void operator++ (int)
 
constexpr auto operator++ (int) -> RBTreeIterator< Value, Tag > requires(concepts::DerivedFrom< BidirectionalIteratorTag, ForwardIteratorTag >)
 
constexpr auto operator-- () -> RBTreeIterator< Value, Tag > &requires(concepts::DerivedFrom< BidirectionalIteratorTag, BidirectionalIteratorTag >)
 
constexpr auto operator-- (int) -> RBTreeIterator< Value, Tag > requires(concepts::DerivedFrom< BidirectionalIteratorTag, BidirectionalIteratorTag >)
 
constexpr auto operator[] (ssize_t n) const -> decltype(auto) requires(concepts::DerivedFrom< BidirectionalIteratorTag, RandomAccessIteratorTag >)
 
constexpr auto operator+= (ssize_t n) -> RBTreeIterator< Value, Tag > &requires(concepts::DerivedFrom< BidirectionalIteratorTag, RandomAccessIteratorTag >)
 
constexpr auto operator-= (ssize_t n) -> RBTreeIterator< Value, Tag > &requires(concepts::DerivedFrom< BidirectionalIteratorTag, RandomAccessIteratorTag >)
 

Friends

constexpr friend auto operator== (RBTreeIterator const &a, RBTreeIterator const &b) -> bool
 

Constructor & Destructor Documentation

◆ RBTreeIterator() [1/3]

template<typename Value, typename Tag>
di::container::RBTreeIterator< Value, Tag >::RBTreeIterator ( )
default

◆ RBTreeIterator() [2/3]

template<typename Value, typename Tag>
di::container::RBTreeIterator< Value, Tag >::RBTreeIterator ( Node * node,
bool at_end = false )
inlineconstexpr

◆ RBTreeIterator() [3/3]

template<typename Value, typename Tag>
di::container::RBTreeIterator< Value, Tag >::RBTreeIterator ( Node & node)
inlineconstexpr

Member Function Documentation

◆ advance_one()

template<typename Value, typename Tag>
void di::container::RBTreeIterator< Value, Tag >::advance_one ( )
inlineconstexpr

◆ back_one()

template<typename Value, typename Tag>
void di::container::RBTreeIterator< Value, Tag >::back_one ( )
inlineconstexpr

◆ node()

template<typename Value, typename Tag>
auto di::container::RBTreeIterator< Value, Tag >::node ( ) const -> Node&
inlineconstexpr

◆ operator*()

template<typename Value, typename Tag>
auto di::container::RBTreeIterator< Value, Tag >::operator* ( ) const -> Value&
inlineconstexpr

◆ operator->()

template<typename Value, typename Tag>
auto di::container::RBTreeIterator< Value, Tag >::operator-> ( ) const -> Value*
inlineconstexpr

Friends And Related Symbol Documentation

◆ operator==

template<typename Value, typename Tag>
friend auto operator== ( RBTreeIterator< Value, Tag > const & a,
RBTreeIterator< Value, Tag > const & b ) -> bool
friend

The documentation for this class was generated from the following file: