tlx
BTree< Key, Value, KeyOfValue, Compare, Traits, Duplicates, Allocator >::iterator Class Reference

STL-like iterator object for B+ tree items. More...

#include <btree.hpp>

Public Types

typedef BTree::key_type key_type
 The key type of the btree. Returned by key(). More...
 
typedef BTree::value_type value_type
 The value type of the btree. Returned by operator*(). More...
 
typedef value_typereference
 Reference to the value_type. STL required. More...
 
typedef value_typepointer
 Pointer to the value_type. STL required. More...
 
typedef std::bidirectional_iterator_tag iterator_category
 STL-magic iterator category. More...
 
typedef ptrdiff_t difference_type
 STL-magic. More...
 
typedef iterator self
 Our own type. More...
 

Public Member Functions

 iterator ()
 Default-Constructor of a mutable iterator. More...
 
 iterator (typename BTree::LeafNode *l, unsigned short s)
 Initializing-Constructor of a mutable iterator. More...
 
 iterator (const reverse_iterator &it)
 Copy-constructor from a reverse iterator. More...
 
reference operator* () const
 Dereference the iterator. More...
 
pointer operator-> () const
 Dereference the iterator. More...
 
const key_typekey () const
 Key of the current slot. More...
 
iteratoroperator++ ()
 Prefix++ advance the iterator to the next slot. More...
 
iterator operator++ (int)
 Postfix++ advance the iterator to the next slot. More...
 
iteratoroperator-- ()
 Prefix– backstep the iterator to the last slot. More...
 
iterator operator-- (int)
 Postfix– backstep the iterator to the last slot. More...
 
bool operator== (const iterator &x) const
 Equality of iterators. More...
 
bool operator!= (const iterator &x) const
 Inequality of iterators. More...
 

Private Attributes

BTree::LeafNodecurr_leaf
 The currently referenced leaf node of the tree. More...
 
unsigned short curr_slot
 Current key/data slot referenced. More...
 
 TLX_BTREE_FRIENDS
 

Friends

class const_iterator
 Friendly to the const_iterator, so it may access the two data items directly. More...
 
class reverse_iterator
 Also friendly to the reverse_iterator, so it may access the two data items directly. More...
 
class const_reverse_iterator
 Also friendly to the const_reverse_iterator, so it may access the two data items directly. More...
 
class BTree< key_type, value_type, key_of_value, key_compare, traits, allow_duplicates, allocator_type >
 Also friendly to the base btree class, because erase_iter() needs to read the curr_leaf and curr_slot values directly. More...
 

Detailed Description

template<typename Key, typename Value, typename KeyOfValue, typename Compare = std::less<Key>, typename Traits = btree_default_traits<Key, Value>, bool Duplicates = false, typename Allocator = std::allocator<Value>>
class tlx::BTree< Key, Value, KeyOfValue, Compare, Traits, Duplicates, Allocator >::iterator

STL-like iterator object for B+ tree items.

The iterator points to a specific slot number in a leaf.

Definition at line 333 of file btree.hpp.

Member Typedef Documentation

typedef ptrdiff_t difference_type

STL-magic.

Definition at line 354 of file btree.hpp.

typedef std::bidirectional_iterator_tag iterator_category

STL-magic iterator category.

Definition at line 351 of file btree.hpp.

The key type of the btree. Returned by key().

Definition at line 339 of file btree.hpp.

typedef value_type* pointer

Pointer to the value_type. STL required.

Definition at line 348 of file btree.hpp.

Reference to the value_type. STL required.

Definition at line 345 of file btree.hpp.

typedef iterator self

Our own type.

Definition at line 357 of file btree.hpp.

The value type of the btree. Returned by operator*().

Definition at line 342 of file btree.hpp.

Constructor & Destructor Documentation

iterator ( )
inline

Default-Constructor of a mutable iterator.

Definition at line 394 of file btree.hpp.

iterator ( typename BTree::LeafNode l,
unsigned short  s 
)
inline

Initializing-Constructor of a mutable iterator.

Definition at line 399 of file btree.hpp.

iterator ( const reverse_iterator it)
inline

Copy-constructor from a reverse iterator.

Definition at line 404 of file btree.hpp.

Member Function Documentation

const key_type& key ( ) const
inline

Key of the current slot.

Definition at line 419 of file btree.hpp.

bool operator!= ( const iterator x) const
inline

Inequality of iterators.

Definition at line 501 of file btree.hpp.

reference operator* ( ) const
inline

Dereference the iterator.

Definition at line 409 of file btree.hpp.

iterator& operator++ ( )
inline

Prefix++ advance the iterator to the next slot.

Definition at line 424 of file btree.hpp.

iterator operator++ ( int  )
inline

Postfix++ advance the iterator to the next slot.

Definition at line 441 of file btree.hpp.

iterator& operator-- ( )
inline

Prefix– backstep the iterator to the last slot.

Definition at line 460 of file btree.hpp.

iterator operator-- ( int  )
inline

Postfix– backstep the iterator to the last slot.

Definition at line 477 of file btree.hpp.

pointer operator-> ( ) const
inline

Dereference the iterator.

Definition at line 414 of file btree.hpp.

bool operator== ( const iterator x) const
inline

Equality of iterators.

Definition at line 496 of file btree.hpp.

Friends And Related Function Documentation

Also friendly to the base btree class, because erase_iter() needs to read the curr_leaf and curr_slot values directly.

Definition at line 383 of file btree.hpp.

friend class const_iterator
friend

Friendly to the const_iterator, so it may access the two data items directly.

Definition at line 370 of file btree.hpp.

friend class const_reverse_iterator
friend

Also friendly to the const_reverse_iterator, so it may access the two data items directly.

Definition at line 378 of file btree.hpp.

friend class reverse_iterator
friend

Also friendly to the reverse_iterator, so it may access the two data items directly.

Definition at line 374 of file btree.hpp.

Member Data Documentation

BTree::LeafNode* curr_leaf
private

The currently referenced leaf node of the tree.

Definition at line 363 of file btree.hpp.

unsigned short curr_slot
private

Current key/data slot referenced.

Definition at line 366 of file btree.hpp.

TLX_BTREE_FRIENDS
private

Definition at line 388 of file btree.hpp.


The documentation for this class was generated from the following file: