Dash Core Source Documentation (0.16.0.1)
Find detailed information regarding the Dash Core source code.
Namespaces | |
arrays | |
csl | |
dvektor | |
hamts | |
rbts | |
swappable | |
Typedefs | |
template<typename... Ts> | |
using | combine_standard_layout_t = typename combine_standard_layout< Ts... >::type |
template<typename... Ts> | |
using | void_t = typename make_void< Ts... >::type |
template<typename T , typename U > | |
using | is_swappable_with = swappable::with< T, U > |
template<typename T > | |
using | is_swappable = is_swappable_with< T, T > |
template<typename T > | |
using | aligned_storage_for = typename std::aligned_storage< sizeof(T), alignof(T)>::type |
Functions | |
template<typename T > | |
T & | auto_const_cast (const T &x) |
template<typename T > | |
T && | auto_const_cast (const T &&x) |
template<typename Iter1 , typename Iter2 > | |
auto | uninitialized_move (Iter1 in1, Iter1 in2, Iter2 out) |
template<class T > | |
void | destroy (T *first, T *last) |
template<class T , class Size > | |
void | destroy_n (T *p, Size n) |
template<typename Heap , typename T , typename... Args> | |
T * | make (Args &&...args) |
template<typename T > | |
constexpr auto | clz_ (T) -> not_supported_t |
constexpr auto | clz_ (unsigned int x) |
constexpr auto | clz_ (unsigned long x) |
constexpr auto | clz_ (unsigned long long x) |
template<typename T > | |
constexpr T | log2_aux (T x, T r=0) |
template<typename T > | |
constexpr auto | log2 (T x) -> std::enable_if_t<!std::is_same< decltype(clz_(x)), not_supported_t >::value, T > |
template<bool b, typename F > | |
auto | static_if (F &&f) -> std::enable_if_t< b > |
template<bool b, typename R = void, typename F1 , typename F2 > | |
auto | static_if (F1 &&f1, F2 &&f2) -> std::enable_if_t< b, R > |
template<typename Iterator , typename Sentinel , std::enable_if_t< detail::std_distance_supports_v< Iterator, Sentinel >, bool > = true> | |
std::iterator_traits< Iterator >::difference_type | distance (Iterator first, Sentinel last) |
template<typename Iterator , typename Sentinel , typename SinkIter , std::enable_if_t< detail::std_uninitialized_copy_supports_v< Iterator, Sentinel, SinkIter >, bool > = true> | |
SinkIter | uninitialized_copy (Iterator first, Sentinel last, SinkIter d_first) |
template<typename SourceIter , typename Sent , typename SinkIter , std::enable_if_t<(!detail::std_uninitialized_copy_supports_v< SourceIter, Sent, SinkIter >) &&detail::compatible_sentinel_v< SourceIter, Sent > &&detail::is_forward_iterator_v< SinkIter >, bool > = true> | |
SinkIter | uninitialized_copy (SourceIter first, Sent last, SinkIter d_first) |
Variables | |
template<typename T > | |
constexpr bool | is_dereferenceable_v = is_dereferenceable<T>::value |
template<typename T , typename U = T> | |
constexpr bool | is_equality_comparable_v = is_equality_comparable<T, U>::value |
template<typename T , typename U = T> | |
constexpr bool | is_inequality_comparable_v |
template<typename T > | |
constexpr bool | is_preincrementable_v = is_preincrementable<T>::value |
template<typename T , typename U = T> | |
constexpr bool | is_subtractable_v = is_subtractable<T, U>::value |
template<typename T > | |
constexpr bool | is_swappable_v = is_swappable_with<T&, T&>::value |
template<typename T > | |
constexpr bool | is_iterator_v = is_iterator<T>::value |
template<typename T , typename U > | |
constexpr bool | compatible_sentinel_v = compatible_sentinel<T,U>::value |
template<typename T > | |
constexpr bool | is_forward_iterator_v = is_forward_iterator<T>::value |
template<typename T , typename U > | |
constexpr bool | std_distance_supports_v = std_distance_supports<T, U>::value |
template<typename T , typename U , typename V > | |
constexpr bool | std_uninitialized_copy_supports_v |
Typedef Documentation
◆ aligned_storage_for
using immer::detail::aligned_storage_for = typedef typename std::aligned_storage<sizeof(T), alignof(T)>::type |
◆ combine_standard_layout_t
using immer::detail::combine_standard_layout_t = typedef typename combine_standard_layout<Ts...>::type |
Definition at line 46 of file combine_standard_layout.hpp.
◆ is_swappable
using immer::detail::is_swappable = typedef is_swappable_with<T, T> |
Definition at line 106 of file type_traits.hpp.
◆ is_swappable_with
using immer::detail::is_swappable_with = typedef swappable::with<T, U> |
Definition at line 103 of file type_traits.hpp.
◆ void_t
using immer::detail::void_t = typedef typename make_void<Ts...>::type |
Definition at line 24 of file type_traits.hpp.
Function Documentation
◆ auto_const_cast() [1/2]
T& immer::detail::auto_const_cast | ( | const T & | x | ) |
Definition at line 32 of file util.hpp.
Referenced by immer::detail::arrays::node< T, MemoryPolicy >::refs(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::refs(), and immer::detail::rbts::node< T, MemoryPolicy, B, BL >::refs().
◆ auto_const_cast() [2/2]
T&& immer::detail::auto_const_cast | ( | const T && | x | ) |
◆ clz_() [1/4]
|
inline |
◆ clz_() [2/4]
◆ clz_() [3/4]
|
inline |
◆ clz_() [4/4]
|
inline |
◆ destroy()
void immer::detail::destroy | ( | T * | first, |
T * | last | ||
) |
Definition at line 45 of file util.hpp.
Referenced by 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().
◆ destroy_n()
void immer::detail::destroy_n | ( | T * | p, |
Size | n | ||
) |
Definition at line 52 of file util.hpp.
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::rbts::node< T, MemoryPolicy, B, BL >::copy_leaf(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::copy_leaf_e(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::copy_leaf_emplace(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::deallocate_collision(), immer::detail::hamts::node< T, Hash, Equal, MemoryPolicy, B >::deallocate_values(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::delete_leaf(), immer::detail::arrays::node< T, MemoryPolicy >::delete_n(), immer::detail::arrays::with_capacity< T, MemoryPolicy >::take_mut(), immer::detail::rbts::rbtree< T, MemoryPolicy, B, BL >::take_mut(), immer::detail::rbts::rrbtree< T, MemoryPolicy, B, BL >::take_mut(), immer::detail::rbts::slice_right_mut_visitor< NodeT, Collapse, Mutating >::visit_leaf(), and immer::detail::rbts::slice_left_mut_visitor< NodeT, Collapse, Mutating >::visit_leaf().
◆ distance()
std::iterator_traits< Iterator >::difference_type immer::detail::distance | ( | Iterator | first, |
Sentinel | last | ||
) |
An alias to std::distance
Equivalent of the std::distance
applied to the sentinel-delimited forward range
Equivalent of the std::distance
applied to the sentinel-delimited random access range
Definition at line 141 of file util.hpp.
Referenced by immer::detail::arrays::no_capacity< T, MemoryPolicy >::from_range(), and immer::detail::arrays::with_capacity< T, MemoryPolicy >::from_range().
◆ log2()
|
inline |
Definition at line 100 of file util.hpp.
References clz_().
Referenced by immer::detail::rbts::derive_bits_leaf_aux(), and CuckooCache::cache< Element, Hash >::setup().
◆ log2_aux()
|
inline |
◆ make()
T* immer::detail::make | ( | Args &&... | args | ) |
◆ static_if() [1/2]
auto immer::detail::static_if | ( | F && | f | ) | -> std::enable_if_t<b> |
◆ static_if() [2/2]
auto immer::detail::static_if | ( | F1 && | f1, |
F2 && | f2 | ||
) | -> std::enable_if_t<b, R> |
◆ uninitialized_copy() [1/2]
SinkIter immer::detail::uninitialized_copy | ( | Iterator | first, |
Sentinel | last, | ||
SinkIter | d_first | ||
) |
An alias to std::uninitialized_copy
Definition at line 192 of file util.hpp.
References uninitialized_copy().
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::rbts::node< T, MemoryPolicy, B, BL >::copy_inner(), 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::rbts::node< T, MemoryPolicy, B, BL >::copy_leaf(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::copy_leaf_e(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::copy_leaf_n(), immer::detail::arrays::node< T, MemoryPolicy >::copy_n(), immer::detail::rbts::node< T, MemoryPolicy, B, BL >::do_copy_inner(), immer::detail::rbts::concat_merger< Node >::merge_inner(), immer::detail::rbts::concat_merger< Node >::merge_leaf(), immer::detail::rbts::concat_merger_mut< Node >::merge_leaf(), immer::detail::rbts::slice_left_visitor< NodeT, Collapse >::visit_inner(), immer::detail::rbts::slice_left_mut_visitor< NodeT, Collapse, Mutating >::visit_regular(), and immer::detail::rbts::slice_left_mut_visitor< NodeT, Collapse, Mutating >::visit_relaxed().
◆ uninitialized_copy() [2/2]
SinkIter immer::detail::uninitialized_copy | ( | SourceIter | first, |
Sent | last, | ||
SinkIter | d_first | ||
) |
Equivalent of the std::uninitialized_copy
applied to the sentinel-delimited forward range
Definition at line 206 of file util.hpp.
Referenced by uninitialized_copy(), and uninitialized_move().
◆ uninitialized_move()
auto immer::detail::uninitialized_move | ( | Iter1 | in1, |
Iter1 | in2, | ||
Iter2 | out | ||
) |
Definition at line 37 of file util.hpp.
References uninitialized_copy().
Referenced by immer::detail::rbts::concat_merger_mut< Node >::merge_leaf().
Variable Documentation
◆ compatible_sentinel_v
constexpr bool immer::detail::compatible_sentinel_v = compatible_sentinel<T,U>::value |
Definition at line 148 of file type_traits.hpp.
◆ is_dereferenceable_v
constexpr bool immer::detail::is_dereferenceable_v = is_dereferenceable<T>::value |
Definition at line 34 of file type_traits.hpp.
◆ is_equality_comparable_v
constexpr bool immer::detail::is_equality_comparable_v = is_equality_comparable<T, U>::value |
Definition at line 47 of file type_traits.hpp.
◆ is_forward_iterator_v
constexpr bool immer::detail::is_forward_iterator_v = is_forward_iterator<T>::value |
Definition at line 163 of file type_traits.hpp.
◆ is_inequality_comparable_v
constexpr bool immer::detail::is_inequality_comparable_v |
Definition at line 60 of file type_traits.hpp.
◆ is_iterator_v
constexpr bool immer::detail::is_iterator_v = is_iterator<T>::value |
Definition at line 134 of file type_traits.hpp.
◆ is_preincrementable_v
constexpr bool immer::detail::is_preincrementable_v = is_preincrementable<T>::value |
Definition at line 73 of file type_traits.hpp.
◆ is_subtractable_v
constexpr bool immer::detail::is_subtractable_v = is_subtractable<T, U>::value |
Definition at line 84 of file type_traits.hpp.
◆ is_swappable_v
constexpr bool immer::detail::is_swappable_v = is_swappable_with<T&, T&>::value |
Definition at line 109 of file type_traits.hpp.
◆ std_distance_supports_v
constexpr bool immer::detail::std_distance_supports_v = std_distance_supports<T, U>::value |
Definition at line 174 of file type_traits.hpp.
◆ std_uninitialized_copy_supports_v
constexpr bool immer::detail::std_uninitialized_copy_supports_v |
Definition at line 187 of file type_traits.hpp.