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