Dash Core Source Documentation (0.16.0.1)
Find detailed information regarding the Dash Core source code.
node.hpp
Go to the documentation of this file.
160 optimized<max_sizeof_inner>::type;
static constexpr std::size_t sizeof_inner_n(count_t n)
Definition: node.hpp:147
combine_standard_layout_t< relaxed_data_t > relaxed_data_no_meta_t
Definition: node.hpp:69
static constexpr std::size_t sizeof_inner_r_n(count_t n)
Definition: node.hpp:150
constexpr auto log2(T x) -> std::enable_if_t<!std::is_same< decltype(clz_(x)), not_supported_t >::value, T >
Definition: util.hpp:100
static void inc_nodes(node_t **p, count_t n)
Definition: node.hpp:864
static const ownee_t & ownee(const node_t *x)
Definition: node.hpp:198
static constexpr std::size_t sizeof_relaxed_n(count_t n)
Definition: node.hpp:153
static void delete_inner(node_t *p, count_t n)
Definition: node.hpp:715
static node_t * make_inner_r_n(count_t n, node_t *x, size_t xs)
Definition: node.hpp:367
constexpr bits_t derive_bits_leaf_aux()
Definition: node.hpp:927
static node_t * copy_inner_sr_e(edit_t e, node_t *src, count_t n)
Definition: node.hpp:553
static node_t * do_copy_inner(node_t *dst, node_t *src, count_t n)
Definition: node.hpp:521
aligned_storage_for< node_t * > buffer
Definition: node.hpp:83
static constexpr std::size_t max_sizeof_inner_r
Definition: node.hpp:144
static node_t * make_path_e(edit_t e, shift_t shift, node_t *node)
Definition: node.hpp:480
combine_standard_layout_t< impl_data_t, refs_t, ownee_t > impl_t
Definition: node.hpp:101
static node_t * make_inner_r_n(count_t n, node_t *x, node_t *y)
Definition: node.hpp:378
static node_t * copy_inner_r(node_t *src, count_t n)
Definition: node.hpp:531
static node_t * copy_leaf_emplace(node_t *src, count_t n, U &&x)
Definition: node.hpp:702
static node_t * make_inner_e(edit_t e)
Definition: node.hpp:213
static node_t * make_inner_n(count_t n, node_t *x)
Definition: node.hpp:332
static node_t * copy_leaf_e(edit_t e, node_t *src1, count_t n1, node_t *src2, count_t n2)
Definition: node.hpp:648
static node_t * make_inner_sr_n(count_t n, relaxed_t *r)
Definition: node.hpp:250
relaxed_t * ensure_mutable_relaxed_e(edit_t e, edit_t ec)
Definition: node.hpp:807
static node_t * copy_inner_e(edit_t e, node_t *src, count_t n)
Definition: node.hpp:514
SinkIter uninitialized_copy(Iterator first, Sentinel last, SinkIter d_first)
Definition: util.hpp:192
static constexpr std::size_t sizeof_leaf_n(count_t n)
Definition: node.hpp:156
Definition: algorithm.hpp:15
static const ownee_t & ownee(const relaxed_t *x)
Definition: node.hpp:194
static node_t * make_inner_r_n(count_t n, node_t *x, size_t xs, node_t *y)
Definition: node.hpp:389
static node_t * copy_leaf_e(edit_t e, node_t *src, count_t n)
Definition: node.hpp:597
static node_t * copy_leaf(node_t *src, count_t idx, count_t last)
Definition: node.hpp:687
static constexpr std::size_t sizeof_packed_leaf_n(count_t count)
Definition: node.hpp:110
Definition: node.hpp:86
static node_t * make_leaf_e(edit_t e, U &&x)
Definition: node.hpp:451
static node_t * copy_leaf_e(edit_t e, node_t *src, count_t idx, count_t last)
Definition: node.hpp:673
static node_t * copy_leaf_n(count_t allocn, node_t *src, count_t n)
Definition: node.hpp:610
static constexpr std::size_t max_sizeof_leaf
Definition: node.hpp:135
static node_t * make_inner_n(count_t n)
Definition: node.hpp:201
static constexpr std::size_t max_sizeof_relaxed
Definition: node.hpp:141
static constexpr std::size_t max_sizeof_inner
Definition: node.hpp:138
static node_t * make_inner_r_n(count_t n, node_t *x, size_t xs, node_t *y, size_t ys)
Definition: node.hpp:403
typename memory::transience_t transience
Definition: node.hpp:43
static constexpr std::size_t sizeof_packed_inner_n(count_t count)
Definition: node.hpp:116
static void delete_inner_r(node_t *p, count_t n)
Definition: node.hpp:739
static constexpr std::size_t sizeof_packed_inner_r_n(count_t count)
Definition: node.hpp:128
static node_t * make_inner_r_e(edit_t e)
Definition: node.hpp:268
relaxed_t * ensure_mutable_relaxed_n(edit_t e, count_t n)
Definition: node.hpp:828
static node_t * make_inner_sr_e(edit_t e, relaxed_t *r)
Definition: node.hpp:294
static void delete_inner_r_e(node_t *p)
Definition: node.hpp:755
Definition: node.hpp:75
std::conditional_t< embed_relaxed, relaxed_data_no_meta_t, relaxed_data_with_meta_t > relaxed_t
Definition: node.hpp:73
static void delete_inner_e(node_t *p)
Definition: node.hpp:724
static void delete_leaf(node_t *p, count_t n)
Definition: node.hpp:767
static node_t * make_inner_n(count_t n, node_t *x, node_t *y)
Definition: node.hpp:348
Definition: node.hpp:35
static node_t * make_inner_r_n(count_t n)
Definition: node.hpp:225
static node_t * make_inner_r_n(count_t n, node_t *x)
Definition: node.hpp:357
static node_t * make_leaf_n(count_t n, U &&x)
Definition: node.hpp:437
typename combine_standard_layout< Ts... >::type combine_standard_layout_t
Definition: combine_standard_layout.hpp:46
typename heap_policy::template optimized< max_sizeof_inner >::type heap
Definition: node.hpp:160
static node_t * make_inner_r_n(count_t n, node_t *x, size_t xs, node_t *y, size_t ys, node_t *z, size_t zs)
Definition: node.hpp:418
Definition: tags.hpp:13
static node_t * copy_inner_r_e(edit_t e, node_t *src, count_t n)
Definition: node.hpp:546
static void delete_inner_any(node_t *p, count_t n)
Definition: node.hpp:731
static node_t * copy_leaf(node_t *src1, count_t n1, node_t *src2, count_t n2)
Definition: node.hpp:624
static node_t * copy_leaf(node_t *src, count_t n)
Definition: node.hpp:584
typename std::aligned_storage< sizeof(T), alignof(T)>::type aligned_storage_for
Definition: util.hpp:29
static node_t * make_inner_n(edit_t n, node_t *x)
Definition: node.hpp:340
static node_t * copy_inner_n(count_t allocn, node_t *src, count_t n)
Definition: node.hpp:506
static constexpr std::size_t sizeof_packed_relaxed_n(count_t count)
Definition: node.hpp:122
static node_t * make_leaf_n(count_t n)
Definition: node.hpp:312
Definition: node.hpp:80
static node_t * make_path(shift_t shift, node_t *node)
Definition: node.hpp:463
static node_t * do_copy_inner_r(node_t *dst, node_t *src, count_t n)
Definition: node.hpp:560
combine_standard_layout_t< relaxed_data_t, refs_t, ownee_t > relaxed_data_with_meta_t
Definition: node.hpp:66
static node_t * do_copy_inner_sr(node_t *dst, node_t *src, count_t n)
Definition: node.hpp:573
relaxed_t * ensure_mutable_relaxed(edit_t e)
Definition: node.hpp:787
static node_t * copy_inner_r_n(count_t allocn, node_t *src, count_t n)
Definition: node.hpp:538
static node_t * copy_inner(node_t *src, count_t n)
Definition: node.hpp:497