|
Fairport
v1.0.38
|
BTree iterator helper class. More...
#include <btree.h>
Collaboration diagram for fairport::btree_iter_impl< K, V >:Public Types | |
| typedef std::vector< std::pair < btree_node_nonleaf< K, V > *, uint > >::iterator | path_iter |
Public Attributes | |
| btree_node_leaf< K, V > * | m_leaf |
| The current leaf btree node this iterator is pointing to. | |
| uint | m_leaf_pos |
| The current position on that leaf. | |
| std::vector< std::pair < btree_node_nonleaf< K, V > *, uint > > | m_path |
| The "path" to this leaf, starting at the root of the btree. | |
BTree iterator helper class.
This is a utility struct, the details of which are known to both the iterator type itself and the various node classes. The iterator class defers to the btree_node classes for the actual iteration logic. It does this by calling into them (private methods, via friendship) and passing in this object.
| K | key type |
| V | value type |
| typedef std::vector<std::pair<btree_node_nonleaf<K,V>*, uint> >::iterator fairport::btree_iter_impl< K, V >::path_iter |
| btree_node_leaf<K,V>* fairport::btree_iter_impl< K, V >::m_leaf |
| uint fairport::btree_iter_impl< K, V >::m_leaf_pos |
| std::vector<std::pair<btree_node_nonleaf<K,V>*, uint> > fairport::btree_iter_impl< K, V >::m_path |