Tree Builders

BppTree

template<typename Value, int leaf_node_bytes = 512, int internal_node_bytes = 512, int depth_limit = 16, bool disable_exceptions = default_disable_exceptions>
struct BppTree

Public Types

template<typename ...Args>
using mixins = BppTreeDetail<Value, leaf_node_bytes, internal_node_bytes, depth_limit, disable_exceptions, typename Args::template build<Value>...>
using Transient = typename mixins<>::Transient
using Persistent = typename mixins<>::Persistent

BppTreeVector

template<typename Value, typename SizeType = size_t, int leaf_node_bytes_v = 512, int internal_node_bytes_v = 512, int depth_limit_v = 16, bool disable_exceptions_v = default_disable_exceptions>
struct BppTreeVector

Public Types

template<typename T>
using size_type = BppTreeVector<Value, T, leaf_node_bytes_v, internal_node_bytes_v, depth_limit_v>
template<int l>
using leaf_node_bytes = BppTreeVector<Value, SizeType, l, internal_node_bytes_v, depth_limit_v>
template<int i>
using internal_node_bytes = BppTreeVector<Value, SizeType, leaf_node_bytes_v, i, depth_limit_v>
template<int d>
using depth_limit = BppTreeVector<Value, SizeType, leaf_node_bytes_v, internal_node_bytes_v, d>
template<bool b>
using disable_exceptions = BppTreeVector<Value, SizeType, leaf_node_bytes_v, internal_node_bytes_v, depth_limit_v, b>
template<typename ...Args>
using mixins = typename BppTree<Value, leaf_node_bytes_v, internal_node_bytes_v, depth_limit_v, disable_exceptions_v>::template mixins<IndexedBuilder<SizeType>, Args...>
using Transient = typename mixins<>::Transient
using Persistent = typename mixins<>::Persistent

BppTreeMap

template<typename Key, typename Value, typename Compare = MinComparator, bool binary_search_v = false, int leaf_node_bytes_v = 512, int internal_node_bytes_v = 512, int depth_limit_v = 16, bool disable_exceptions_v = default_disable_exceptions>
struct BppTreeMap

Public Types

template<typename T>
using compare = BppTreeMap<Key, Value, T, binary_search_v, leaf_node_bytes_v, internal_node_bytes_v, depth_limit_v>
template<bool b>
using binary_search = BppTreeMap<Key, Value, Compare, b, leaf_node_bytes_v, internal_node_bytes_v, depth_limit_v>
template<int l>
using leaf_node_bytes = BppTreeMap<Key, Value, Compare, binary_search_v, l, internal_node_bytes_v, depth_limit_v>
template<int i>
using internal_node_bytes = BppTreeMap<Key, Value, Compare, binary_search_v, leaf_node_bytes_v, i, depth_limit_v>
template<int d>
using depth_limit = BppTreeMap<Key, Value, Compare, binary_search_v, leaf_node_bytes_v, internal_node_bytes_v, d>
template<bool b>
using disable_exceptions = BppTreeMap<Key, Value, Compare, binary_search_v, leaf_node_bytes_v, internal_node_bytes_v, depth_limit_v, b>
template<typename ...Args>
using mixins = typename BppTree<std::pair<Key, Value>, leaf_node_bytes_v, internal_node_bytes_v, depth_limit_v, disable_exceptions_v>::template mixins<typename OrderedBuilder<>::compare<Compare>::template binary_search<binary_search_v>, Args...>
using Transient = typename mixins<>::Transient
using Persistent = typename mixins<>::Persistent

BppTreeSet

template<typename Key, typename Compare = MinComparator, bool binary_search_v = false, int leaf_node_bytes_v = 512, int internal_node_bytes_v = 512, int depth_limit_v = 16, bool disable_exceptions_v = default_disable_exceptions>
struct BppTreeSet

Public Types

template<typename T>
using compare = BppTreeSet<Key, T, binary_search_v, leaf_node_bytes_v, internal_node_bytes_v, depth_limit_v>
template<bool b>
using binary_search = BppTreeSet<Key, Compare, b, leaf_node_bytes_v, internal_node_bytes_v, depth_limit_v>
template<int l>
using leaf_node_bytes = BppTreeSet<Key, Compare, binary_search_v, l, internal_node_bytes_v, depth_limit_v>
template<int i>
using internal_node_bytes = BppTreeSet<Key, Compare, binary_search_v, leaf_node_bytes_v, i, depth_limit_v>
template<int d>
using depth_limit = BppTreeSet<Key, Compare, binary_search_v, leaf_node_bytes_v, internal_node_bytes_v, d>
template<bool b>
using disable_exceptions = BppTreeSet<Key, Compare, binary_search_v, leaf_node_bytes_v, internal_node_bytes_v, depth_limit_v, b>
template<typename ...Args>
using mixins = typename BppTree<Key, leaf_node_bytes_v, internal_node_bytes_v, depth_limit_v, disable_exceptions_v>::template mixins<typename OrderedBuilder<>::extractor<ValueExtractor>::compare<Compare>::template binary_search<binary_search_v>, Args...>
using Transient = typename mixins<>::Transient
using Persistent = typename mixins<>::Persistent