public:
/// Creates empty set
/**
- @param head_bits: 2<sup>head_bits</sup> specifies the size of head array, minimum is 4.
- @param array_bits: 2<sup>array_bits</sup> specifies the size of array node, minimum is 2.
+ @param head_bits - 2<sup>head_bits</sup> specifies the size of head array, minimum is 4.
+ @param array_bits - 2<sup>array_bits</sup> specifies the size of array node, minimum is 2.
Equation for \p head_bits and \p array_bits:
\code
return false;
}
- // the slot must be expanded
- base_class::expand_slot( pos, slot );
+ if ( !pos.splitter.eos()) {
+ // the slot must be expanded
+ base_class::expand_slot( pos, slot );
+ }
+ else
+ return false;
}
else {
// the slot is empty, try to insert data node
}
if ( bInsert ) {
- // the slot must be expanded
- base_class::expand_slot( pos, slot );
+ if ( !pos.splitter.eos()) {
+ // the slot must be expanded
+ base_class::expand_slot( pos, slot );
+ }
+ else
+ return std::make_pair( false, false );
}
else {
stats().onUpdateFailed();