Dash Core Source Documentation (0.16.0.1)
Find detailed information regarding the Dash Core source code.
#include <node.hpp>
Classes | |
struct | data_t |
Public Types | |
using | memory = MemoryPolicy |
using | heap = typename MemoryPolicy::heap::type |
using | transience = typename memory::transience_t |
using | refs_t = typename memory::refcount |
using | ownee_t = typename transience::ownee |
using | node_t = node |
using | edit_t = typename transience::edit |
using | impl_t = combine_standard_layout_t< data_t, refs_t, ownee_t > |
Public Member Functions | |
refs_t & | refs () const |
const ownee_t & | ownee () const |
ownee_t & | ownee () |
const T * | data () const |
T * | data () |
bool | can_mutate (edit_t e) const |
Static Public Member Functions | |
static constexpr std::size_t | sizeof_n (size_t count) |
static void | delete_n (node_t *p, size_t sz, size_t cap) |
static node_t * | make_n (size_t n) |
static node_t * | make_e (edit_t e, size_t n) |
static node_t * | fill_n (size_t n, T v) |
template<typename Iter , typename Sent , std::enable_if_t< detail::compatible_sentinel_v< Iter, Sent >, bool > = true> | |
static node_t * | copy_n (size_t n, Iter first, Sent last) |
static node_t * | copy_n (size_t n, node_t *p, size_t count) |
template<typename Iter > | |
static node_t * | copy_e (edit_t e, size_t n, Iter first, Iter last) |
static node_t * | copy_e (edit_t e, size_t n, node_t *p, size_t count) |
Public Attributes | |
impl_t | impl |
Detailed Description
template<typename T, typename MemoryPolicy>
struct immer::detail::arrays::node< T, MemoryPolicy >
Member Typedef Documentation
◆ edit_t
using immer::detail::arrays::node< T, MemoryPolicy >::edit_t = typename transience::edit |
◆ heap
using immer::detail::arrays::node< T, MemoryPolicy >::heap = typename MemoryPolicy::heap::type |
◆ impl_t
using immer::detail::arrays::node< T, MemoryPolicy >::impl_t = combine_standard_layout_t<data_t, refs_t, ownee_t> |
◆ memory
using immer::detail::arrays::node< T, MemoryPolicy >::memory = MemoryPolicy |
◆ node_t
using immer::detail::arrays::node< T, MemoryPolicy >::node_t = node |
◆ ownee_t
using immer::detail::arrays::node< T, MemoryPolicy >::ownee_t = typename transience::ownee |
◆ refs_t
using immer::detail::arrays::node< T, MemoryPolicy >::refs_t = typename memory::refcount |
◆ transience
using immer::detail::arrays::node< T, MemoryPolicy >::transience = typename memory::transience_t |
Member Function Documentation
◆ can_mutate()
|
inline |
Definition at line 59 of file node.hpp.
References immer::detail::arrays::node< T, MemoryPolicy >::ownee(), and immer::detail::arrays::node< T, MemoryPolicy >::refs().
Referenced by immer::detail::arrays::with_capacity< T, MemoryPolicy >::assoc_mut(), immer::detail::arrays::with_capacity< T, MemoryPolicy >::push_back_mut(), immer::detail::arrays::with_capacity< T, MemoryPolicy >::take_mut(), and immer::detail::arrays::with_capacity< T, MemoryPolicy >::update_mut().
◆ copy_e() [1/2]
|
inlinestatic |
Definition at line 117 of file node.hpp.
References immer::detail::arrays::node< T, MemoryPolicy >::copy_n().
Referenced by immer::detail::arrays::node< T, MemoryPolicy >::copy_e(), immer::detail::arrays::with_capacity< T, MemoryPolicy >::push_back_mut(), immer::detail::arrays::with_capacity< T, MemoryPolicy >::take_mut(), and immer::detail::arrays::with_capacity< T, MemoryPolicy >::update_mut().
◆ copy_e() [2/2]
|
inlinestatic |
Definition at line 124 of file node.hpp.
References immer::detail::arrays::node< T, MemoryPolicy >::copy_e(), count, and immer::detail::arrays::node< T, MemoryPolicy >::data().
◆ copy_n() [1/2]
|
inlinestatic |
Definition at line 99 of file node.hpp.
References immer::detail::arrays::node< T, MemoryPolicy >::make_n(), immer::detail::arrays::node< T, MemoryPolicy >::sizeof_n(), and immer::detail::uninitialized_copy().
Referenced by immer::detail::arrays::no_capacity< T, MemoryPolicy >::assoc(), immer::detail::arrays::with_capacity< T, MemoryPolicy >::assoc(), immer::detail::arrays::with_capacity< T, MemoryPolicy >::assoc_mut(), immer::detail::arrays::node< T, MemoryPolicy >::copy_e(), immer::detail::arrays::node< T, MemoryPolicy >::copy_n(), immer::detail::arrays::no_capacity< T, MemoryPolicy >::from_range(), immer::detail::arrays::with_capacity< T, MemoryPolicy >::from_range(), immer::detail::arrays::with_capacity< T, MemoryPolicy >::operator no_capacity_t(), immer::detail::arrays::no_capacity< T, MemoryPolicy >::push_back(), immer::detail::arrays::with_capacity< T, MemoryPolicy >::push_back(), immer::detail::arrays::no_capacity< T, MemoryPolicy >::take(), immer::detail::arrays::with_capacity< T, MemoryPolicy >::take(), immer::detail::arrays::no_capacity< T, MemoryPolicy >::update(), and immer::detail::arrays::with_capacity< T, MemoryPolicy >::update().
◆ copy_n() [2/2]
|
inlinestatic |
Definition at line 111 of file node.hpp.
References immer::detail::arrays::node< T, MemoryPolicy >::copy_n(), count, and immer::detail::arrays::node< T, MemoryPolicy >::data().
◆ data() [1/2]
|
inline |
Definition at line 56 of file node.hpp.
References immer::detail::arrays::node< T, MemoryPolicy >::impl.
Referenced by immer::detail::arrays::node< T, MemoryPolicy >::copy_e(), immer::detail::arrays::node< T, MemoryPolicy >::copy_n(), immer::detail::arrays::no_capacity< T, MemoryPolicy >::data(), immer::detail::arrays::with_capacity< T, MemoryPolicy >::data(), and immer::detail::arrays::node< T, MemoryPolicy >::delete_n().
◆ data() [2/2]
|
inline |
Definition at line 57 of file node.hpp.
References immer::detail::arrays::node< T, MemoryPolicy >::impl.
◆ delete_n()
|
inlinestatic |
Definition at line 65 of file node.hpp.
References immer::detail::arrays::node< T, MemoryPolicy >::data(), immer::detail::destroy_n(), and immer::detail::arrays::node< T, MemoryPolicy >::sizeof_n().
Referenced by immer::detail::arrays::no_capacity< T, MemoryPolicy >::assoc(), immer::detail::arrays::with_capacity< T, MemoryPolicy >::assoc(), immer::detail::arrays::with_capacity< T, MemoryPolicy >::assoc_mut(), immer::detail::arrays::no_capacity< T, MemoryPolicy >::dec(), immer::detail::arrays::with_capacity< T, MemoryPolicy >::dec(), immer::detail::arrays::no_capacity< T, MemoryPolicy >::push_back(), immer::detail::arrays::with_capacity< T, MemoryPolicy >::push_back(), immer::detail::arrays::with_capacity< T, MemoryPolicy >::push_back_mut(), immer::detail::arrays::no_capacity< T, MemoryPolicy >::update(), immer::detail::arrays::with_capacity< T, MemoryPolicy >::update(), and immer::detail::arrays::with_capacity< T, MemoryPolicy >::update_mut().
◆ fill_n()
|
inlinestatic |
Definition at line 84 of file node.hpp.
References immer::detail::arrays::node< T, MemoryPolicy >::make_n(), and immer::detail::arrays::node< T, MemoryPolicy >::sizeof_n().
Referenced by immer::detail::arrays::no_capacity< T, MemoryPolicy >::from_fill(), and immer::detail::arrays::with_capacity< T, MemoryPolicy >::from_fill().
◆ make_e()
|
inlinestatic |
Definition at line 77 of file node.hpp.
References immer::detail::arrays::node< T, MemoryPolicy >::make_n().
◆ make_n()
|
inlinestatic |
Definition at line 72 of file node.hpp.
References immer::detail::arrays::node< T, MemoryPolicy >::sizeof_n().
Referenced by immer::detail::arrays::node< T, MemoryPolicy >::copy_n(), immer::detail::arrays::no_capacity< T, MemoryPolicy >::empty(), immer::detail::arrays::with_capacity< T, MemoryPolicy >::empty(), immer::detail::arrays::node< T, MemoryPolicy >::fill_n(), and immer::detail::arrays::node< T, MemoryPolicy >::make_e().
◆ ownee() [1/2]
|
inline |
Definition at line 53 of file node.hpp.
References immer::detail::arrays::node< T, MemoryPolicy >::impl.
Referenced by immer::detail::arrays::node< T, MemoryPolicy >::can_mutate().
◆ ownee() [2/2]
|
inline |
Definition at line 54 of file node.hpp.
References immer::detail::arrays::node< T, MemoryPolicy >::impl.
◆ refs()
|
inline |
Definition at line 48 of file node.hpp.
References immer::detail::auto_const_cast(), and immer::detail::arrays::node< T, MemoryPolicy >::impl.
Referenced by immer::detail::arrays::node< T, MemoryPolicy >::can_mutate(), immer::detail::arrays::no_capacity< T, MemoryPolicy >::dec(), immer::detail::arrays::with_capacity< T, MemoryPolicy >::dec(), immer::detail::arrays::no_capacity< T, MemoryPolicy >::inc(), immer::detail::arrays::with_capacity< T, MemoryPolicy >::inc(), and immer::detail::arrays::with_capacity< T, MemoryPolicy >::operator no_capacity_t().
◆ sizeof_n()
|
inlinestatic |
Definition at line 43 of file node.hpp.
References count, and immer_offsetof.
Referenced by immer::detail::arrays::node< T, MemoryPolicy >::copy_n(), immer::detail::arrays::node< T, MemoryPolicy >::delete_n(), immer::detail::arrays::node< T, MemoryPolicy >::fill_n(), and immer::detail::arrays::node< T, MemoryPolicy >::make_n().
Member Data Documentation
◆ impl
impl_t immer::detail::arrays::node< T, MemoryPolicy >::impl |
Definition at line 41 of file node.hpp.
Referenced by immer::detail::arrays::node< T, MemoryPolicy >::data(), immer::detail::arrays::node< T, MemoryPolicy >::ownee(), and immer::detail::arrays::node< T, MemoryPolicy >::refs().
The documentation for this struct was generated from the following file:
- src/immer/detail/arrays/node.hpp