Dash Core Source Documentation (0.16.0.1)
Find detailed information regarding the Dash Core source code.
#include <node.hpp>
Classes | |
union | data_t |
struct | impl_data_t |
struct | inner_t |
struct | leaf_t |
struct | relaxed_data_t |
Public Types | |
enum | kind_t { kind_t::leaf, kind_t::inner } |
using | node_t = node |
using | memory = MemoryPolicy |
using | heap_policy = typename memory::heap |
using | transience = typename memory::transience_t |
using | refs_t = typename memory::refcount |
using | ownee_t = typename transience::ownee |
using | edit_t = typename transience::edit |
using | value_t = T |
using | relaxed_data_with_meta_t = combine_standard_layout_t< relaxed_data_t, refs_t, ownee_t > |
using | relaxed_data_no_meta_t = combine_standard_layout_t< relaxed_data_t > |
using | relaxed_t = std::conditional_t< embed_relaxed, relaxed_data_no_meta_t, relaxed_data_with_meta_t > |
using | impl_t = combine_standard_layout_t< impl_data_t, refs_t, ownee_t > |
using | heap = typename heap_policy::template optimized< max_sizeof_inner >::type |
Public Member Functions | |
kind_t | kind () const |
relaxed_t * | relaxed () |
const relaxed_t * | relaxed () const |
node_t ** | inner () |
T * | leaf () |
bool | can_mutate (edit_t e) const |
bool | can_relax () const |
relaxed_t * | ensure_mutable_relaxed (edit_t e) |
relaxed_t * | ensure_mutable_relaxed_e (edit_t e, edit_t ec) |
relaxed_t * | ensure_mutable_relaxed_n (edit_t e, count_t n) |
node_t * | inc () |
const node_t * | inc () const |
bool | dec () const |
void | dec_unsafe () const |
shift_t | compute_shift () |
bool | check (shift_t shift, size_t size) |
Public Attributes | |
impl_t | impl |
Static Public Attributes | |
static constexpr auto | bits = B |
static constexpr auto | bits_leaf = BL |
static constexpr bool | embed_relaxed = memory::prefer_fewer_bigger_objects |
static constexpr bool | keep_headroom = !std::is_empty<refs_t>{} |
static constexpr std::size_t | max_sizeof_leaf |
static constexpr std::size_t | max_sizeof_inner |
static constexpr std::size_t | max_sizeof_relaxed |
static constexpr std::size_t | max_sizeof_inner_r |
Detailed Description
template<typename T, typename MemoryPolicy, bits_t B, bits_t BL>
struct immer::detail::rbts::node< T, MemoryPolicy, B, BL >
Member Typedef Documentation
◆ edit_t
using immer::detail::rbts::node< T, MemoryPolicy, B, BL >::edit_t = typename transience::edit |
◆ heap
using immer::detail::rbts::node< T, MemoryPolicy, B, BL >::heap = typename heap_policy::template optimized<max_sizeof_inner>::type |
◆ heap_policy
using immer::detail::rbts::node< T, MemoryPolicy, B, BL >::heap_policy = typename memory::heap |
◆ impl_t
using immer::detail::rbts::node< T, MemoryPolicy, B, BL >::impl_t = combine_standard_layout_t< impl_data_t, refs_t, ownee_t> |
◆ memory
using immer::detail::rbts::node< T, MemoryPolicy, B, BL >::memory = MemoryPolicy |
◆ node_t
using immer::detail::rbts::node< T, MemoryPolicy, B, BL >::node_t = node |
◆ ownee_t
using immer::detail::rbts::node< T, MemoryPolicy, B, BL >::ownee_t = typename transience::ownee |
◆ refs_t
using immer::detail::rbts::node< T, MemoryPolicy, B, BL >::refs_t = typename memory::refcount |
◆ relaxed_data_no_meta_t
using immer::detail::rbts::node< T, MemoryPolicy, B, BL >::relaxed_data_no_meta_t = combine_standard_layout_t<relaxed_data_t> |
◆ relaxed_data_with_meta_t
using immer::detail::rbts::node< T, MemoryPolicy, B, BL >::relaxed_data_with_meta_t = combine_standard_layout_t<relaxed_data_t, refs_t, ownee_t> |
◆ relaxed_t
using immer::detail::rbts::node< T, MemoryPolicy, B, BL >::relaxed_t = std::conditional_t<embed_relaxed, relaxed_data_no_meta_t, relaxed_data_with_meta_t> |
◆ transience
using immer::detail::rbts::node< T, MemoryPolicy, B, BL >::transience = typename memory::transience_t |
◆ value_t
using immer::detail::rbts::node< T, MemoryPolicy, B, BL >::value_t = T |
Member Enumeration Documentation
◆ kind_t
|
strong |
Member Function Documentation
◆ can_mutate()
|
inline |
Definition at line 776 of file node.hpp.
References immer::detail::rbts::node< T, MemoryPolicy, B, BL >::ownee(), and immer::detail::rbts::node< T, MemoryPolicy, B, BL >::refs().
Referenced by immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::ensure_mutable_tail(), immer::detail::rbts::rrbtree< T, MemoryPolicy, B, BL >::ensure_mutable_tail(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::take_mut(), immer::detail::rbts::rrbtree< T, MemoryPolicy, B, BL >::take_mut(), immer::detail::rbts::get_mut_visitor< NodeT >::visit_leaf(), immer::detail::rbts::slice_right_mut_visitor< NodeT, Collapse, Mutating >::visit_leaf(), immer::detail::rbts::slice_left_mut_visitor< NodeT, Collapse, Mutating >::visit_leaf(), immer::detail::rbts::get_mut_visitor< NodeT >::visit_regular(), immer::detail::rbts::push_tail_mut_visitor< NodeT, Mutating >::visit_regular(), immer::detail::rbts::slice_right_mut_visitor< NodeT, Collapse, Mutating >::visit_regular(), immer::detail::rbts::slice_left_mut_visitor< NodeT, Collapse, Mutating >::visit_regular(), immer::detail::rbts::get_mut_visitor< NodeT >::visit_relaxed(), immer::detail::rbts::push_tail_mut_visitor< NodeT, Mutating >::visit_relaxed(), immer::detail::rbts::slice_right_mut_visitor< NodeT, Collapse, Mutating >::visit_relaxed(), and immer::detail::rbts::slice_left_mut_visitor< NodeT, Collapse, Mutating >::visit_relaxed().
◆ can_relax()
|
inline |
Definition at line 782 of file node.hpp.
References immer::detail::rbts::node< T, MemoryPolicy, B, BL >::embed_relaxed, and immer::detail::rbts::node< T, MemoryPolicy, B, BL >::relaxed().
◆ check()
|
inline |
Definition at line 880 of file node.hpp.
References count, IMMER_TRACE_E, IMMER_TRACE_F, immer::detail::rbts::node< T, MemoryPolicy, B, BL >::inner(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::kind(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::leaf, and immer::detail::rbts::node< T, MemoryPolicy, B, BL >::relaxed().
Referenced by immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::check_root(), immer::detail::rbts::rrbtree< T, MemoryPolicy, B, BL >::check_root(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::check_tail(), and immer::detail::rbts::rrbtree< T, MemoryPolicy, B, BL >::check_tail().
◆ compute_shift()
|
inline |
Definition at line 871 of file node.hpp.
References immer::detail::rbts::node< T, MemoryPolicy, B, BL >::compute_shift(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::inner(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::kind(), and immer::detail::rbts::node< T, MemoryPolicy, B, BL >::leaf.
Referenced by immer::detail::rbts::node< T, MemoryPolicy, B, BL >::compute_shift().
◆ copy_inner()
|
inlinestatic |
Definition at line 497 of file node.hpp.
References immer::detail::rbts::node< T, MemoryPolicy, B, BL >::inc_nodes(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::inner, immer::detail::rbts::node< T, MemoryPolicy, B, BL >::kind(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::make_inner_n(), and immer::detail::uninitialized_copy().
◆ copy_inner_e()
|
inlinestatic |
Definition at line 514 of file node.hpp.
References immer::detail::rbts::node< T, MemoryPolicy, B, BL >::do_copy_inner(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::inner, immer::detail::rbts::node< T, MemoryPolicy, B, BL >::kind(), and immer::detail::rbts::node< T, MemoryPolicy, B, BL >::make_inner_e().
◆ copy_inner_n()
|
inlinestatic |
Definition at line 506 of file node.hpp.
References immer::detail::rbts::node< T, MemoryPolicy, B, BL >::do_copy_inner(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::inner, immer::detail::rbts::node< T, MemoryPolicy, B, BL >::kind(), and immer::detail::rbts::node< T, MemoryPolicy, B, BL >::make_inner_n().
◆ copy_inner_r()
|
inlinestatic |
Definition at line 531 of file node.hpp.
References immer::detail::rbts::node< T, MemoryPolicy, B, BL >::do_copy_inner_r(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::inner, immer::detail::rbts::node< T, MemoryPolicy, B, BL >::kind(), and immer::detail::rbts::node< T, MemoryPolicy, B, BL >::make_inner_r_n().
◆ copy_inner_r_e()
|
inlinestatic |
Definition at line 546 of file node.hpp.
References immer::detail::rbts::node< T, MemoryPolicy, B, BL >::do_copy_inner_r(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::inner, immer::detail::rbts::node< T, MemoryPolicy, B, BL >::kind(), and immer::detail::rbts::node< T, MemoryPolicy, B, BL >::make_inner_r_e().
◆ copy_inner_r_n()
|
inlinestatic |
Definition at line 538 of file node.hpp.
References immer::detail::rbts::node< T, MemoryPolicy, B, BL >::do_copy_inner_r(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::inner, immer::detail::rbts::node< T, MemoryPolicy, B, BL >::kind(), and immer::detail::rbts::node< T, MemoryPolicy, B, BL >::make_inner_r_n().
◆ copy_inner_sr_e()
|
inlinestatic |
Definition at line 553 of file node.hpp.
References immer::detail::rbts::node< T, MemoryPolicy, B, BL >::do_copy_inner_sr(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::inner, immer::detail::rbts::node< T, MemoryPolicy, B, BL >::kind(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::make_inner_sr_e(), and immer::detail::rbts::node< T, MemoryPolicy, B, BL >::relaxed().
◆ copy_leaf() [1/3]
|
inlinestatic |
Definition at line 584 of file node.hpp.
References immer::detail::rbts::node< T, MemoryPolicy, B, BL >::kind(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::leaf, immer::detail::rbts::node< T, MemoryPolicy, B, BL >::make_leaf_n(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::sizeof_leaf_n(), and immer::detail::uninitialized_copy().
Referenced by immer::detail::rbts::rrbtree< T, MemoryPolicy, B, BL >::concat(), immer::detail::rbts::rrbtree< T, MemoryPolicy, B, BL >::drop(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::take(), and immer::detail::rbts::rrbtree< T, MemoryPolicy, B, BL >::take().
◆ copy_leaf() [2/3]
|
inlinestatic |
Definition at line 624 of file node.hpp.
References immer::detail::destroy_n(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::kind(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::leaf, immer::detail::rbts::node< T, MemoryPolicy, B, BL >::make_leaf_n(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::sizeof_leaf_n(), and immer::detail::uninitialized_copy().
◆ copy_leaf() [3/3]
|
inlinestatic |
Definition at line 687 of file node.hpp.
References immer::detail::rbts::node< T, MemoryPolicy, B, BL >::kind(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::leaf, immer::detail::rbts::node< T, MemoryPolicy, B, BL >::make_leaf_n(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::sizeof_leaf_n(), and immer::detail::uninitialized_copy().
◆ copy_leaf_e() [1/3]
|
inlinestatic |
Definition at line 597 of file node.hpp.
References immer::detail::rbts::node< T, MemoryPolicy, B, BL >::kind(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::leaf, immer::detail::rbts::node< T, MemoryPolicy, B, BL >::make_leaf_e(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::max_sizeof_leaf, and immer::detail::uninitialized_copy().
Referenced by immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::ensure_mutable_tail(), immer::detail::rbts::rrbtree< T, MemoryPolicy, B, BL >::ensure_mutable_tail(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::take_mut(), and immer::detail::rbts::rrbtree< T, MemoryPolicy, B, BL >::take_mut().
◆ copy_leaf_e() [2/3]
|
inlinestatic |
Definition at line 648 of file node.hpp.
References immer::detail::destroy_n(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::kind(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::leaf, immer::detail::rbts::node< T, MemoryPolicy, B, BL >::make_leaf_e(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::max_sizeof_leaf, and immer::detail::uninitialized_copy().
◆ copy_leaf_e() [3/3]
|
inlinestatic |
Definition at line 673 of file node.hpp.
References immer::detail::rbts::node< T, MemoryPolicy, B, BL >::kind(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::leaf, immer::detail::rbts::node< T, MemoryPolicy, B, BL >::make_leaf_e(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::max_sizeof_leaf, and immer::detail::uninitialized_copy().
◆ copy_leaf_emplace()
|
inlinestatic |
Definition at line 702 of file node.hpp.
References immer::detail::rbts::node< T, MemoryPolicy, B, BL >::copy_leaf_n(), immer::detail::destroy_n(), and immer::detail::rbts::node< T, MemoryPolicy, B, BL >::sizeof_leaf_n().
Referenced by immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::push_back(), and immer::detail::rbts::rrbtree< T, MemoryPolicy, B, BL >::push_back().
◆ copy_leaf_n()
|
inlinestatic |
Definition at line 610 of file node.hpp.
References immer::detail::rbts::node< T, MemoryPolicy, B, BL >::kind(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::leaf, immer::detail::rbts::node< T, MemoryPolicy, B, BL >::make_leaf_n(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::sizeof_leaf_n(), and immer::detail::uninitialized_copy().
Referenced by immer::detail::rbts::node< T, MemoryPolicy, B, BL >::copy_leaf_emplace().
◆ dec()
|
inline |
Definition at line 861 of file node.hpp.
References immer::detail::rbts::node< T, MemoryPolicy, B, BL >::refs().
Referenced by immer::detail::rbts::dec_visitor::visit_leaf(), immer::detail::rbts::dec_visitor::visit_regular(), immer::detail::rbts::dec_right_visitor::visit_regular(), immer::detail::rbts::dec_left_visitor::visit_regular(), immer::detail::rbts::dec_visitor::visit_relaxed(), immer::detail::rbts::dec_right_visitor::visit_relaxed(), and immer::detail::rbts::dec_left_visitor::visit_relaxed().
◆ dec_unsafe()
|
inline |
Definition at line 862 of file node.hpp.
References immer::detail::rbts::node< T, MemoryPolicy, B, BL >::refs().
Referenced by immer::detail::rbts::update_visitor< NodeT >::visit_regular(), and immer::detail::rbts::update_visitor< NodeT >::visit_relaxed().
◆ delete_inner()
|
inlinestatic |
Definition at line 715 of file node.hpp.
References immer::detail::rbts::node< T, MemoryPolicy, B, BL >::inner, immer::detail::rbts::node< T, MemoryPolicy, B, BL >::kind(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::max_sizeof_inner, immer::detail::rbts::node< T, MemoryPolicy, B, BL >::ownee(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::relaxed(), and immer::detail::rbts::node< T, MemoryPolicy, B, BL >::sizeof_inner_n().
Referenced by immer::detail::rbts::node< T, MemoryPolicy, B, BL >::delete_inner_any(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::push_back(), and immer::detail::rbts::rrbtree< T, MemoryPolicy, B, BL >::push_tail().
◆ delete_inner_any()
|
inlinestatic |
◆ delete_inner_e()
|
inlinestatic |
Definition at line 724 of file node.hpp.
References immer::detail::rbts::node< T, MemoryPolicy, B, BL >::inner, immer::detail::rbts::node< T, MemoryPolicy, B, BL >::kind(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::max_sizeof_inner, and immer::detail::rbts::node< T, MemoryPolicy, B, BL >::relaxed().
Referenced by immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::push_back_mut(), and immer::detail::rbts::rrbtree< T, MemoryPolicy, B, BL >::push_tail_mut().
◆ delete_inner_r()
|
inlinestatic |
Definition at line 739 of file node.hpp.
References immer::detail::rbts::node< T, MemoryPolicy, B, BL >::inner, immer::detail::rbts::node< T, MemoryPolicy, B, BL >::kind(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::max_sizeof_inner_r, immer::detail::rbts::node< T, MemoryPolicy, B, BL >::max_sizeof_relaxed, immer::detail::rbts::node< T, MemoryPolicy, B, BL >::ownee(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::refs(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::relaxed(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::sizeof_inner_r_n(), and immer::detail::rbts::node< T, MemoryPolicy, B, BL >::sizeof_relaxed_n().
Referenced by immer::detail::rbts::node< T, MemoryPolicy, B, BL >::delete_inner_any(), and immer::detail::rbts::rrbtree< T, MemoryPolicy, B, BL >::push_tail().
◆ delete_inner_r_e()
|
inlinestatic |
Definition at line 755 of file node.hpp.
References immer::detail::rbts::node< T, MemoryPolicy, B, BL >::inner, immer::detail::rbts::node< T, MemoryPolicy, B, BL >::kind(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::max_sizeof_inner_r, immer::detail::rbts::node< T, MemoryPolicy, B, BL >::max_sizeof_relaxed, immer::detail::rbts::node< T, MemoryPolicy, B, BL >::refs(), and immer::detail::rbts::node< T, MemoryPolicy, B, BL >::relaxed().
Referenced by immer::detail::rbts::rrbtree< T, MemoryPolicy, B, BL >::push_tail_mut().
◆ delete_leaf()
|
inlinestatic |
Definition at line 767 of file node.hpp.
References immer::detail::destroy_n(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::kind(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::leaf, immer::detail::rbts::node< T, MemoryPolicy, B, BL >::max_sizeof_leaf, immer::detail::rbts::node< T, MemoryPolicy, B, BL >::ownee(), and immer::detail::rbts::node< T, MemoryPolicy, B, BL >::sizeof_leaf_n().
Referenced by immer::detail::rbts::rrbtree< T, MemoryPolicy, B, BL >::concat(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::push_back(), immer::detail::rbts::rrbtree< T, MemoryPolicy, B, BL >::push_back(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::push_back_mut(), and immer::detail::rbts::rrbtree< T, MemoryPolicy, B, BL >::push_back_mut().
◆ do_copy_inner()
|
inlinestatic |
Definition at line 521 of file node.hpp.
References immer::detail::rbts::node< T, MemoryPolicy, B, BL >::inc_nodes(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::inner, immer::detail::rbts::node< T, MemoryPolicy, B, BL >::kind(), and immer::detail::uninitialized_copy().
Referenced by immer::detail::rbts::node< T, MemoryPolicy, B, BL >::copy_inner_e(), and immer::detail::rbts::node< T, MemoryPolicy, B, BL >::copy_inner_n().
◆ do_copy_inner_r()
|
inlinestatic |
Definition at line 560 of file node.hpp.
References immer::copy(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::inc_nodes(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::inner, immer::detail::rbts::node< T, MemoryPolicy, B, BL >::kind(), and immer::detail::rbts::node< T, MemoryPolicy, B, BL >::relaxed().
Referenced by immer::detail::rbts::node< T, MemoryPolicy, B, BL >::copy_inner_r(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::copy_inner_r_e(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::copy_inner_r_n(), and immer::detail::rbts::node< T, MemoryPolicy, B, BL >::do_copy_inner_sr().
◆ do_copy_inner_sr()
|
inlinestatic |
Definition at line 573 of file node.hpp.
References immer::copy(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::do_copy_inner_r(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::embed_relaxed, immer::detail::rbts::node< T, MemoryPolicy, B, BL >::inc_nodes(), and immer::detail::rbts::node< T, MemoryPolicy, B, BL >::inner().
Referenced by immer::detail::rbts::node< T, MemoryPolicy, B, BL >::copy_inner_sr_e().
◆ ensure_mutable_relaxed()
|
inline |
Definition at line 787 of file node.hpp.
References immer::detail::rbts::node< T, MemoryPolicy, B, BL >::impl, immer::detail::rbts::node< T, MemoryPolicy, B, BL >::max_sizeof_relaxed, immer::detail::rbts::node< T, MemoryPolicy, B, BL >::ownee(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::refs(), and immer::detail::rbts::node< T, MemoryPolicy, B, BL >::relaxed().
Referenced by immer::detail::rbts::slice_left_mut_visitor< NodeT, Collapse, Mutating >::visit_relaxed().
◆ ensure_mutable_relaxed_e()
|
inline |
Definition at line 807 of file node.hpp.
References immer::detail::rbts::node< T, MemoryPolicy, B, BL >::impl, immer::detail::rbts::node< T, MemoryPolicy, B, BL >::max_sizeof_relaxed, immer::detail::rbts::node< T, MemoryPolicy, B, BL >::ownee(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::refs(), and immer::detail::rbts::node< T, MemoryPolicy, B, BL >::relaxed().
◆ ensure_mutable_relaxed_n()
|
inline |
Definition at line 828 of file node.hpp.
References immer::copy(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::impl, immer::detail::rbts::node< T, MemoryPolicy, B, BL >::max_sizeof_relaxed, immer::detail::rbts::node< T, MemoryPolicy, B, BL >::ownee(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::refs(), and immer::detail::rbts::node< T, MemoryPolicy, B, BL >::relaxed().
Referenced by immer::detail::rbts::push_tail_mut_visitor< NodeT, Mutating >::visit_relaxed(), and immer::detail::rbts::slice_right_mut_visitor< NodeT, Collapse, Mutating >::visit_relaxed().
◆ inc() [1/2]
|
inline |
Definition at line 849 of file node.hpp.
References immer::detail::rbts::node< T, MemoryPolicy, B, BL >::refs().
Referenced by immer::detail::rbts::rrbtree< T, MemoryPolicy, B, BL >::concat(), immer::detail::rbts::rrbtree< T, MemoryPolicy, B, BL >::drop(), immer::detail::rbts::rrbtree< T, MemoryPolicy, B, BL >::drop_mut(), immer::flex_vector< T, MemoryPolicy, B, BL >::flex_vector(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::inc(), immer::detail::rbts::rrbtree< T, MemoryPolicy, B, BL >::inc(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::push_back(), immer::detail::rbts::rrbtree< T, MemoryPolicy, B, BL >::push_back(), immer::detail::rbts::rrbtree< T, MemoryPolicy, B, BL >::push_tail(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::take(), immer::detail::rbts::rrbtree< T, MemoryPolicy, B, BL >::take(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::take_mut(), immer::detail::rbts::rrbtree< T, MemoryPolicy, B, BL >::take_mut(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::update(), immer::detail::rbts::rrbtree< T, MemoryPolicy, B, BL >::update(), and immer::detail::rbts::slice_right_mut_visitor< NodeT, Collapse, Mutating >::visit_leaf().
◆ inc() [2/2]
|
inline |
Definition at line 855 of file node.hpp.
References immer::detail::rbts::node< T, MemoryPolicy, B, BL >::refs().
◆ inc_nodes()
|
inlinestatic |
Definition at line 864 of file node.hpp.
References immer::detail::rbts::node< T, MemoryPolicy, B, BL >::refs().
Referenced by immer::detail::rbts::node< T, MemoryPolicy, B, BL >::copy_inner(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::do_copy_inner(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::do_copy_inner_r(), and immer::detail::rbts::node< T, MemoryPolicy, B, BL >::do_copy_inner_sr().
◆ inner()
|
inline |
Definition at line 181 of file node.hpp.
References immer::detail::rbts::node< T, MemoryPolicy, B, BL >::impl, immer::detail::rbts::node< T, MemoryPolicy, B, BL >::inner, and immer::detail::rbts::node< T, MemoryPolicy, B, BL >::kind().
Referenced by immer::detail::rbts::node< T, MemoryPolicy, B, BL >::check(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::compute_shift(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::copy_inner(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::do_copy_inner(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::do_copy_inner_r(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::do_copy_inner_sr(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::make_inner_n(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::make_inner_r_n(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::push_back(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::push_back_mut(), immer::detail::rbts::rrbtree< T, MemoryPolicy, B, BL >::push_tail(), immer::detail::rbts::rrbtree< T, MemoryPolicy, B, BL >::push_tail_mut(), immer::detail::rbts::visit_maybe_relaxed_descent(), immer::detail::rbts::update_visitor< NodeT >::visit_regular(), immer::detail::rbts::get_mut_visitor< NodeT >::visit_regular(), immer::detail::rbts::push_tail_mut_visitor< NodeT, Mutating >::visit_regular(), immer::detail::rbts::slice_right_mut_visitor< NodeT, Collapse, Mutating >::visit_regular(), immer::detail::rbts::slice_left_mut_visitor< NodeT, Collapse, Mutating >::visit_regular(), immer::detail::rbts::visit_regular_descent(), immer::detail::rbts::update_visitor< NodeT >::visit_relaxed(), immer::detail::rbts::get_mut_visitor< NodeT >::visit_relaxed(), immer::detail::rbts::push_tail_mut_visitor< NodeT, Mutating >::visit_relaxed(), immer::detail::rbts::slice_right_mut_visitor< NodeT, Collapse, Mutating >::visit_relaxed(), and immer::detail::rbts::slice_left_mut_visitor< NodeT, Collapse, Mutating >::visit_relaxed().
◆ kind()
|
inline |
Definition at line 163 of file node.hpp.
References immer::detail::rbts::node< T, MemoryPolicy, B, BL >::impl.
Referenced by immer::detail::rbts::node< T, MemoryPolicy, B, BL >::check(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::check_root(), immer::detail::rbts::rrbtree< T, MemoryPolicy, B, BL >::check_root(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::compute_shift(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::copy_inner(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::copy_inner_e(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::copy_inner_n(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::copy_inner_r(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::copy_inner_r_e(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::copy_inner_r_n(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::copy_inner_sr_e(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::copy_leaf(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::copy_leaf_e(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::copy_leaf_n(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::delete_inner(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::delete_inner_e(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::delete_inner_r(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::delete_inner_r_e(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::delete_leaf(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::do_copy_inner(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::do_copy_inner_r(), 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_path(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::make_path_e(), and immer::detail::rbts::node< T, MemoryPolicy, B, BL >::relaxed().
◆ leaf()
|
inline |
Definition at line 187 of file node.hpp.
References immer::detail::rbts::node< T, MemoryPolicy, B, BL >::impl, immer::detail::rbts::node< T, MemoryPolicy, B, BL >::kind(), and immer::detail::rbts::node< T, MemoryPolicy, B, BL >::leaf.
Referenced by immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::back(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::copy_leaf(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::copy_leaf_e(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::copy_leaf_n(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::delete_leaf(), immer::detail::rbts::rrbtree< T, MemoryPolicy, B, BL >::equals(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::get_mut(), immer::detail::rbts::rrbtree< T, MemoryPolicy, B, BL >::get_mut(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::push_back_mut(), immer::detail::rbts::rrbtree< T, MemoryPolicy, B, BL >::push_back_mut(), immer::detail::rbts::rrbtree< T, MemoryPolicy, B, BL >::region_for(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::take_mut(), immer::detail::rbts::rrbtree< T, MemoryPolicy, B, BL >::take_mut(), immer::detail::rbts::equals_visitor::visit_leaf(), immer::detail::rbts::update_visitor< NodeT >::visit_leaf(), immer::detail::rbts::get_mut_visitor< NodeT >::visit_leaf(), immer::detail::rbts::slice_right_mut_visitor< NodeT, Collapse, Mutating >::visit_leaf(), and immer::detail::rbts::slice_left_mut_visitor< NodeT, Collapse, Mutating >::visit_leaf().
◆ make_inner_e()
|
inlinestatic |
Definition at line 213 of file node.hpp.
References immer::detail::rbts::node< T, MemoryPolicy, B, BL >::inner, immer::detail::rbts::node< T, MemoryPolicy, B, BL >::max_sizeof_inner, and immer::detail::rbts::node< T, MemoryPolicy, B, BL >::ownee().
Referenced by immer::detail::rbts::node< T, MemoryPolicy, B, BL >::copy_inner_e(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::make_path_e(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::push_back_mut(), and immer::detail::rbts::rrbtree< T, MemoryPolicy, B, BL >::push_tail_mut().
◆ make_inner_n() [1/4]
|
inlinestatic |
Definition at line 201 of file node.hpp.
References immer::detail::rbts::node< T, MemoryPolicy, B, BL >::impl, immer::detail::rbts::node< T, MemoryPolicy, B, BL >::inner, and immer::detail::rbts::node< T, MemoryPolicy, B, BL >::sizeof_inner_n().
Referenced by immer::detail::rbts::node< T, MemoryPolicy, B, BL >::copy_inner(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::copy_inner_n(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::empty(), immer::detail::rbts::rrbtree< T, MemoryPolicy, B, BL >::empty(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::make_inner_n(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::make_path(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::push_back(), and immer::detail::rbts::rrbtree< T, MemoryPolicy, B, BL >::push_tail().
◆ make_inner_n() [2/4]
|
inlinestatic |
Definition at line 332 of file node.hpp.
References immer::detail::rbts::node< T, MemoryPolicy, B, BL >::make_inner_n().
◆ make_inner_n() [3/4]
|
inlinestatic |
Definition at line 340 of file node.hpp.
References immer::detail::rbts::node< T, MemoryPolicy, B, BL >::make_inner_n().
◆ make_inner_n() [4/4]
|
inlinestatic |
Definition at line 348 of file node.hpp.
References immer::detail::rbts::node< T, MemoryPolicy, B, BL >::inner(), and immer::detail::rbts::node< T, MemoryPolicy, B, BL >::make_inner_n().
◆ make_inner_r_e()
|
inlinestatic |
Definition at line 268 of file node.hpp.
References immer::detail::rbts::node< T, MemoryPolicy, B, BL >::embed_relaxed, immer::detail::rbts::node< T, MemoryPolicy, B, BL >::inner, immer::detail::rbts::node< T, MemoryPolicy, B, BL >::max_sizeof_inner, immer::detail::rbts::node< T, MemoryPolicy, B, BL >::max_sizeof_inner_r, immer::detail::rbts::node< T, MemoryPolicy, B, BL >::max_sizeof_relaxed, and immer::detail::rbts::node< T, MemoryPolicy, B, BL >::ownee().
Referenced by immer::detail::rbts::node< T, MemoryPolicy, B, BL >::copy_inner_r_e(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::make_inner_sr_e(), and immer::detail::rbts::rrbtree< T, MemoryPolicy, B, BL >::push_tail_mut().
◆ make_inner_r_n() [1/7]
|
inlinestatic |
Definition at line 225 of file node.hpp.
References immer::detail::rbts::node< T, MemoryPolicy, B, BL >::embed_relaxed, immer::detail::rbts::node< T, MemoryPolicy, B, BL >::impl, immer::detail::rbts::node< T, MemoryPolicy, B, BL >::inner, immer::detail::rbts::node< T, MemoryPolicy, B, BL >::sizeof_inner_n(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::sizeof_inner_r_n(), and immer::detail::rbts::node< T, MemoryPolicy, B, BL >::sizeof_relaxed_n().
Referenced by immer::detail::rbts::node< T, MemoryPolicy, B, BL >::copy_inner_r(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::copy_inner_r_n(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::make_inner_r_n(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::make_inner_sr_n(), and immer::detail::rbts::rrbtree< T, MemoryPolicy, B, BL >::push_tail().
◆ make_inner_r_n() [2/7]
|
inlinestatic |
Definition at line 357 of file node.hpp.
References immer::detail::rbts::node< T, MemoryPolicy, B, BL >::make_inner_r_n().
◆ make_inner_r_n() [3/7]
|
inlinestatic |
Definition at line 367 of file node.hpp.
References immer::detail::rbts::node< T, MemoryPolicy, B, BL >::make_inner_r_n().
◆ make_inner_r_n() [4/7]
|
inlinestatic |
Definition at line 378 of file node.hpp.
References immer::detail::rbts::node< T, MemoryPolicy, B, BL >::inner(), and immer::detail::rbts::node< T, MemoryPolicy, B, BL >::make_inner_r_n().
◆ make_inner_r_n() [5/7]
|
inlinestatic |
Definition at line 389 of file node.hpp.
References immer::detail::rbts::node< T, MemoryPolicy, B, BL >::inner(), and immer::detail::rbts::node< T, MemoryPolicy, B, BL >::make_inner_r_n().
◆ make_inner_r_n() [6/7]
|
inlinestatic |
Definition at line 403 of file node.hpp.
References immer::detail::rbts::node< T, MemoryPolicy, B, BL >::inner(), and immer::detail::rbts::node< T, MemoryPolicy, B, BL >::make_inner_r_n().
◆ make_inner_r_n() [7/7]
|
inlinestatic |
Definition at line 418 of file node.hpp.
References immer::detail::rbts::node< T, MemoryPolicy, B, BL >::inner(), and immer::detail::rbts::node< T, MemoryPolicy, B, BL >::make_inner_r_n().
◆ make_inner_sr_e()
|
inlinestatic |
Definition at line 294 of file node.hpp.
References immer::detail::rbts::node< T, MemoryPolicy, B, BL >::inner, immer::detail::rbts::node< T, MemoryPolicy, B, BL >::make_inner_r_e(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::max_sizeof_inner_r, immer::detail::rbts::node< T, MemoryPolicy, B, BL >::ownee(), and immer::detail::rbts::node< T, MemoryPolicy, B, BL >::refs().
Referenced by immer::detail::rbts::node< T, MemoryPolicy, B, BL >::copy_inner_sr_e().
◆ make_inner_sr_n()
|
inlinestatic |
Definition at line 250 of file node.hpp.
References immer::detail::rbts::node< T, MemoryPolicy, B, BL >::inner, immer::detail::rbts::node< T, MemoryPolicy, B, BL >::make_inner_r_n(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::refs(), and immer::detail::rbts::node< T, MemoryPolicy, B, BL >::sizeof_inner_r_n().
◆ make_leaf_e() [1/2]
|
inlinestatic |
Definition at line 322 of file node.hpp.
References immer::detail::rbts::node< T, MemoryPolicy, B, BL >::leaf, immer::detail::rbts::node< T, MemoryPolicy, B, BL >::max_sizeof_leaf, and immer::detail::rbts::node< T, MemoryPolicy, B, BL >::ownee().
Referenced by immer::detail::rbts::node< T, MemoryPolicy, B, BL >::copy_leaf_e(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::make_leaf_e(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::push_back_mut(), and immer::detail::rbts::rrbtree< T, MemoryPolicy, B, BL >::push_back_mut().
◆ make_leaf_e() [2/2]
|
inlinestatic |
Definition at line 451 of file node.hpp.
References immer::detail::rbts::node< T, MemoryPolicy, B, BL >::make_leaf_e(), and immer::detail::rbts::node< T, MemoryPolicy, B, BL >::max_sizeof_leaf.
◆ make_leaf_n() [1/2]
|
inlinestatic |
Definition at line 312 of file node.hpp.
References immer::detail::rbts::node< T, MemoryPolicy, B, BL >::impl, immer::detail::rbts::node< T, MemoryPolicy, B, BL >::leaf, and immer::detail::rbts::node< T, MemoryPolicy, B, BL >::sizeof_leaf_n().
Referenced by immer::detail::rbts::node< T, MemoryPolicy, B, BL >::copy_leaf(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::copy_leaf_n(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::empty(), immer::detail::rbts::rrbtree< T, MemoryPolicy, B, BL >::empty(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::make_leaf_n(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::push_back(), and immer::detail::rbts::rrbtree< T, MemoryPolicy, B, BL >::push_back().
◆ make_leaf_n() [2/2]
|
inlinestatic |
Definition at line 437 of file node.hpp.
References immer::detail::rbts::node< T, MemoryPolicy, B, BL >::make_leaf_n(), and immer::detail::rbts::node< T, MemoryPolicy, B, BL >::sizeof_leaf_n().
◆ make_path()
|
inlinestatic |
Definition at line 463 of file node.hpp.
References immer::detail::rbts::node< T, MemoryPolicy, B, BL >::kind(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::leaf, immer::detail::rbts::node< T, MemoryPolicy, B, BL >::make_inner_n(), and immer::detail::rbts::node< T, MemoryPolicy, B, BL >::sizeof_inner_n().
Referenced by immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::push_back(), and immer::detail::rbts::rrbtree< T, MemoryPolicy, B, BL >::push_tail().
◆ make_path_e()
|
inlinestatic |
Definition at line 480 of file node.hpp.
References immer::detail::rbts::node< T, MemoryPolicy, B, BL >::kind(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::leaf, immer::detail::rbts::node< T, MemoryPolicy, B, BL >::make_inner_e(), and immer::detail::rbts::node< T, MemoryPolicy, B, BL >::max_sizeof_inner.
Referenced by immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::push_back_mut(), and immer::detail::rbts::rrbtree< T, MemoryPolicy, B, BL >::push_tail_mut().
◆ ownee() [1/4]
|
inlinestatic |
Definition at line 194 of file node.hpp.
Referenced by immer::detail::rbts::node< T, MemoryPolicy, B, BL >::can_mutate(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::delete_inner(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::delete_inner_r(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::delete_leaf(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::ensure_mutable_relaxed(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::ensure_mutable_relaxed_e(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::ensure_mutable_relaxed_n(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::make_inner_e(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::make_inner_r_e(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::make_inner_sr_e(), and immer::detail::rbts::node< T, MemoryPolicy, B, BL >::make_leaf_e().
◆ ownee() [2/4]
|
inlinestatic |
◆ ownee() [3/4]
|
inlinestatic |
Definition at line 198 of file node.hpp.
References immer::detail::rbts::node< T, MemoryPolicy, B, BL >::impl.
◆ ownee() [4/4]
|
inlinestatic |
Definition at line 199 of file node.hpp.
References immer::detail::rbts::node< T, MemoryPolicy, B, BL >::impl.
◆ refs() [1/2]
|
inlinestatic |
Definition at line 193 of file node.hpp.
References immer::detail::auto_const_cast().
Referenced by immer::detail::rbts::node< T, MemoryPolicy, B, BL >::can_mutate(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::dec(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::dec_unsafe(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::delete_inner_r(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::delete_inner_r_e(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::ensure_mutable_relaxed(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::ensure_mutable_relaxed_e(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::ensure_mutable_relaxed_n(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::inc(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::inc_nodes(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::make_inner_sr_e(), and immer::detail::rbts::node< T, MemoryPolicy, B, BL >::make_inner_sr_n().
◆ refs() [2/2]
|
inlinestatic |
Definition at line 197 of file node.hpp.
References immer::detail::auto_const_cast(), and immer::detail::rbts::node< T, MemoryPolicy, B, BL >::impl.
◆ relaxed() [1/2]
|
inline |
Definition at line 169 of file node.hpp.
References immer::detail::rbts::node< T, MemoryPolicy, B, BL >::impl, immer::detail::rbts::node< T, MemoryPolicy, B, BL >::inner, and immer::detail::rbts::node< T, MemoryPolicy, B, BL >::kind().
Referenced by immer::detail::rbts::node< T, MemoryPolicy, B, BL >::can_relax(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::check(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::copy_inner_sr_e(), immer::detail::rbts::dec_relaxed(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::delete_inner(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::delete_inner_any(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::delete_inner_e(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::delete_inner_r(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::delete_inner_r_e(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::do_copy_inner_r(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::ensure_mutable_relaxed(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::ensure_mutable_relaxed_e(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::ensure_mutable_relaxed_n(), immer::detail::rbts::rrbtree< T, MemoryPolicy, B, BL >::push_tail(), immer::detail::rbts::rrbtree< T, MemoryPolicy, B, BL >::push_tail_mut(), immer::detail::rbts::rrbtree< T, MemoryPolicy, B, BL >::tail_offset(), immer::detail::rbts::visit_maybe_relaxed_descent(), and immer::detail::rbts::visit_maybe_relaxed_sub().
◆ relaxed() [2/2]
|
inline |
Definition at line 175 of file node.hpp.
References immer::detail::rbts::node< T, MemoryPolicy, B, BL >::impl, immer::detail::rbts::node< T, MemoryPolicy, B, BL >::inner, and immer::detail::rbts::node< T, MemoryPolicy, B, BL >::kind().
◆ sizeof_inner_n()
|
inlinestatic |
Definition at line 147 of file node.hpp.
References immer::detail::rbts::node< T, MemoryPolicy, B, BL >::keep_headroom, immer::detail::rbts::node< T, MemoryPolicy, B, BL >::max_sizeof_inner, and immer::detail::rbts::node< T, MemoryPolicy, B, BL >::sizeof_packed_inner_n().
Referenced by immer::detail::rbts::node< T, MemoryPolicy, B, BL >::delete_inner(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::make_inner_n(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::make_inner_r_n(), and immer::detail::rbts::node< T, MemoryPolicy, B, BL >::make_path().
◆ sizeof_inner_r_n()
|
inlinestatic |
Definition at line 150 of file node.hpp.
References immer::detail::rbts::node< T, MemoryPolicy, B, BL >::keep_headroom, immer::detail::rbts::node< T, MemoryPolicy, B, BL >::max_sizeof_inner_r, and immer::detail::rbts::node< T, MemoryPolicy, B, BL >::sizeof_packed_inner_r_n().
Referenced by immer::detail::rbts::node< T, MemoryPolicy, B, BL >::delete_inner_r(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::make_inner_r_n(), and immer::detail::rbts::node< T, MemoryPolicy, B, BL >::make_inner_sr_n().
◆ sizeof_leaf_n()
|
inlinestatic |
Definition at line 156 of file node.hpp.
References immer::detail::rbts::node< T, MemoryPolicy, B, BL >::keep_headroom, immer::detail::rbts::node< T, MemoryPolicy, B, BL >::max_sizeof_leaf, and immer::detail::rbts::node< T, MemoryPolicy, B, BL >::sizeof_packed_leaf_n().
Referenced by immer::detail::rbts::node< T, MemoryPolicy, B, BL >::copy_leaf(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::copy_leaf_emplace(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::copy_leaf_n(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::delete_leaf(), and immer::detail::rbts::node< T, MemoryPolicy, B, BL >::make_leaf_n().
◆ sizeof_packed_inner_n()
|
inlinestatic |
Definition at line 116 of file node.hpp.
References immer::detail::rbts::node< T, MemoryPolicy, B, BL >::inner_t::buffer, count, and immer_offsetof.
Referenced by immer::detail::rbts::node< T, MemoryPolicy, B, BL >::sizeof_inner_n(), and immer::detail::rbts::node< T, MemoryPolicy, B, BL >::sizeof_packed_inner_r_n().
◆ sizeof_packed_inner_r_n()
|
inlinestatic |
Definition at line 128 of file node.hpp.
References count, immer::detail::rbts::node< T, MemoryPolicy, B, BL >::embed_relaxed, immer::detail::rbts::node< T, MemoryPolicy, B, BL >::sizeof_packed_inner_n(), and immer::detail::rbts::node< T, MemoryPolicy, B, BL >::sizeof_packed_relaxed_n().
Referenced by immer::detail::rbts::node< T, MemoryPolicy, B, BL >::sizeof_inner_r_n().
◆ sizeof_packed_leaf_n()
|
inlinestatic |
Definition at line 110 of file node.hpp.
References immer::detail::rbts::node< T, MemoryPolicy, B, BL >::leaf_t::buffer, count, and immer_offsetof.
Referenced by immer::detail::rbts::node< T, MemoryPolicy, B, BL >::sizeof_leaf_n().
◆ sizeof_packed_relaxed_n()
|
inlinestatic |
Definition at line 122 of file node.hpp.
References count, and immer_offsetof.
Referenced by immer::detail::rbts::node< T, MemoryPolicy, B, BL >::sizeof_packed_inner_r_n(), and immer::detail::rbts::node< T, MemoryPolicy, B, BL >::sizeof_relaxed_n().
◆ sizeof_relaxed_n()
|
inlinestatic |
Definition at line 153 of file node.hpp.
References immer::detail::rbts::node< T, MemoryPolicy, B, BL >::keep_headroom, immer::detail::rbts::node< T, MemoryPolicy, B, BL >::max_sizeof_relaxed, and immer::detail::rbts::node< T, MemoryPolicy, B, BL >::sizeof_packed_relaxed_n().
Referenced by immer::detail::rbts::node< T, MemoryPolicy, B, BL >::delete_inner_r(), and immer::detail::rbts::node< T, MemoryPolicy, B, BL >::make_inner_r_n().
Member Data Documentation
◆ bits
|
static |
◆ bits_leaf
|
static |
◆ embed_relaxed
|
static |
Definition at line 49 of file node.hpp.
Referenced by immer::detail::rbts::node< T, MemoryPolicy, B, BL >::can_relax(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::do_copy_inner_sr(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::make_inner_r_e(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::make_inner_r_n(), and immer::detail::rbts::node< T, MemoryPolicy, B, BL >::sizeof_packed_inner_r_n().
◆ impl
impl_t immer::detail::rbts::node< T, MemoryPolicy, B, BL >::impl |
Definition at line 103 of file node.hpp.
Referenced by immer::detail::rbts::node< T, MemoryPolicy, B, BL >::ensure_mutable_relaxed(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::ensure_mutable_relaxed_e(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::ensure_mutable_relaxed_n(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::inner(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::kind(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::leaf(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::make_inner_n(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::make_inner_r_n(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::make_leaf_n(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::ownee(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::refs(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::relaxed(), and immer::detail::rbts::slice_left_mut_visitor< NodeT, Collapse, Mutating >::visit_regular().
◆ keep_headroom
|
static |
Definition at line 108 of file node.hpp.
Referenced by immer::detail::rbts::node< T, MemoryPolicy, B, BL >::sizeof_inner_n(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::sizeof_inner_r_n(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::sizeof_leaf_n(), and immer::detail::rbts::node< T, MemoryPolicy, B, BL >::sizeof_relaxed_n().
◆ max_sizeof_inner
|
static |
Definition at line 138 of file node.hpp.
Referenced by immer::detail::rbts::node< T, MemoryPolicy, B, BL >::delete_inner(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::delete_inner_e(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::make_inner_e(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::make_inner_r_e(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::make_path_e(), and immer::detail::rbts::node< T, MemoryPolicy, B, BL >::sizeof_inner_n().
◆ max_sizeof_inner_r
|
static |
Definition at line 144 of file node.hpp.
Referenced by immer::detail::rbts::node< T, MemoryPolicy, B, BL >::delete_inner_r(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::delete_inner_r_e(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::make_inner_r_e(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::make_inner_sr_e(), and immer::detail::rbts::node< T, MemoryPolicy, B, BL >::sizeof_inner_r_n().
◆ max_sizeof_leaf
|
static |
Definition at line 135 of file node.hpp.
Referenced by immer::detail::rbts::node< T, MemoryPolicy, B, BL >::copy_leaf_e(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::delete_leaf(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::make_leaf_e(), and immer::detail::rbts::node< T, MemoryPolicy, B, BL >::sizeof_leaf_n().
◆ max_sizeof_relaxed
|
static |
Definition at line 141 of file node.hpp.
Referenced by immer::detail::rbts::node< T, MemoryPolicy, B, BL >::delete_inner_r(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::delete_inner_r_e(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::ensure_mutable_relaxed(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::ensure_mutable_relaxed_e(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::ensure_mutable_relaxed_n(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::make_inner_r_e(), and immer::detail::rbts::node< T, MemoryPolicy, B, BL >::sizeof_relaxed_n().
The documentation for this struct was generated from the following file:
- src/immer/detail/rbts/node.hpp