m_pos = 0;
}
+ // Returns pointer to source bitstring
+ bitstring const * source() const
+ {
+ return reinterpret_cast<bitstring const *>( m_first );
+ }
+
private:
//@cond
uint_type const* m_ptr; ///< current position in the hash
if (slot.bits() == flag_array_node) {
// array node, go down the tree
assert(slot.ptr() != nullptr);
+ assert( !pos.splitter.eos());
pos.nSlot = pos.splitter.cut( metrics().array_node_size_log );
assert( pos.nSlot < metrics().array_node_size );
pos.pArr = to_array(slot.ptr());
}
}
- bool expand_slot( traverse_data& pos, node_ptr current)
+ bool expand_slot( traverse_data const& pos, node_ptr current)
{
return expand_slot( pos.pArr, pos.nSlot, current, pos.nOffset );
}