Dash Core Source Documentation (0.16.0.1)

Find detailed information regarding the Dash Core source code.

immer::detail::rbts::rbtree_iterator< T, MP, B, BL > Struct Template Reference

#include <rbtree_iterator.hpp>

+ Inheritance diagram for immer::detail::rbts::rbtree_iterator< T, MP, B, BL >:
+ Collaboration diagram for immer::detail::rbts::rbtree_iterator< T, MP, B, BL >:

Classes

struct  end_t
 

Public Types

using tree_t = rbtree< T, MP, B, BL >
 

Public Member Functions

 rbtree_iterator ()=default
 
 rbtree_iterator (const tree_t &v)
 
 rbtree_iterator (const tree_t &v, end_t)
 
const tree_timpl () const
 
size_t index () const
 
- Public Member Functions inherited from immer::detail::iterator_facade< rbtree_iterator< T, MP, B, BL >, std::random_access_iterator_tag, T, const T &, std::ptrdiff_t, const T *>
const T & operator* () const
 
const T * operator-> () const
 
reference_proxy operator[] (std::ptrdiff_t n) const
 
bool operator== (const rbtree_iterator< T, MP, B, BL > &rhs) const
 
bool operator!= (const rbtree_iterator< T, MP, B, BL > &rhs) const
 
rbtree_iterator< T, MP, B, BL > & operator++ ()
 
rbtree_iterator< T, MP, B, BL > operator++ (int)
 
rbtree_iterator< T, MP, B, BL > & operator-- ()
 
rbtree_iterator< T, MP, B, BL > operator-- (int)
 
rbtree_iterator< T, MP, B, BL > & operator+= (std::ptrdiff_t n)
 
rbtree_iterator< T, MP, B, BL > & operator-= (std::ptrdiff_t n)
 
rbtree_iterator< T, MP, B, BL > operator+ (std::ptrdiff_t n) const
 
rbtree_iterator< T, MP, B, BL > operator- (std::ptrdiff_t n) const
 
std::ptrdiff_t operator- (const rbtree_iterator< T, MP, B, BL > &rhs) const
 
bool operator< (const rbtree_iterator< T, MP, B, BL > &rhs) const
 
bool operator<= (const rbtree_iterator< T, MP, B, BL > &rhs) const
 
bool operator> (const rbtree_iterator< T, MP, B, BL > &rhs) const
 
bool operator>= (const rbtree_iterator< T, MP, B, BL > &rhs) const
 

Private Member Functions

void increment ()
 
void decrement ()
 
void advance (std::ptrdiff_t n)
 
bool equal (const rbtree_iterator &other) const
 
std::ptrdiff_t distance_to (const rbtree_iterator &other) const
 
const T & dereference () const
 

Private Attributes

friend iterator_core_access
 
const tree_tv_
 
size_t i_
 
size_t base_
 
const T * curr_ = nullptr
 

Additional Inherited Members

- Protected Types inherited from immer::detail::iterator_facade< rbtree_iterator< T, MP, B, BL >, std::random_access_iterator_tag, T, const T &, std::ptrdiff_t, const T *>
using access_t = iterator_core_access
 
- Protected Member Functions inherited from immer::detail::iterator_facade< rbtree_iterator< T, MP, B, BL >, std::random_access_iterator_tag, T, const T &, std::ptrdiff_t, const T *>
const rbtree_iterator< T, MP, B, BL > & derived () const
 
rbtree_iterator< T, MP, B, BL > & derived ()
 
- Static Protected Attributes inherited from immer::detail::iterator_facade< rbtree_iterator< T, MP, B, BL >, std::random_access_iterator_tag, T, const T &, std::ptrdiff_t, const T *>
static constexpr auto is_random_access
 
static constexpr auto is_bidirectional
 

Detailed Description

template<typename T, typename MP, bits_t B, bits_t BL>
struct immer::detail::rbts::rbtree_iterator< T, MP, B, BL >

Definition at line 19 of file rbtree_iterator.hpp.

Member Typedef Documentation

◆ tree_t

template<typename T , typename MP , bits_t B, bits_t BL>
using immer::detail::rbts::rbtree_iterator< T, MP, B, BL >::tree_t = rbtree<T, MP, B, BL>

Definition at line 27 of file rbtree_iterator.hpp.

Constructor & Destructor Documentation

◆ rbtree_iterator() [1/3]

template<typename T , typename MP , bits_t B, bits_t BL>
immer::detail::rbts::rbtree_iterator< T, MP, B, BL >::rbtree_iterator ( )
default

◆ rbtree_iterator() [2/3]

template<typename T , typename MP , bits_t B, bits_t BL>
immer::detail::rbts::rbtree_iterator< T, MP, B, BL >::rbtree_iterator ( const tree_t v)
inline

Definition at line 33 of file rbtree_iterator.hpp.

◆ rbtree_iterator() [3/3]

template<typename T , typename MP , bits_t B, bits_t BL>
immer::detail::rbts::rbtree_iterator< T, MP, B, BL >::rbtree_iterator ( const tree_t v,
end_t   
)
inline

Definition at line 40 of file rbtree_iterator.hpp.

Member Function Documentation

◆ advance()

template<typename T , typename MP , bits_t B, bits_t BL>
void immer::detail::rbts::rbtree_iterator< T, MP, B, BL >::advance ( std::ptrdiff_t  n)
inlineprivate

◆ decrement()

template<typename T , typename MP , bits_t B, bits_t BL>
void immer::detail::rbts::rbtree_iterator< T, MP, B, BL >::decrement ( )
inlineprivate

◆ dereference()

◆ distance_to()

template<typename T , typename MP , bits_t B, bits_t BL>
std::ptrdiff_t immer::detail::rbts::rbtree_iterator< T, MP, B, BL >::distance_to ( const rbtree_iterator< T, MP, B, BL > &  other) const
inlineprivate

◆ equal()

template<typename T , typename MP , bits_t B, bits_t BL>
bool immer::detail::rbts::rbtree_iterator< T, MP, B, BL >::equal ( const rbtree_iterator< T, MP, B, BL > &  other) const
inlineprivate

◆ impl()

template<typename T , typename MP , bits_t B, bits_t BL>
const tree_t& immer::detail::rbts::rbtree_iterator< T, MP, B, BL >::impl ( ) const
inline

◆ increment()

template<typename T , typename MP , bits_t B, bits_t BL>
void immer::detail::rbts::rbtree_iterator< T, MP, B, BL >::increment ( )
inlineprivate

◆ index()

template<typename T , typename MP , bits_t B, bits_t BL>
size_t immer::detail::rbts::rbtree_iterator< T, MP, B, BL >::index ( ) const
inline

Member Data Documentation

◆ base_

template<typename T , typename MP , bits_t B, bits_t BL>
size_t immer::detail::rbts::rbtree_iterator< T, MP, B, BL >::base_
mutableprivate

◆ curr_

template<typename T , typename MP , bits_t B, bits_t BL>
const T* immer::detail::rbts::rbtree_iterator< T, MP, B, BL >::curr_ = nullptr
mutableprivate

◆ i_

◆ iterator_core_access

template<typename T , typename MP , bits_t B, bits_t BL>
friend immer::detail::rbts::rbtree_iterator< T, MP, B, BL >::iterator_core_access
private

Definition at line 51 of file rbtree_iterator.hpp.

◆ v_


The documentation for this struct was generated from the following file:
Released under the MIT license