Dash Core Source Documentation (0.16.0.1)
Find detailed information regarding the Dash Core source code.
#include <rbtree.hpp>
Public Types | |
using | node_t = node< T, MemoryPolicy, B, BL > |
using | edit_t = typename node_t::edit_t |
using | owner_t = typename MemoryPolicy::transience_t::owner |
Public Member Functions | |
rbtree (size_t sz, shift_t sh, node_t *r, node_t *t) | |
rbtree (const rbtree &other) | |
rbtree (rbtree &&other) | |
rbtree & | operator= (const rbtree &other) |
rbtree & | operator= (rbtree &&other) |
~rbtree () | |
void | inc () const |
void | dec () const |
auto | tail_size () const |
auto | tail_offset () const |
template<typename Visitor , typename... Args> | |
void | traverse (Visitor v, Args &&... args) const |
template<typename Visitor , typename... Args> | |
void | traverse (Visitor v, size_t first, size_t last, Args &&... args) const |
template<typename Visitor , typename... Args> | |
bool | traverse_p (Visitor v, Args &&... args) const |
template<typename Visitor , typename... Args> | |
bool | traverse_p (Visitor v, size_t first, size_t last, Args &&... args) const |
template<typename Visitor > | |
decltype(auto) | descend (Visitor v, size_t idx) const |
template<typename Fn > | |
void | for_each_chunk (Fn &&fn) const |
template<typename Fn > | |
void | for_each_chunk (size_t first, size_t last, Fn &&fn) const |
template<typename Fn > | |
bool | for_each_chunk_p (Fn &&fn) const |
template<typename Fn > | |
bool | for_each_chunk_p (size_t first, size_t last, Fn &&fn) const |
bool | equals (const rbtree &other) const |
void | ensure_mutable_tail (edit_t e, count_t n) |
void | push_back_mut (edit_t e, T value) |
rbtree | push_back (T value) const |
const T * | array_for (size_t index) const |
T & | get_mut (edit_t e, size_t idx) |
const T & | get (size_t index) const |
const T & | get_check (size_t index) const |
const T & | front () const |
const T & | back () const |
template<typename FnT > | |
void | update_mut (edit_t e, size_t idx, FnT &&fn) |
template<typename FnT > | |
rbtree | update (size_t idx, FnT &&fn) const |
void | assoc_mut (edit_t e, size_t idx, T value) |
rbtree | assoc (size_t idx, T value) const |
rbtree | take (size_t new_size) const |
void | take_mut (edit_t e, size_t new_size) |
bool | check_tree () const |
bool | check_tail () const |
bool | check_root () const |
Static Public Member Functions | |
static const rbtree & | empty () |
template<typename U > | |
static auto | from_initializer_list (std::initializer_list< U > values) |
template<typename Iter , typename Sent , std::enable_if_t< compatible_sentinel_v< Iter, Sent >, bool > = true> | |
static auto | from_range (Iter first, Sent last) |
static auto | from_fill (size_t n, T v) |
Public Attributes | |
size_t | size |
shift_t | shift |
node_t * | root |
node_t * | tail |
Friends | |
void | swap (rbtree &x, rbtree &y) |
Detailed Description
template<typename T, typename MemoryPolicy, bits_t B, bits_t BL>
struct immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >
Definition at line 29 of file rbtree.hpp.
Member Typedef Documentation
◆ edit_t
using immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::edit_t = typename node_t::edit_t |
Definition at line 32 of file rbtree.hpp.
◆ node_t
using immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::node_t = node<T, MemoryPolicy, B, BL> |
Definition at line 31 of file rbtree.hpp.
◆ owner_t
using immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::owner_t = typename MemoryPolicy::transience_t::owner |
Definition at line 33 of file rbtree.hpp.
Constructor & Destructor Documentation
◆ rbtree() [1/3]
|
inline |
Definition at line 82 of file rbtree.hpp.
◆ rbtree() [2/3]
|
inline |
Definition at line 88 of file rbtree.hpp.
References immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::root, immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::shift, immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::size, and immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::tail.
◆ rbtree() [3/3]
|
inline |
Definition at line 94 of file rbtree.hpp.
References immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::empty().
◆ ~rbtree()
|
inline |
Definition at line 122 of file rbtree.hpp.
References immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::dec().
Member Function Documentation
◆ array_for()
|
inline |
Definition at line 351 of file rbtree.hpp.
References immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::descend().
Referenced by immer::detail::rbts::rbtree_iterator< T, MP, B, BL >::dereference().
◆ assoc()
|
inline |
Definition at line 420 of file rbtree.hpp.
References immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::update().
Referenced by immer::vector< T, MemoryPolicy, B, BL >::set(), and immer::vector< T, MemoryPolicy, B, BL >::set_move().
◆ assoc_mut()
|
inline |
Definition at line 413 of file rbtree.hpp.
References immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::update_mut().
Referenced by immer::vector_transient< T, MemoryPolicy, B, BL >::set(), and immer::vector< T, MemoryPolicy, B, BL >::set_move().
◆ back()
|
inline |
Definition at line 385 of file rbtree.hpp.
References immer::detail::rbts::node< T, MemoryPolicy, B, BL >::leaf(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::size, and immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::tail.
Referenced by immer::vector< T, MemoryPolicy, B, BL >::back().
◆ check_root()
|
inline |
Definition at line 517 of file rbtree.hpp.
References immer::detail::rbts::node< T, MemoryPolicy, B, BL >::check(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::inner, immer::detail::rbts::node< T, MemoryPolicy, B, BL >::kind(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::root, immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::shift, and immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::tail_offset().
Referenced by immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::check_tree().
◆ check_tail()
|
inline |
Definition at line 508 of file rbtree.hpp.
References immer::detail::rbts::node< T, MemoryPolicy, B, BL >::check(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::tail, and immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::tail_size().
Referenced by immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::check_tree().
◆ check_tree()
|
inline |
Definition at line 497 of file rbtree.hpp.
References immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::check_root(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::check_tail(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::shift, immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::size, and immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::tail_offset().
◆ dec()
|
inline |
Definition at line 133 of file rbtree.hpp.
References immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::traverse().
Referenced by immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::~rbtree().
◆ descend()
|
inline |
Definition at line 215 of file rbtree.hpp.
References immer::detail::rbts::make_leaf_descent_pos(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::root, immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::shift, immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::tail, immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::tail_offset(), and immer::detail::rbts::visit_regular_descent().
Referenced by immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::array_for(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::get(), and immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::get_check().
◆ empty()
|
inlinestatic |
Definition at line 40 of file rbtree.hpp.
References immer::detail::rbts::node< T, MemoryPolicy, B, BL >::make_inner_n(), and immer::detail::rbts::node< T, MemoryPolicy, B, BL >::make_leaf_n().
Referenced by immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::from_fill(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::from_initializer_list(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::from_range(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::rbtree(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::take(), and immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::take_mut().
◆ ensure_mutable_tail()
|
inline |
Definition at line 258 of file rbtree.hpp.
References immer::detail::rbts::node< T, MemoryPolicy, B, BL >::can_mutate(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::copy_leaf_e(), immer::detail::rbts::dec_leaf(), and immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::tail.
Referenced by immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::get_mut(), and immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::push_back_mut().
◆ equals()
|
inline |
Definition at line 247 of file rbtree.hpp.
References immer::detail::rbts::make_leaf_sub_pos(), immer::detail::rbts::make_regular_sub_pos(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::root, immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::shift, immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::size, immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::tail, immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::tail_offset(), and immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::tail_size().
Referenced by immer::vector< T, MemoryPolicy, B, BL >::operator==().
◆ for_each_chunk() [1/2]
|
inline |
Definition at line 224 of file rbtree.hpp.
References immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::traverse().
◆ for_each_chunk() [2/2]
|
inline |
Definition at line 230 of file rbtree.hpp.
References immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::traverse().
◆ for_each_chunk_p() [1/2]
|
inline |
Definition at line 236 of file rbtree.hpp.
References immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::traverse_p().
◆ for_each_chunk_p() [2/2]
|
inline |
Definition at line 242 of file rbtree.hpp.
References immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::traverse_p().
◆ from_fill()
|
inlinestatic |
Definition at line 73 of file rbtree.hpp.
References immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::empty(), and immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::push_back_mut().
◆ from_initializer_list()
|
inlinestatic |
Definition at line 52 of file rbtree.hpp.
References immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::empty(), and immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::push_back_mut().
Referenced by immer::vector< T, MemoryPolicy, B, BL >::vector().
◆ from_range()
|
inlinestatic |
Definition at line 64 of file rbtree.hpp.
References immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::empty(), and immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::push_back_mut().
Referenced by immer::vector< T, MemoryPolicy, B, BL >::vector().
◆ front()
|
inline |
Definition at line 380 of file rbtree.hpp.
Referenced by immer::vector< T, MemoryPolicy, B, BL >::front().
◆ get()
|
inline |
Definition at line 368 of file rbtree.hpp.
References immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::descend().
Referenced by immer::vector_transient< T, MemoryPolicy, B, BL >::operator[](), and immer::vector< T, MemoryPolicy, B, BL >::operator[]().
◆ get_check()
|
inline |
Definition at line 373 of file rbtree.hpp.
References immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::descend(), and immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::size.
Referenced by immer::vector_transient< T, MemoryPolicy, B, BL >::at(), and immer::vector< T, MemoryPolicy, B, BL >::at().
◆ get_mut()
|
inline |
Definition at line 356 of file rbtree.hpp.
References immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::ensure_mutable_tail(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::leaf(), immer::detail::rbts::make_regular_sub_pos(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::root, immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::shift, immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::size, immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::tail, and immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::tail_offset().
Referenced by immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::update_mut().
◆ inc()
|
inline |
Definition at line 127 of file rbtree.hpp.
References immer::detail::rbts::node< T, MemoryPolicy, B, BL >::inc(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::root, and immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::tail.
◆ operator=() [1/2]
|
inline |
Definition at line 100 of file rbtree.hpp.
References immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::swap.
◆ operator=() [2/2]
|
inline |
Definition at line 107 of file rbtree.hpp.
References immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::swap.
◆ push_back()
|
inline |
Definition at line 310 of file rbtree.hpp.
References immer::detail::rbts::node< T, MemoryPolicy, B, BL >::copy_leaf_emplace(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::delete_inner(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::delete_leaf(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::inc(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::inner(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::make_inner_n(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::make_leaf_n(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::make_path(), immer::detail::rbts::make_regular_sub_pos(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::root, immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::shift, immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::size, immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::tail, and immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::tail_offset().
Referenced by immer::vector< T, MemoryPolicy, B, BL >::push_back(), and immer::vector< T, MemoryPolicy, B, BL >::push_back_move().
◆ push_back_mut()
|
inline |
Definition at line 267 of file rbtree.hpp.
References immer::detail::rbts::dec_empty_regular(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::delete_inner_e(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::delete_leaf(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::ensure_mutable_tail(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::inner(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::leaf(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::make_inner_e(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::make_leaf_e(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::make_path_e(), immer::detail::rbts::make_regular_sub_pos(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::root, immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::shift, immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::size, immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::tail, and immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::tail_offset().
Referenced by immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::from_fill(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::from_initializer_list(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::from_range(), immer::vector_transient< T, MemoryPolicy, B, BL >::push_back(), and immer::vector< T, MemoryPolicy, B, BL >::push_back_move().
◆ tail_offset()
|
inline |
Definition at line 143 of file rbtree.hpp.
References immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::size.
Referenced by immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::check_root(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::check_tree(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::descend(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::equals(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::get_mut(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::push_back(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::push_back_mut(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::take(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::take_mut(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::traverse(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::traverse_p(), and immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::update().
◆ tail_size()
|
inline |
Definition at line 138 of file rbtree.hpp.
References immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::size.
Referenced by immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::check_tail(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::equals(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::traverse(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::traverse_p(), and immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::update().
◆ take()
|
inline |
Definition at line 427 of file rbtree.hpp.
References immer::detail::rbts::node< T, MemoryPolicy, B, BL >::copy_leaf(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::empty(), immer::detail::csl::get(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::inc(), immer::detail::rbts::make_regular_sub_pos(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::root, immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::shift, immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::size, immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::tail, and immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::tail_offset().
Referenced by immer::vector< T, MemoryPolicy, B, BL >::take(), and immer::vector< T, MemoryPolicy, B, BL >::take_move().
◆ take_mut()
|
inline |
Definition at line 455 of file rbtree.hpp.
References immer::detail::rbts::node< T, MemoryPolicy, B, BL >::can_mutate(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::copy_leaf_e(), immer::detail::rbts::dec_leaf(), immer::detail::destroy_n(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::empty(), immer::detail::csl::get(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::inc(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::leaf(), immer::detail::rbts::make_regular_sub_pos(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::root, immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::shift, immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::size, immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::tail, and immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::tail_offset().
Referenced by immer::vector_transient< T, MemoryPolicy, B, BL >::take(), and immer::vector< T, MemoryPolicy, B, BL >::take_move().
◆ traverse() [1/2]
|
inline |
Definition at line 149 of file rbtree.hpp.
References immer::detail::rbts::make_empty_regular_pos(), immer::detail::rbts::make_leaf_sub_pos(), immer::detail::rbts::make_regular_sub_pos(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::root, immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::shift, immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::size, immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::tail, immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::tail_offset(), and immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::tail_size().
Referenced by immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::dec(), and immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::for_each_chunk().
◆ traverse() [2/2]
|
inline |
Definition at line 161 of file rbtree.hpp.
References immer::detail::rbts::make_leaf_sub_pos(), immer::detail::rbts::make_regular_sub_pos(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::root, immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::shift, immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::size, immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::tail, immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::tail_offset(), and immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::tail_size().
◆ traverse_p() [1/2]
|
inline |
Definition at line 181 of file rbtree.hpp.
References immer::detail::rbts::make_empty_regular_pos(), immer::detail::rbts::make_leaf_sub_pos(), immer::detail::rbts::make_regular_sub_pos(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::root, immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::shift, immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::size, immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::tail, immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::tail_offset(), and immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::tail_size().
Referenced by immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::for_each_chunk_p().
◆ traverse_p() [2/2]
|
inline |
Definition at line 192 of file rbtree.hpp.
References immer::detail::rbts::make_leaf_sub_pos(), immer::detail::rbts::make_regular_sub_pos(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::root, immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::shift, immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::size, immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::tail, immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::tail_offset(), and immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::tail_size().
◆ update()
|
inline |
Definition at line 398 of file rbtree.hpp.
References immer::detail::rbts::node< T, MemoryPolicy, B, BL >::inc(), immer::detail::rbts::make_leaf_sub_pos(), immer::detail::rbts::make_regular_sub_pos(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::root, immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::shift, immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::size, immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::tail, immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::tail_offset(), and immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::tail_size().
Referenced by immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::assoc(), immer::vector< T, MemoryPolicy, B, BL >::update(), and immer::vector< T, MemoryPolicy, B, BL >::update_move().
◆ update_mut()
|
inline |
Definition at line 391 of file rbtree.hpp.
References immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::get_mut().
Referenced by immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::assoc_mut(), immer::vector_transient< T, MemoryPolicy, B, BL >::update(), and immer::vector< T, MemoryPolicy, B, BL >::update_move().
Friends And Related Function Documentation
◆ swap
|
friend |
Definition at line 113 of file rbtree.hpp.
Referenced by immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::operator=().
Member Data Documentation
◆ root
node_t* immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::root |
Definition at line 37 of file rbtree.hpp.
Referenced by immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::check_root(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::descend(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::equals(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::get_mut(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::inc(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::push_back(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::push_back_mut(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::rbtree(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::take(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::take_mut(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::traverse(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::traverse_p(), and immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::update().
◆ shift
shift_t immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::shift |
Definition at line 36 of file rbtree.hpp.
Referenced by immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::check_root(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::check_tree(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::descend(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::equals(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::get_mut(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::push_back(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::push_back_mut(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::rbtree(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::take(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::take_mut(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::traverse(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::traverse_p(), and immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::update().
◆ size
size_t immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::size |
Definition at line 35 of file rbtree.hpp.
Referenced by immer::detail::rbts::rbtree_iterator< T, MP, B, BL >::advance(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::back(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::check_tree(), immer::vector_transient< T, MemoryPolicy, B, BL >::empty(), immer::vector< T, MemoryPolicy, B, BL >::empty(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::equals(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::get_check(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::get_mut(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::push_back(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::push_back_mut(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::rbtree(), immer::vector_transient< T, MemoryPolicy, B, BL >::size(), immer::vector< T, MemoryPolicy, B, BL >::size(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::tail_offset(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::tail_size(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::take(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::take_mut(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::traverse(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::traverse_p(), and immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::update().
◆ tail
node_t* immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::tail |
Definition at line 38 of file rbtree.hpp.
Referenced by immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::back(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::check_tail(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::descend(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::ensure_mutable_tail(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::equals(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::get_mut(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::inc(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::push_back(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::push_back_mut(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::rbtree(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::take(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::take_mut(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::traverse(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::traverse_p(), and immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::update().
The documentation for this struct was generated from the following file:
- src/immer/detail/rbts/rbtree.hpp