Dash Core Source Documentation (0.16.0.1)

Find detailed information regarding the Dash Core source code.

dvektor_impl.hpp File Reference
#include <immer/heap/heap_policy.hpp>
#include <immer/refcount/enable_intrusive_ptr.hpp>
#include <immer/refcount/refcount_policy.hpp>
#include <boost/intrusive_ptr.hpp>
#include <boost/iterator/iterator_facade.hpp>
#include <boost/smart_ptr/intrusive_ref_counter.hpp>
#include <cassert>
#include <limits>
+ Include dependency graph for dvektor_impl.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  immer::detail::dvektor::node< T, B, MP >
 
struct  immer::detail::dvektor::node< T, B, MP >
 
union  immer::detail::dvektor::node< T, B, MP >::data_t
 
struct  immer::detail::dvektor::ref< T, B, MP >
 
struct  immer::detail::dvektor::impl< T, B, MP >
 
struct  immer::detail::dvektor::iterator< T, B, MP >
 
struct  immer::detail::dvektor::iterator< T, B, MP >::end_t
 

Namespaces

 immer
 
 immer::detail
 
 immer::detail::dvektor
 

Typedefs

template<typename T , int B, typename MP >
using immer::detail::dvektor::node_ptr = boost::intrusive_ptr< node< T, B, MP > >
 
template<typename T , int B>
using immer::detail::dvektor::leaf_node = std::array< T, 1<< B >
 
template<typename T , int B, typename MP >
using immer::detail::dvektor::inner_node = std::array< node_ptr< T, B, MP >, 1<< B >
 

Functions

constexpr auto immer::detail::dvektor::fast_log2 (std::size_t x)
 
template<typename T , int B, typename MP , typename ... Ts>
auto immer::detail::dvektor::make_node (Ts &&...xs) -> boost::intrusive_ptr< node< T, B, MP >>
 

Variables

template<int B, typename T = std::size_t>
constexpr T immer::detail::dvektor::branches = T{1} << B
 
template<int B, typename T = std::size_t>
constexpr T immer::detail::dvektor::mask = branches<B, T> - 1
 
template<int B, typename T = std::size_t>
constexpr auto immer::detail::dvektor::max_depth
 
template<typename T , int B, typename MP >
const impl< T, B, MP > immer::detail::dvektor::empty
 
Released under the MIT license