|
| | LambdaBTreeSet (const Comparator &comp=Comparator()) |
| | A default constructor creating an empty set. More...
|
| |
| template<typename Iter > |
| | LambdaBTreeSet (const Iter &a, const Iter &b) |
| | A constructor creating a set based on the given range. More...
|
| |
| | LambdaBTreeSet (const LambdaBTreeSet &other) |
| |
| | LambdaBTreeSet (LambdaBTreeSet &&other) |
| |
| LambdaBTreeSet & | operator= (const LambdaBTreeSet &other) |
| |
| void | insert (const Iter &a, const Iter &b) |
| | Inserts the given range of elements into this tree. More...
|
| |
| Functor::result_type | insert (Key &k, const Functor &f) |
| | Inserts the given key into this tree. More...
|
| |
| Functor::result_type | insert (Key &k, typename parenttype::operation_hints &hints, const Functor &f) |
| |
| | LambdaBTree (const detail::comparator< Key > &comp=detail::comparator< Key >(), const detail::comparator< Key > &weak_comp=detail::comparator< Key >()) |
| |
| bool | operator!= (const LambdaBTree &other) const |
| |
| LambdaBTree & | operator= (const LambdaBTree &other) |
| |
| bool | operator== (const LambdaBTree &other) const |
| |
| void | swap (LambdaBTree &other) |
| | Swaps the content of this tree with the given tree. More...
|
| |
| iterator | begin () const |
| |
| | btree (btree &&other) |
| |
| | btree (const btree &set) |
| |
| | btree (const Iter &a, const Iter &b) |
| |
| | btree (detail::comparator< Key > comp=detail::comparator< Key >(), detail::comparator< Key > weak_comp=detail::comparator< Key >()) |
| |
| bool | check () |
| | Checks the consistency of this tree. More...
|
| |
| void | clear () |
| | Clears this tree. More...
|
| |
| bool | contains (const Key &k) const |
| | Determines whether the given element is a member of this tree. More...
|
| |
| bool | contains (const Key &k, operation_hints &hints) const |
| | Determines whether the given element is a member of this tree. More...
|
| |
| bool | empty () const |
| |
| iterator | end () const |
| |
| iterator | find (const Key &k) const |
| | Locates the given key within this tree and returns an iterator referencing its position. More...
|
| |
| iterator | find (const Key &k, operation_hints &hints) const |
| | Locates the given key within this tree and returns an iterator referencing its position. More...
|
| |
| std::vector< chunk > | getChunks (size_type num) const |
| |
| size_type | getDepth () const |
| |
| size_type | getMemoryUsage () const |
| |
| size_type | getNumNodes () const |
| |
| void | insert (const Iter &a, const Iter &b) |
| | Inserts the given range of elements into this tree. More...
|
| |
| bool | insert (const Key &k) |
| | Inserts the given key into this tree. More...
|
| |
| bool | insert (const Key &k, operation_hints &hints) |
| | Inserts the given key into this tree. More...
|
| |
| iterator | lower_bound (const Key &k) const |
| | Obtains a lower boundary for the given key – hence an iterator referencing the smallest value that is not less the given key. More...
|
| |
| iterator | lower_bound (const Key &k, operation_hints &hints) const |
| | Obtains a lower boundary for the given key – hence an iterator referencing the smallest value that is not less the given key. More...
|
| |
| bool | operator!= (const btree &other) const |
| |
| btree & | operator= (const btree &other) |
| |
| bool | operator== (const btree &other) const |
| |
| std::vector< chunk > | partition (size_type num) const |
| | Partitions the full range of this set into up to a given number of chunks. More...
|
| |
| void | printStats (std::ostream &out=std::cout) const |
| | Prints a textual summary of statistical properties of this tree to the given output stream (for debugging and tuning). More...
|
| |
| void | printTree (std::ostream &out=std::cout) const |
| |
| size_type | size () const |
| |
| void | swap (btree &other) |
| | Swaps the content of this tree with the given tree. More...
|
| |
| iterator | upper_bound (const Key &k) const |
| | Obtains an upper boundary for the given key – hence an iterator referencing the first element that the given key is less than the referenced value. More...
|
| |
| iterator | upper_bound (const Key &k, operation_hints &hints) const |
| | Obtains an upper boundary for the given key – hence an iterator referencing the first element that the given key is less than the referenced value. More...
|
| |
| | ~btree () |
| |
|
| using | parenttype = btree< Key, detail::comparator< Key >, std::allocator< Key >, blockSize, typename detail::default_strategy< Key >::type, isSet, detail::comparator< Key >, detail::updater< Key > > |
| |
| using | chunk = range< iterator > |
| |
| using | const_iterator = iterator |
| |
| using | element_type = Key |
| |
| using | key_type = Key |
| |
| using | operation_hints = btree_operation_hints< 1 > |
| |
| static constexpr size_t | max_keys_per_node |
| |
| using | field_index_type = uint8_t |
| |
| using | lock_type = OptimisticReadWriteLock |
| |
| using | size_type = std::size_t |
| |
| | btree (size_type, node *root, leaf_node *leftmost) |
| | An internal constructor enabling the specific creation of a tree based on internal parameters. More...
|
| |
| bool | covers (const node *node, const Key &k) const |
| | Determines whether the range covered by the given node is also covering the given key value. More...
|
| |
| bool | equal (const Key &a, const Key &b) const |
| |
| bool | less (const Key &a, const Key &b) const |
| |
| void | update (Key &old_k, const Key &new_k) |
| |
| bool | weak_covers (const node *node, const Key &k) const |
| | Determines whether the range covered by the given node is also covering the given key value. More...
|
| |
| bool | weak_equal (const Key &a, const Key &b) const |
| |
| bool | weak_less (const Key &a, const Key &b) const |
| |
| detail::comparator< Key > | comp |
| |
| hint_statistics | hint_stats |
| |
| leaf_node * | leftmost |
| |
| node * | root |
| |
| lock_type | root_lock |
| |
| detail::updater< Key > | upd |
| |
| detail::comparator< Key > | weak_comp |
| |
| const static typename detail::default_strategy< Key >::type | search |
| |
template<typename Key, typename Functor, typename Comparator = detail::comparator<Key>, typename Allocator = std::allocator<Key>, unsigned blockSize = 256, typename SearchStrategy = typename detail::default_strategy<Key>::type>
class souffle::LambdaBTreeSet< Key, Functor, Comparator, Allocator, blockSize, SearchStrategy >
A b-tree based set implementation.
- Template Parameters
-
| Key | .. the element type to be stored in this set |
| Functor | .. a std::function that is invoked on successful insert |
| Comparator | .. a class defining an order on the stored elements |
| Allocator | .. utilized for allocating memory for required nodes |
| blockSize | .. determines the number of bytes/block utilized by leaf nodes |
| SearchStrategy | .. enables switching between linear, binary or any other search strategy |
Definition at line 584 of file LambdaBTree.h.
template<typename Key , typename Functor , typename Comparator = detail::comparator<Key>, typename Allocator = std::allocator<Key>, unsigned blockSize = 256, typename SearchStrategy = typename detail::default_strategy<Key>::type>
template<typename s , typename n , typename l >