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.
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 |