Dash Core Source Documentation (0.16.0.1)

Find detailed information regarding the Dash Core source code.

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

#include <rrbtree.hpp>

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

Classes

struct  end_t
 

Public Types

using tree_t = rrbtree< T, MP, B, BL >
 
using region_t = std::tuple< const T *, size_t, size_t >
 

Public Member Functions

const tree_timpl () const
 
size_t index () const
 
 rrbtree_iterator ()=default
 
 rrbtree_iterator (const tree_t &v)
 
 rrbtree_iterator (const tree_t &v, end_t)
 
- Public Member Functions inherited from immer::detail::iterator_facade< rrbtree_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 rrbtree_iterator< T, MP, B, BL > &rhs) const
 
bool operator!= (const rrbtree_iterator< T, MP, B, BL > &rhs) const
 
rrbtree_iterator< T, MP, B, BL > & operator++ ()
 
rrbtree_iterator< T, MP, B, BL > operator++ (int)
 
rrbtree_iterator< T, MP, B, BL > & operator-- ()
 
rrbtree_iterator< T, MP, B, BL > operator-- (int)
 
rrbtree_iterator< T, MP, B, BL > & operator+= (std::ptrdiff_t n)
 
rrbtree_iterator< T, MP, B, BL > & operator-= (std::ptrdiff_t n)
 
rrbtree_iterator< T, MP, B, BL > operator+ (std::ptrdiff_t n) const
 
rrbtree_iterator< T, MP, B, BL > operator- (std::ptrdiff_t n) const
 
std::ptrdiff_t operator- (const rrbtree_iterator< T, MP, B, BL > &rhs) const
 
bool operator< (const rrbtree_iterator< T, MP, B, BL > &rhs) const
 
bool operator<= (const rrbtree_iterator< T, MP, B, BL > &rhs) const
 
bool operator> (const rrbtree_iterator< T, MP, B, BL > &rhs) const
 
bool operator>= (const rrbtree_iterator< T, MP, B, BL > &rhs) const
 

Private Member Functions

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

Private Attributes

friend iterator_core_access
 
const tree_tv_
 
size_t i_
 
region_t curr_
 

Additional Inherited Members

- Protected Types inherited from immer::detail::iterator_facade< rrbtree_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< rrbtree_iterator< T, MP, B, BL >, std::random_access_iterator_tag, T, const T &, std::ptrdiff_t, const T *>
const rrbtree_iterator< T, MP, B, BL > & derived () const
 
rrbtree_iterator< T, MP, B, BL > & derived ()
 
- Static Protected Attributes inherited from immer::detail::iterator_facade< rrbtree_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::rrbtree_iterator< T, MP, B, BL >

Definition at line 30 of file rrbtree.hpp.

Member Typedef Documentation

◆ region_t

template<typename T , typename MP , bits_t B, bits_t BL>
using immer::detail::rbts::rrbtree_iterator< T, MP, B, BL >::region_t = std::tuple<const T*, size_t, size_t>

Definition at line 28 of file rrbtree_iterator.hpp.

◆ tree_t

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

Definition at line 27 of file rrbtree_iterator.hpp.

Constructor & Destructor Documentation

◆ rrbtree_iterator() [1/3]

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

◆ rrbtree_iterator() [2/3]

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

Definition at line 37 of file rrbtree_iterator.hpp.

◆ rrbtree_iterator() [3/3]

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

Definition at line 44 of file rrbtree_iterator.hpp.

Member Function Documentation

◆ advance()

template<typename T , typename MP , bits_t B, bits_t BL>
void immer::detail::rbts::rrbtree_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::rrbtree_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::rrbtree_iterator< T, MP, B, BL >::distance_to ( const rrbtree_iterator< T, MP, B, BL > &  other) const
inlineprivate

◆ equal()

template<typename T , typename MP , bits_t B, bits_t BL>
bool immer::detail::rbts::rrbtree_iterator< T, MP, B, BL >::equal ( const rrbtree_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::rrbtree_iterator< T, MP, B, BL >::impl ( ) const
inline

◆ increment()

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

◆ index()

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

Member Data Documentation

◆ curr_

template<typename T , typename MP , bits_t B, bits_t BL>
region_t immer::detail::rbts::rrbtree_iterator< T, MP, B, BL >::curr_
mutableprivate

◆ i_

◆ iterator_core_access

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

Definition at line 51 of file rrbtree_iterator.hpp.

◆ v_


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