Dash Core Source Documentation (0.16.0.1)
Find detailed information regarding the Dash Core source code.
#include <node.hpp>
Classes | |
struct | collision_t |
union | data_t |
struct | impl_data_t |
struct | inner_t |
struct | values_data_t |
Public Types | |
enum | kind_t { kind_t::collision, kind_t::inner } |
using | node_t = node |
using | memory = MemoryPolicy |
using | heap_policy = typename memory::heap |
using | heap = typename heap_policy::type |
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 | bitmap_t = typename get_bitmap_type< B >::type |
using | values_t = combine_standard_layout_t< values_data_t, refs_t > |
using | impl_t = combine_standard_layout_t< impl_data_t, refs_t > |
Public Member Functions | |
kind_t | kind () const |
auto | values () |
auto | values () const |
auto | children () |
auto | children () const |
auto | datamap () const |
auto | nodemap () const |
auto | collision_count () const |
T * | collisions () |
const T * | collisions () const |
node_t * | inc () |
const node_t * | inc () const |
bool | dec () const |
void | dec_unsafe () const |
Public Attributes | |
impl_t | impl |
Detailed Description
template<typename T, typename Hash, typename Equal, typename MemoryPolicy, bits_t B>
struct immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >
Member Typedef Documentation
◆ bitmap_t
using immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::bitmap_t = typename get_bitmap_type<B>::type |
◆ edit_t
using immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::edit_t = typename transience::edit |
◆ heap
using immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::heap = typename heap_policy::type |
◆ heap_policy
using immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::heap_policy = typename memory::heap |
◆ impl_t
using immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::impl_t = combine_standard_layout_t< impl_data_t, refs_t> |
◆ memory
using immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::memory = MemoryPolicy |
◆ node_t
using immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::node_t = node |
◆ ownee_t
using immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::ownee_t = typename transience::ownee |
◆ refs_t
using immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::refs_t = typename memory::refcount |
◆ transience
using immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::transience = typename memory::transience_t |
◆ value_t
using immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::value_t = T |
◆ values_t
using immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::values_t = combine_standard_layout_t< values_data_t, refs_t> |
Member Enumeration Documentation
◆ kind_t
|
strong |
Member Function Documentation
◆ children() [1/2]
|
inline |
Definition at line 132 of file node.hpp.
References immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::impl, immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::inner, and immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::kind().
Referenced by immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::copy_inner_insert_value(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::copy_inner_remove_value(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::copy_inner_replace(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::copy_inner_replace_inline(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::copy_inner_replace_merged(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::copy_inner_replace_value(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::delete_deep(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::delete_deep_shift(), immer::detail::hamts::champ< value_t, hash_key, equal_key, MemoryPolicy, B >::do_add(), immer::detail::hamts::champ< value_t, hash_key, equal_key, MemoryPolicy, B >::do_sub(), immer::detail::hamts::champ< value_t, hash_key, equal_key, MemoryPolicy, B >::do_update(), immer::detail::hamts::champ< value_t, hash_key, equal_key, MemoryPolicy, B >::equals_tree(), immer::detail::hamts::champ< value_t, hash_key, equal_key, MemoryPolicy, B >::for_each_chunk_traversal(), and immer::detail::hamts::champ< value_t, hash_key, equal_key, MemoryPolicy, B >::get().
◆ children() [2/2]
|
inline |
◆ collision_count()
|
inline |
Definition at line 156 of file node.hpp.
References immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::collision, immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::impl, and immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::kind().
Referenced by immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::copy_collision_insert(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::copy_collision_remove(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::copy_collision_replace(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::delete_collision(), immer::detail::hamts::champ< value_t, hash_key, equal_key, MemoryPolicy, B >::do_add(), immer::detail::hamts::champ< value_t, hash_key, equal_key, MemoryPolicy, B >::do_sub(), immer::detail::hamts::champ< value_t, hash_key, equal_key, MemoryPolicy, B >::do_update(), immer::detail::hamts::champ< value_t, hash_key, equal_key, MemoryPolicy, B >::equals_tree(), immer::detail::hamts::champ< value_t, hash_key, equal_key, MemoryPolicy, B >::for_each_chunk_traversal(), and immer::detail::hamts::champ< value_t, hash_key, equal_key, MemoryPolicy, B >::get().
◆ collisions() [1/2]
|
inline |
Definition at line 162 of file node.hpp.
References immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::collision, immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::impl, and immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::kind().
Referenced by immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::copy_collision_insert(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::copy_collision_remove(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::copy_collision_replace(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::deallocate_collision(), immer::detail::hamts::champ< value_t, hash_key, equal_key, MemoryPolicy, B >::do_add(), immer::detail::hamts::champ< value_t, hash_key, equal_key, MemoryPolicy, B >::do_sub(), immer::detail::hamts::champ< value_t, hash_key, equal_key, MemoryPolicy, B >::do_update(), immer::detail::hamts::champ< value_t, hash_key, equal_key, MemoryPolicy, B >::equals_tree(), immer::detail::hamts::champ< value_t, hash_key, equal_key, MemoryPolicy, B >::for_each_chunk_traversal(), and immer::detail::hamts::champ< value_t, hash_key, equal_key, MemoryPolicy, B >::get().
◆ collisions() [2/2]
|
inline |
◆ copy_collision_insert()
|
inlinestatic |
Definition at line 311 of file node.hpp.
References immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::collision, immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::collision_count(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::collisions(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::deallocate_collision(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::kind(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::make_collision_n(), and immer::detail::uninitialized_copy().
Referenced by immer::detail::hamts::champ< value_t, hash_key, equal_key, MemoryPolicy, B >::do_add(), and immer::detail::hamts::champ< value_t, hash_key, equal_key, MemoryPolicy, B >::do_update().
◆ copy_collision_remove()
|
inlinestatic |
Definition at line 333 of file node.hpp.
References immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::collision, immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::collision_count(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::collisions(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::deallocate_collision(), immer::detail::destroy(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::kind(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::make_collision_n(), and immer::detail::uninitialized_copy().
Referenced by immer::detail::hamts::champ< value_t, hash_key, equal_key, MemoryPolicy, B >::do_sub().
◆ copy_collision_replace()
|
inlinestatic |
Definition at line 356 of file node.hpp.
References immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::collision, immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::collision_count(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::collisions(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::deallocate_collision(), immer::detail::destroy(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::kind(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::make_collision_n(), and immer::detail::uninitialized_copy().
Referenced by immer::detail::hamts::champ< value_t, hash_key, equal_key, MemoryPolicy, B >::do_add(), and immer::detail::hamts::champ< value_t, hash_key, equal_key, MemoryPolicy, B >::do_update().
◆ copy_inner_insert_value()
|
inlinestatic |
Definition at line 557 of file node.hpp.
References immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::children(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::datamap(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::deallocate_inner(), immer::detail::destroy_n(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::inc_nodes(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::inner, immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::kind(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::make_inner_n(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::nodemap(), immer::detail::hamts::popcount(), immer::detail::uninitialized_copy(), and immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::values().
Referenced by immer::detail::hamts::champ< value_t, hash_key, equal_key, MemoryPolicy, B >::do_add(), and immer::detail::hamts::champ< value_t, hash_key, equal_key, MemoryPolicy, B >::do_update().
◆ copy_inner_remove_value()
|
inlinestatic |
Definition at line 521 of file node.hpp.
References immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::children(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::datamap(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::deallocate_inner(), immer::detail::destroy_n(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::inc_nodes(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::inner, immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::kind(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::make_inner_n(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::nodemap(), immer::detail::hamts::popcount(), immer::detail::uninitialized_copy(), and immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::values().
Referenced by immer::detail::hamts::champ< value_t, hash_key, equal_key, MemoryPolicy, B >::do_sub().
◆ copy_inner_replace()
|
inlinestatic |
Definition at line 385 of file node.hpp.
References immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::children(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::datamap(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::impl, immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::inc_nodes(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::inner, immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::kind(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::make_inner_n(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::nodemap(), immer::detail::hamts::popcount(), and immer::detail::uninitialized_copy().
Referenced by immer::detail::hamts::champ< value_t, hash_key, equal_key, MemoryPolicy, B >::do_add(), immer::detail::hamts::champ< value_t, hash_key, equal_key, MemoryPolicy, B >::do_sub(), and immer::detail::hamts::champ< value_t, hash_key, equal_key, MemoryPolicy, B >::do_update().
◆ copy_inner_replace_inline()
|
inlinestatic |
Definition at line 473 of file node.hpp.
References immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::children(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::datamap(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::deallocate_inner(), immer::detail::destroy_n(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::inc_nodes(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::inner, immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::kind(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::make_inner_n(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::nodemap(), immer::detail::hamts::popcount(), immer::detail::uninitialized_copy(), and immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::values().
Referenced by immer::detail::hamts::champ< value_t, hash_key, equal_key, MemoryPolicy, B >::do_sub().
◆ copy_inner_replace_merged()
|
inlinestatic |
Definition at line 431 of file node.hpp.
References immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::children(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::datamap(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::deallocate_inner(), immer::detail::destroy_n(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::inc_nodes(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::inner, immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::kind(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::make_inner_n(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::nodemap(), immer::detail::hamts::popcount(), immer::detail::uninitialized_copy(), and immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::values().
Referenced by immer::detail::hamts::champ< value_t, hash_key, equal_key, MemoryPolicy, B >::do_add(), and immer::detail::hamts::champ< value_t, hash_key, equal_key, MemoryPolicy, B >::do_update().
◆ copy_inner_replace_value()
|
inlinestatic |
Definition at line 402 of file node.hpp.
References immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::children(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::datamap(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::deallocate_inner(), immer::detail::destroy_n(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::inc_nodes(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::inner, immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::kind(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::make_inner_n(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::nodemap(), immer::detail::hamts::popcount(), immer::detail::uninitialized_copy(), and immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::values().
Referenced by immer::detail::hamts::champ< value_t, hash_key, equal_key, MemoryPolicy, B >::do_add(), and immer::detail::hamts::champ< value_t, hash_key, equal_key, MemoryPolicy, B >::do_update().
◆ datamap()
|
inline |
Definition at line 144 of file node.hpp.
References immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::impl, immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::inner, and immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::kind().
Referenced by immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::copy_inner_insert_value(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::copy_inner_remove_value(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::copy_inner_replace(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::copy_inner_replace_inline(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::copy_inner_replace_merged(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::copy_inner_replace_value(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::delete_inner(), immer::detail::hamts::champ< value_t, hash_key, equal_key, MemoryPolicy, B >::do_add(), immer::detail::hamts::champ< value_t, hash_key, equal_key, MemoryPolicy, B >::do_sub(), immer::detail::hamts::champ< value_t, hash_key, equal_key, MemoryPolicy, B >::do_update(), immer::detail::hamts::champ< value_t, hash_key, equal_key, MemoryPolicy, B >::equals_tree(), immer::detail::hamts::champ< value_t, hash_key, equal_key, MemoryPolicy, B >::for_each_chunk_traversal(), and immer::detail::hamts::champ< value_t, hash_key, equal_key, MemoryPolicy, B >::get().
◆ deallocate_collision()
|
inlinestatic |
Definition at line 701 of file node.hpp.
References immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::collisions(), immer::detail::destroy_n(), and immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::sizeof_collision_n().
Referenced by immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::copy_collision_insert(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::copy_collision_remove(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::copy_collision_replace(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::delete_collision(), and immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::make_collision().
◆ deallocate_inner() [1/2]
|
inlinestatic |
Definition at line 707 of file node.hpp.
References immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::sizeof_inner_n().
Referenced by immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::copy_inner_insert_value(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::copy_inner_remove_value(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::copy_inner_replace_inline(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::copy_inner_replace_merged(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::copy_inner_replace_value(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::delete_inner(), and immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::make_inner_n().
◆ deallocate_inner() [2/2]
|
inlinestatic |
◆ deallocate_values()
|
inlinestatic |
Definition at line 695 of file node.hpp.
References immer::detail::destroy_n(), and immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::sizeof_values_n().
Referenced by immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::delete_values().
◆ dec()
|
inline |
Definition at line 634 of file node.hpp.
References immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::refs().
Referenced by immer::detail::hamts::champ< value_t, hash_key, equal_key, MemoryPolicy, B >::dec().
◆ dec_unsafe()
|
inline |
Definition at line 635 of file node.hpp.
References immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::refs().
◆ delete_collision()
|
inlinestatic |
Definition at line 659 of file node.hpp.
References immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::collision, immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::collision_count(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::deallocate_collision(), and immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::kind().
Referenced by immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::delete_deep(), and immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::delete_deep_shift().
◆ delete_deep()
|
inlinestatic |
Definition at line 667 of file node.hpp.
References immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::children(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::delete_collision(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::delete_inner(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::nodemap(), and immer::detail::hamts::popcount().
Referenced by immer::detail::hamts::champ< value_t, hash_key, equal_key, MemoryPolicy, B >::dec().
◆ delete_deep_shift()
|
inlinestatic |
Definition at line 681 of file node.hpp.
References immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::children(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::delete_collision(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::delete_inner(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::nodemap(), and immer::detail::hamts::popcount().
Referenced by immer::detail::hamts::champ< value_t, hash_key, equal_key, MemoryPolicy, B >::do_add(), immer::detail::hamts::champ< value_t, hash_key, equal_key, MemoryPolicy, B >::do_sub(), immer::detail::hamts::champ< value_t, hash_key, equal_key, MemoryPolicy, B >::do_update(), and immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::make_merged().
◆ delete_inner()
|
inlinestatic |
Definition at line 649 of file node.hpp.
References immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::datamap(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::deallocate_inner(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::delete_values(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::impl, immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::inner, immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::kind(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::nodemap(), immer::detail::hamts::popcount(), and immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::refs().
Referenced by immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::delete_deep(), and immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::delete_deep_shift().
◆ delete_values()
|
inlinestatic |
Definition at line 643 of file node.hpp.
References immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::deallocate_values().
Referenced by immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::delete_inner().
◆ inc() [1/2]
|
inline |
Definition at line 622 of file node.hpp.
References immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::refs().
Referenced by immer::detail::hamts::champ< value_t, hash_key, equal_key, MemoryPolicy, B >::do_sub(), and immer::detail::hamts::champ< value_t, hash_key, equal_key, MemoryPolicy, B >::inc().
◆ inc() [2/2]
|
inline |
Definition at line 628 of file node.hpp.
References immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::refs().
◆ inc_nodes()
|
inlinestatic |
Definition at line 637 of file node.hpp.
References immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::refs().
Referenced by immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::copy_inner_insert_value(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::copy_inner_remove_value(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::copy_inner_replace(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::copy_inner_replace_inline(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::copy_inner_replace_merged(), and immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::copy_inner_replace_value().
◆ kind()
|
inline |
Definition at line 112 of file node.hpp.
References immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::impl.
Referenced by immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::children(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::collision_count(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::collisions(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::copy_collision_insert(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::copy_collision_remove(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::copy_collision_replace(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::copy_inner_insert_value(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::copy_inner_remove_value(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::copy_inner_replace(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::copy_inner_replace_inline(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::copy_inner_replace_merged(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::copy_inner_replace_value(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::datamap(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::delete_collision(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::delete_inner(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::nodemap(), and immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::values().
◆ make_collision()
|
inlinestatic |
Definition at line 287 of file node.hpp.
References immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::collision, immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::deallocate_collision(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::impl, and immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::sizeof_collision_n().
Referenced by immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::make_merged().
◆ make_collision_n()
|
inlinestatic |
Definition at line 275 of file node.hpp.
References immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::collision, immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::impl, and immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::sizeof_collision_n().
Referenced by immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::copy_collision_insert(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::copy_collision_remove(), and immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::copy_collision_replace().
◆ make_inner_n() [1/6]
|
inlinestatic |
Definition at line 182 of file node.hpp.
References immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::impl, immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::inner, and immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::sizeof_inner_n().
Referenced by immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::copy_inner_insert_value(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::copy_inner_remove_value(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::copy_inner_replace(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::copy_inner_replace_inline(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::copy_inner_replace_merged(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::copy_inner_replace_value(), immer::detail::hamts::champ< value_t, hash_key, equal_key, MemoryPolicy, B >::do_sub(), immer::detail::hamts::champ< value_t, hash_key, equal_key, MemoryPolicy, B >::empty(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::make_inner_n(), and immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::make_merged().
◆ make_inner_n() [2/6]
|
inlinestatic |
◆ make_inner_n() [3/6]
|
inlinestatic |
◆ make_inner_n() [4/6]
|
inlinestatic |
Definition at line 222 of file node.hpp.
References immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::make_inner_n().
◆ make_inner_n() [5/6]
|
inlinestatic |
Definition at line 231 of file node.hpp.
References immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::deallocate_inner(), and immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::make_inner_n().
◆ make_inner_n() [6/6]
|
inlinestatic |
Definition at line 246 of file node.hpp.
References immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::deallocate_inner(), and immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::make_inner_n().
◆ make_merged()
|
inlinestatic |
Definition at line 595 of file node.hpp.
References immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::delete_deep_shift(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::make_collision(), and immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::make_inner_n().
Referenced by immer::detail::hamts::champ< value_t, hash_key, equal_key, MemoryPolicy, B >::do_add(), and immer::detail::hamts::champ< value_t, hash_key, equal_key, MemoryPolicy, B >::do_update().
◆ nodemap()
|
inline |
Definition at line 150 of file node.hpp.
References immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::impl, immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::inner, and immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::kind().
Referenced by immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::copy_inner_insert_value(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::copy_inner_remove_value(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::copy_inner_replace(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::copy_inner_replace_inline(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::copy_inner_replace_merged(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::copy_inner_replace_value(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::delete_deep(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::delete_deep_shift(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::delete_inner(), immer::detail::hamts::champ< value_t, hash_key, equal_key, MemoryPolicy, B >::do_add(), immer::detail::hamts::champ< value_t, hash_key, equal_key, MemoryPolicy, B >::do_sub(), immer::detail::hamts::champ< value_t, hash_key, equal_key, MemoryPolicy, B >::do_update(), immer::detail::hamts::champ< value_t, hash_key, equal_key, MemoryPolicy, B >::equals_tree(), immer::detail::hamts::champ< value_t, hash_key, equal_key, MemoryPolicy, B >::for_each_chunk_traversal(), and immer::detail::hamts::champ< value_t, hash_key, equal_key, MemoryPolicy, B >::get().
◆ ownee() [1/4]
|
inlinestatic |
◆ ownee() [2/4]
|
inlinestatic |
◆ ownee() [3/4]
|
inlinestatic |
Definition at line 179 of file node.hpp.
References immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::impl.
◆ ownee() [4/4]
|
inlinestatic |
Definition at line 180 of file node.hpp.
References immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::impl.
◆ refs() [1/2]
|
inlinestatic |
Definition at line 174 of file node.hpp.
References immer::detail::auto_const_cast().
Referenced by immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::dec(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::dec_unsafe(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::delete_inner(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::inc(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::inc_nodes(), and immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::make_inner_n().
◆ refs() [2/2]
|
inlinestatic |
Definition at line 178 of file node.hpp.
References immer::detail::auto_const_cast(), and immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::impl.
◆ sizeof_collision_n()
|
inlinestatic |
Definition at line 99 of file node.hpp.
References immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::collision_t::buffer, count, and immer_offsetof.
Referenced by immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::deallocate_collision(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::make_collision(), and immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::make_collision_n().
◆ sizeof_inner_n()
|
inlinestatic |
Definition at line 105 of file node.hpp.
References immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::inner_t::buffer, count, and immer_offsetof.
Referenced by immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::deallocate_inner(), and immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::make_inner_n().
◆ sizeof_values_n()
|
inlinestatic |
Definition at line 93 of file node.hpp.
References immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::values_data_t::buffer, count, and immer_offsetof.
Referenced by immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::deallocate_inner(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::deallocate_values(), and immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::make_inner_n().
◆ values() [1/2]
|
inline |
Definition at line 118 of file node.hpp.
References immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::impl, immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::inner, and immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::kind().
Referenced by immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::copy_inner_insert_value(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::copy_inner_remove_value(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::copy_inner_replace_inline(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::copy_inner_replace_merged(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::copy_inner_replace_value(), immer::detail::hamts::champ< value_t, hash_key, equal_key, MemoryPolicy, B >::do_add(), immer::detail::hamts::champ< value_t, hash_key, equal_key, MemoryPolicy, B >::do_sub(), immer::detail::hamts::champ< value_t, hash_key, equal_key, MemoryPolicy, B >::do_update(), immer::detail::hamts::champ< value_t, hash_key, equal_key, MemoryPolicy, B >::equals_tree(), immer::detail::hamts::champ< value_t, hash_key, equal_key, MemoryPolicy, B >::for_each_chunk_traversal(), immer::detail::hamts::champ< value_t, hash_key, equal_key, MemoryPolicy, B >::get(), and immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::make_inner_n().
◆ values() [2/2]
|
inline |
Member Data Documentation
◆ impl
impl_t immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::impl |
Definition at line 91 of file node.hpp.
Referenced by immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::children(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::collision_count(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::collisions(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::copy_inner_replace(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::datamap(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::deallocate_inner(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::delete_inner(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::kind(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::make_collision(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::make_collision_n(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::make_inner_n(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::nodemap(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::ownee(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::refs(), and immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::values().
The documentation for this struct was generated from the following file:
- src/immer/detail/hamts/node.hpp