#include <btree.h>
Public Types | |
typedef btree::key_type | key_type |
The key type of the btree. Returned by key(). | |
typedef btree::data_type | data_type |
The data type of the btree. Returned by data(). | |
typedef btree::value_type | value_type |
The value type of the btree. Returned by operator*(). | |
typedef btree::pair_type | pair_type |
The pair type of the btree. | |
typedef value_type & | reference |
Reference to the value_type. STL required. | |
typedef value_type * | pointer |
Pointer to the value_type. STL required. | |
typedef std::bidirectional_iterator_tag | iterator_category |
STL-magic iterator category. | |
typedef ptrdiff_t | difference_type |
STL-magic. | |
typedef iterator | self |
Our own type. | |
Public Member Functions | |
iterator () | |
Default-Constructor of a mutable iterator. | |
iterator (typename btree::leaf_node *l, unsigned short s) | |
Initializing-Constructor of a mutable iterator. | |
iterator (const reverse_iterator &it) | |
Copy-constructor from a reverse iterator. | |
reference | operator* () const |
Dereference the iterator, this is not a value_type& because key and value are not stored together. | |
pointer | operator-> () const |
Dereference the iterator. | |
const key_type & | key () const |
Key of the current slot. | |
data_type & | data () const |
Writable reference to the current data object. | |
self & | operator++ () |
Prefix++ advance the iterator to the next slot. | |
self | operator++ (int) |
Postfix++ advance the iterator to the next slot. | |
self & | operator-- () |
Prefix-- backstep the iterator to the last slot. | |
self | operator-- (int) |
Postfix-- backstep the iterator to the last slot. | |
bool | operator== (const self &x) const |
Equality of iterators. | |
bool | operator!= (const self &x) const |
Inequality of iterators. | |
Private Attributes | |
btree::leaf_node * | currnode |
The currently referenced leaf node of the tree. | |
unsigned short | currslot |
Current key/data slot referenced. | |
value_type | temp_value |
Evil! A temporary value_type to STL-correctly deliver operator* and operator->. | |
Friends | |
class | const_iterator |
Friendly to the const_iterator, so it may access the two data items directly. | |
class | reverse_iterator |
Also friendly to the reverse_iterator, so it may access the two data items directly. | |
class | const_reverse_iterator |
Also friendly to the const_reverse_iterator, so it may access the two data items directly. |
The iterator points to a specific slot number in a leaf.
Definition at line 366 of file btree.h.
typedef btree::key_type stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::iterator::key_type |
typedef btree::data_type stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::iterator::data_type |
typedef btree::value_type stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::iterator::value_type |
typedef btree::pair_type stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::iterator::pair_type |
typedef value_type& stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::iterator::reference |
typedef value_type* stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::iterator::pointer |
typedef std::bidirectional_iterator_tag stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::iterator::iterator_category |
typedef ptrdiff_t stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::iterator::difference_type |
typedef iterator stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::iterator::self |
stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::iterator::iterator | ( | ) | [inline] |
stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::iterator::iterator | ( | typename btree::leaf_node * | l, | |
unsigned short | s | |||
) | [inline] |
stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::iterator::iterator | ( | const reverse_iterator & | it | ) | [inline] |
reference stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::iterator::operator* | ( | ) | const [inline] |
Dereference the iterator, this is not a value_type& because key and value are not stored together.
Definition at line 445 of file btree.h.
References stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::iterator::currnode, stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::iterator::currslot, stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::leaf_node::slotdata, stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::leaf_node::slotkey, and stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::iterator::temp_value.
pointer stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::iterator::operator-> | ( | ) | const [inline] |
Dereference the iterator.
Do not use this if possible, use key() and data() instead. The B+ tree does not stored key and data together.
Definition at line 455 of file btree.h.
References stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::iterator::currnode, stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::iterator::currslot, stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::leaf_node::slotdata, stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::leaf_node::slotkey, and stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::iterator::temp_value.
const key_type& stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::iterator::key | ( | ) | const [inline] |
Key of the current slot.
Definition at line 463 of file btree.h.
References stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::iterator::currnode, stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::iterator::currslot, and stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::leaf_node::slotkey.
data_type& stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::iterator::data | ( | ) | const [inline] |
Writable reference to the current data object.
Definition at line 469 of file btree.h.
References stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::iterator::currnode, stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::iterator::currslot, and stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::leaf_node::slotdata.
Referenced by stx::btree_map< _Key, _Data, _Compare, _Traits >::operator[]().
self& stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::iterator::operator++ | ( | ) | [inline] |
Prefix++ advance the iterator to the next slot.
Definition at line 475 of file btree.h.
References stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::iterator::currnode, stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::iterator::currslot, stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::leaf_node::nextleaf, and stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::node::slotuse.
self stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::iterator::operator++ | ( | int | ) | [inline] |
Postfix++ advance the iterator to the next slot.
Definition at line 493 of file btree.h.
References stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::iterator::currnode, stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::iterator::currslot, stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::leaf_node::nextleaf, and stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::node::slotuse.
self& stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::iterator::operator-- | ( | ) | [inline] |
Prefix-- backstep the iterator to the last slot.
Definition at line 513 of file btree.h.
References stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::iterator::currnode, stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::iterator::currslot, stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::leaf_node::prevleaf, and stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::node::slotuse.
self stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::iterator::operator-- | ( | int | ) | [inline] |
Postfix-- backstep the iterator to the last slot.
Definition at line 531 of file btree.h.
References stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::iterator::currnode, stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::iterator::currslot, stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::leaf_node::prevleaf, and stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::node::slotuse.
bool stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::iterator::operator== | ( | const self & | x | ) | const [inline] |
Equality of iterators.
Definition at line 551 of file btree.h.
References stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::iterator::currnode, and stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::iterator::currslot.
bool stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::iterator::operator!= | ( | const self & | x | ) | const [inline] |
Inequality of iterators.
Definition at line 557 of file btree.h.
References stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::iterator::currnode, and stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::iterator::currslot.
friend class const_iterator [friend] |
Friendly to the const_iterator, so it may access the two data items directly.
friend class reverse_iterator [friend] |
Also friendly to the reverse_iterator, so it may access the two data items directly.
friend class const_reverse_iterator [friend] |
Also friendly to the const_reverse_iterator, so it may access the two data items directly.
btree::leaf_node* stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::iterator::currnode [private] |
The currently referenced leaf node of the tree.
Definition at line 402 of file btree.h.
Referenced by stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::iterator::data(), stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::iterator::key(), stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::iterator::operator!=(), stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::iterator::operator*(), stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::iterator::operator++(), stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::iterator::operator--(), stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::iterator::operator->(), and stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::iterator::operator==().
unsigned short stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::iterator::currslot [private] |
Current key/data slot referenced.
Definition at line 405 of file btree.h.
Referenced by stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::iterator::data(), stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::iterator::key(), stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::iterator::operator!=(), stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::iterator::operator*(), stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::iterator::operator++(), stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::iterator::operator--(), stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::iterator::operator->(), and stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::iterator::operator==().
value_type stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::iterator::temp_value [mutable, private] |
Evil! A temporary value_type to STL-correctly deliver operator* and operator->.
Definition at line 418 of file btree.h.
Referenced by stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::iterator::operator*(), and stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::iterator::operator->().