///
typedef _Weight weight_type;
-
+
/// Second template parameter: The data type associated with each
/// key. Stored in the B+ tree's leaves
typedef _Data data_type;
return iterator(leaf, slot);
}
- /// Searches the B+ tree and returns an iterator to the first summed weight
+ /// Searches the B+ tree and returns an iterator to the first summed weight
/// less or equal to the parameter. If unsuccessful it returns end().
iterator lower_summed_weight_bound(weight_type weight)
{
node *n = root;
if (!n) return end();
-
+
while(!n->isleafnode()) {
const inner_node *inner = static_cast<const inner_node*>(n);
int slot = find_summed_weight_lower(inner, weight);
return const_iterator(leaf, slot);
}
- /// Searches the B+ tree and returns an iterator to the first summed weight
+ /// Searches the B+ tree and returns an iterator to the first summed weight
/// less or equal to the parameter. If unsuccessful it returns end().
const_iterator lower_summed_weight_bound(weight_type weight) const
{
return const_iterator(leaf, slot);
}
- /// Searches the B+ tree and returns an iterator to the first summed weight
+ /// Searches the B+ tree and returns an iterator to the first summed weight
/// greater than the parameter. If unsuccessful it returns end().
iterator upper_summed_weight_bound(weight_type weight)
{
return iterator(leaf, slot);
}
- /// Searches the B+ tree and returns an iterator to the first summed weight
+ /// Searches the B+ tree and returns an iterator to the first summed weight
/// greater than the parameter. If unsuccessful it returns end().
const_iterator upper_summed_weight_bound(weight_type weight) const
{