Dash Core Source Documentation (0.16.0.1)

Find detailed information regarding the Dash Core source code.

immer::detail::dvektor::ref< T, B, MP > Struct Template Reference

#include <dvektor_impl.hpp>

Public Types

using inner_t = inner_node< T, B, MP >
 
using leaf_t = leaf_node< T, B >
 
using node_t = node< T, B, MP >
 
using node_ptr_t = node_ptr< T, B, MP >
 

Public Member Functions

const T & get_elem (std::size_t index, std::size_t xr) const
 
node_ptr_t null_slot_and_copy_inner (node_ptr_t &node, std::size_t idx)
 
node_ptr_t null_slot_and_copy_leaf (node_ptr_t &node, std::size_t idx)
 
node_ptr_t copy_of_inner (const node_ptr_t &n)
 
node_ptr_t copy_of_leaf (const node_ptr_t &n)
 
void stabilize (std::size_t index)
 
void goto_pos_writable_from_clean (std::size_t old_index, std::size_t index, std::size_t xr)
 
void goto_pos_writable_from_dirty (std::size_t old_index, std::size_t new_index, std::size_t xr)
 
void goto_fresh_pos_writable_from_clean (std::size_t old_index, std::size_t new_index, std::size_t xr)
 
void goto_fresh_pos_writable_from_dirty (std::size_t old_index, std::size_t new_index, std::size_t xr)
 
void goto_next_block_start (std::size_t index, std::size_t xr)
 
void goto_pos (std::size_t index, std::size_t xr)
 

Static Public Member Functions

template<typename ... Ts>
static auto make_node (Ts &&...xs)
 

Public Attributes

unsigned depth
 
std::array< node_ptr_t, max_depth< B > > display
 

Detailed Description

template<typename T, int B, typename MP>
struct immer::detail::dvektor::ref< T, B, MP >

Definition at line 133 of file dvektor_impl.hpp.

Member Typedef Documentation

◆ inner_t

template<typename T, int B, typename MP>
using immer::detail::dvektor::ref< T, B, MP >::inner_t = inner_node<T, B, MP>

Definition at line 135 of file dvektor_impl.hpp.

◆ leaf_t

template<typename T, int B, typename MP>
using immer::detail::dvektor::ref< T, B, MP >::leaf_t = leaf_node<T, B>

Definition at line 136 of file dvektor_impl.hpp.

◆ node_ptr_t

template<typename T, int B, typename MP>
using immer::detail::dvektor::ref< T, B, MP >::node_ptr_t = node_ptr<T, B, MP>

Definition at line 138 of file dvektor_impl.hpp.

◆ node_t

template<typename T, int B, typename MP>
using immer::detail::dvektor::ref< T, B, MP >::node_t = node<T, B, MP>

Definition at line 137 of file dvektor_impl.hpp.

Member Function Documentation

◆ copy_of_inner()

◆ copy_of_leaf()

◆ get_elem()

template<typename T, int B, typename MP>
const T& immer::detail::dvektor::ref< T, B, MP >::get_elem ( std::size_t  index,
std::size_t  xr 
) const
inline

◆ goto_fresh_pos_writable_from_clean()

template<typename T, int B, typename MP>
void immer::detail::dvektor::ref< T, B, MP >::goto_fresh_pos_writable_from_clean ( std::size_t  old_index,
std::size_t  new_index,
std::size_t  xr 
)
inline

◆ goto_fresh_pos_writable_from_dirty()

template<typename T, int B, typename MP>
void immer::detail::dvektor::ref< T, B, MP >::goto_fresh_pos_writable_from_dirty ( std::size_t  old_index,
std::size_t  new_index,
std::size_t  xr 
)
inline

◆ goto_next_block_start()

template<typename T, int B, typename MP>
void immer::detail::dvektor::ref< T, B, MP >::goto_next_block_start ( std::size_t  index,
std::size_t  xr 
)
inline

Definition at line 285 of file dvektor_impl.hpp.

◆ goto_pos()

template<typename T, int B, typename MP>
void immer::detail::dvektor::ref< T, B, MP >::goto_pos ( std::size_t  index,
std::size_t  xr 
)
inline

Definition at line 297 of file dvektor_impl.hpp.

◆ goto_pos_writable_from_clean()

template<typename T, int B, typename MP>
void immer::detail::dvektor::ref< T, B, MP >::goto_pos_writable_from_clean ( std::size_t  old_index,
std::size_t  index,
std::size_t  xr 
)
inline

◆ goto_pos_writable_from_dirty()

template<typename T, int B, typename MP>
void immer::detail::dvektor::ref< T, B, MP >::goto_pos_writable_from_dirty ( std::size_t  old_index,
std::size_t  new_index,
std::size_t  xr 
)
inline

◆ make_node()

template<typename T, int B, typename MP>
template<typename ... Ts>
static auto immer::detail::dvektor::ref< T, B, MP >::make_node ( Ts &&...  xs)
inlinestatic

◆ null_slot_and_copy_inner()

template<typename T, int B, typename MP>
node_ptr_t immer::detail::dvektor::ref< T, B, MP >::null_slot_and_copy_inner ( node_ptr_t node,
std::size_t  idx 
)
inline

◆ null_slot_and_copy_leaf()

template<typename T, int B, typename MP>
node_ptr_t immer::detail::dvektor::ref< T, B, MP >::null_slot_and_copy_leaf ( node_ptr_t node,
std::size_t  idx 
)
inline

◆ stabilize()

template<typename T, int B, typename MP>
void immer::detail::dvektor::ref< T, B, MP >::stabilize ( std::size_t  index)
inline

Member Data Documentation

◆ depth

◆ display


The documentation for this struct was generated from the following file:
Released under the MIT license