ctrl-utils
Public Types | Public Member Functions | Protected Attributes | List of all members
ctrl_utils::Tree< Key, T >::Iterator< Const > Class Template Reference

Public Types

using TreeT = std::conditional_t< Const, const Tree< Key, T >, Tree< Key, T > >
 
using ValueT = std::conditional_t< Const, const std::pair< const Key, T >, std::pair< const Key, T > >
 
using iterator_category = std::random_access_iterator_tag
 
using value_type = ValueT
 
using difference_type = ptrdiff_t
 
using pointer = value_type *
 
using reference = value_type &
 

Public Member Functions

 Iterator (TreeT *tree, const std::vector< Key > *ids, size_t idx_id)
 
Iteratoroperator++ ()
 
Iterator operator++ (int)
 
reference operator* () const
 
pointer operator-> () const
 
bool operator== (const Iterator &rhs) const
 
bool operator!= (const Iterator &rhs) const
 
Iteratoroperator-- ()
 
Iterator operator-- (int)
 
Iteratoroperator+= (difference_type n)
 
Iterator operator+ (difference_type n) const
 
Iteratoroperator-= (difference_type n)
 
Iterator operator- (difference_type n) const
 
difference_type operator- (const Iterator &rhs) const
 
value_type operator[] (difference_type n) const
 
bool operator< (const Iterator &rhs) const
 
bool operator<= (const Iterator &rhs) const
 
bool operator> (const Iterator &rhs) const
 
bool operator>= (const Iterator &rhs) const
 

Protected Attributes

TreeT * tree_ = nullptr
 
const std::vector< Key > * ids_ = nullptr
 
size_t idx_id_ = 0
 

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