Main Page | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members

gslib::sapling::tree< Value, Allocator >::iterator_base Class Reference

Inheritance diagram for gslib::sapling::tree< Value, Allocator >::iterator_base:

Inheritance graph
[legend]
Collaboration diagram for gslib::sapling::tree< Value, Allocator >::iterator_base:

Collaboration graph
[legend]
List of all members.

Public Member Functions

bool equal (const iterator_base &other) const
size_type depth () const
const_reference dereference () const
bool operator== (const iterator_base &other) const
bool operator!= (const iterator_base &other) const

Protected Member Functions

void link_next ()
void link_prev ()
nodeself ()
 iterator_base ()
 iterator_base (value_holder *n)

Protected Attributes

value_holdercur_

Friends

class tree

template<typename Value, typename Allocator = std::allocator< void >>
class gslib::sapling::tree< Value, Allocator >::iterator_base


Constructor & Destructor Documentation

template<typename Value, typename Allocator = std::allocator< void >>
gslib::sapling::tree< Value, Allocator >::iterator_base::iterator_base  )  [inline, protected]
 

Definition at line 211 of file tree.h.

00211 {}

template<typename Value, typename Allocator = std::allocator< void >>
gslib::sapling::tree< Value, Allocator >::iterator_base::iterator_base value_holder n  )  [inline, protected]
 

Definition at line 212 of file tree.h.

00212 : cur_( n ) {}


Member Function Documentation

template<typename Value, typename Allocator = std::allocator< void >>
size_type gslib::sapling::tree< Value, Allocator >::iterator_base::depth  )  const [inline]
 

Definition at line 219 of file tree.h.

References gslib::sapling::tree< Value, Allocator >::node::depth(), gslib::sapling::tree< Value, Allocator >::get_node(), and gslib::sapling::tree< Value, Allocator >::size_type.

00219                                         {
00220                     BOOST_ASSERT( 0 != cur_ );
00221                     return get_node( cur_ )->depth();
00222                 }

Here is the call graph for this function:

template<typename Value, typename Allocator = std::allocator< void >>
const_reference gslib::sapling::tree< Value, Allocator >::iterator_base::dereference  )  const [inline]
 

Definition at line 224 of file tree.h.

References gslib::sapling::tree< Value, Allocator >::value_holder::value.

00224                                                     {
00225                     return cur_->value;
00226                 }

template<typename Value, typename Allocator = std::allocator< void >>
bool gslib::sapling::tree< Value, Allocator >::iterator_base::equal const iterator_base other  )  const [inline]
 

Definition at line 215 of file tree.h.

References gslib::sapling::tree< Value, Allocator >::iterator_base::cur_.

Referenced by gslib::sapling::tree< Value, Allocator >::iterator_base::operator!=(), and gslib::sapling::tree< Value, Allocator >::iterator_base::operator==().

00215                                                                {
00216                     return cur_ == other.cur_;
00217                 }

template<typename Value, typename Allocator = std::allocator< void >>
void gslib::sapling::tree< Value, Allocator >::iterator_base::link_next  )  [inline, protected]
 

Definition at line 201 of file tree.h.

References gslib::sapling::tree< Value, Allocator >::link::next.

00201                                  {
00202                     cur_ = static_cast< value_holder* >( cur_->next );
00203                 }

template<typename Value, typename Allocator = std::allocator< void >>
void gslib::sapling::tree< Value, Allocator >::iterator_base::link_prev  )  [inline, protected]
 

Definition at line 204 of file tree.h.

References gslib::sapling::tree< Value, Allocator >::link::prev.

00204                                  {
00205                     cur_ = static_cast< value_holder* >( cur_->prev );
00206                 }

template<typename Value, typename Allocator = std::allocator< void >>
bool gslib::sapling::tree< Value, Allocator >::iterator_base::operator!= const iterator_base other  )  const [inline]
 

Definition at line 231 of file tree.h.

References gslib::sapling::tree< Value, Allocator >::iterator_base::equal().

00231                                                                       {
00232                     return !equal( other );
00233                 }

Here is the call graph for this function:

template<typename Value, typename Allocator = std::allocator< void >>
bool gslib::sapling::tree< Value, Allocator >::iterator_base::operator== const iterator_base other  )  const [inline]
 

Definition at line 228 of file tree.h.

References gslib::sapling::tree< Value, Allocator >::iterator_base::equal().

00228                                                                       {
00229                     return equal( other );
00230                 }

Here is the call graph for this function:

template<typename Value, typename Allocator = std::allocator< void >>
node* gslib::sapling::tree< Value, Allocator >::iterator_base::self  )  [inline, protected]
 

Definition at line 208 of file tree.h.

References gslib::sapling::tree< Value, Allocator >::link::self.

Referenced by gslib::sapling::tree< Value, Allocator >::const_pre_order_iterator::begin(), gslib::sapling::tree< Value, Allocator >::const_post_order_iterator::begin(), gslib::sapling::tree< Value, Allocator >::const_sibling_iterator::begin(), gslib::sapling::tree< Value, Allocator >::const_post_order_iterator::bottom(), gslib::sapling::tree< Value, Allocator >::const_post_order_iterator::decrement(), gslib::sapling::tree< Value, Allocator >::const_post_order_iterator::down(), gslib::sapling::tree< Value, Allocator >::const_pre_order_iterator::down_back(), gslib::sapling::tree< Value, Allocator >::const_pre_order_iterator::down_front(), gslib::sapling::tree< Value, Allocator >::const_sibling_iterator::end(), gslib::sapling::tree< Value, Allocator >::erase(), gslib::sapling::tree< Value, Allocator >::const_pre_order_iterator::next(), gslib::sapling::tree< Value, Allocator >::const_post_order_iterator::next(), gslib::sapling::tree< Value, Allocator >::const_sibling_iterator::next(), gslib::sapling::tree< Value, Allocator >::const_pre_order_iterator::parent(), gslib::sapling::tree< Value, Allocator >::const_post_order_iterator::parent(), gslib::sapling::tree< Value, Allocator >::const_sibling_iterator::parent(), gslib::sapling::tree< Value, Allocator >::const_pre_order_iterator::prev(), gslib::sapling::tree< Value, Allocator >::const_post_order_iterator::prev(), and gslib::sapling::tree< Value, Allocator >::const_sibling_iterator::prev().

00208                              {
00209                     return static_cast< node* >( cur_->self );
00210                 }


Friends And Related Function Documentation

template<typename Value, typename Allocator = std::allocator< void >>
friend class tree [friend]
 

Reimplemented in gslib::sapling::tree< Value, Allocator >::const_post_order_iterator, and gslib::sapling::tree< Value, Allocator >::const_pre_order_iterator.

Definition at line 197 of file tree.h.


Member Data Documentation

template<typename Value, typename Allocator = std::allocator< void >>
value_holder* gslib::sapling::tree< Value, Allocator >::iterator_base::cur_ [protected]
 

Definition at line 199 of file tree.h.

Referenced by gslib::sapling::tree< Value, Allocator >::iterator_base::equal(), and gslib::sapling::tree< Value, Allocator >::erase().


The documentation for this class was generated from the following file:
Generated on Sat Nov 27 15:03:23 2004 for sapling by doxygen 1.3.6