Inferno  0.2
Walk_iterator Class Reference

Iterator for Walk. More...

#include <walk.hpp>

Inheritance diagram for Walk_iterator:
[legend]
Collaboration diagram for Walk_iterator:
[legend]

List of all members.

Classes

struct  StateEntry

Public Types

typedef forward_iterator_tag iterator_category
typedef TreePtrInterface value_type
typedef int difference_type
typedef const value_typepointer
typedef const value_typereference

Public Member Functions

 Walk_iterator (const Walk_iterator &other)
virtual shared_ptr
< ContainerInterface::iterator_interface > 
Clone () const
virtual Walk_iteratoroperator++ ()
virtual reference operator* () const
virtual pointer operator-> () const
virtual bool operator== (const ContainerInterface::iterator_interface &ib) const
virtual bool operator!= (const ContainerInterface::iterator_interface &ib) const
virtual void Overwrite (pointer v) const
virtual const bool IsOrdered () const
 operator string () const
virtual void AdvanceOver ()
virtual void AdvanceInto ()
 Walk_iterator ()
 Walk_iterator (TreePtr< Node > &root, Filter *out_filter=NULL, Filter *recurse_filter=NULL)

Protected Member Functions

virtual void DoNodeFilter ()
bool IsAtEndOfChildren () const
void BypassEndOfChildren ()
virtual shared_ptr
< ContainerInterface
GetChildContainer (TreePtr< Node > n) const
void Push (TreePtr< Node > n)

Protected Attributes

shared_ptr< TreePtr< Node > > root
Filterout_filter
Filterrecurse_filter
stack< StateEntrystate
bool done

Detailed Description

Iterator for Walk.

Definition at line 56 of file walk.hpp.


Member Typedef Documentation

Definition at line 62 of file walk.hpp.

typedef forward_iterator_tag Walk_iterator::iterator_category

Definition at line 60 of file walk.hpp.

Definition at line 63 of file walk.hpp.

Definition at line 64 of file walk.hpp.

Definition at line 61 of file walk.hpp.


Constructor & Destructor Documentation

Definition at line 200 of file walk.cpp.

Definition at line 193 of file walk.cpp.

Referenced by Clone().

Walk_iterator::Walk_iterator ( TreePtr< Node > &  root,
Filter out_filter = NULL,
Filter recurse_filter = NULL 
)

Definition at line 182 of file walk.cpp.

References DoNodeFilter().


Member Function Documentation

void Walk_iterator::AdvanceOver ( ) [virtual]

Definition at line 256 of file walk.cpp.

References ASSERT, BypassEndOfChildren(), done, IsAtEndOfChildren(), and state.

Referenced by AdvanceInto().

void Walk_iterator::BypassEndOfChildren ( ) [protected]

Definition at line 154 of file walk.cpp.

References ASSERT, done, IsAtEndOfChildren(), and state.

Referenced by AdvanceInto(), and AdvanceOver().

shared_ptr< ContainerInterface::iterator_interface > Walk_iterator::Clone ( ) const [virtual]

Definition at line 274 of file walk.cpp.

References Walk_iterator().

void Walk_iterator::DoNodeFilter ( ) [protected, virtual]

Definition at line 336 of file walk.cpp.

References AdvanceInto(), done, Filter::IsMatch(), and out_filter.

Referenced by operator++(), and Walk_iterator().

Definition at line 169 of file walk.cpp.

Referenced by Push().

bool Walk_iterator::IsAtEndOfChildren ( ) const [protected]

Definition at line 144 of file walk.cpp.

References ASSERT, done, and state.

Referenced by AdvanceInto(), AdvanceOver(), BypassEndOfChildren(), operator*(), and Overwrite().

const bool Walk_iterator::IsOrdered ( ) const [virtual]

Definition at line 331 of file walk.cpp.

Walk_iterator::operator string ( ) const

Definition at line 209 of file walk.cpp.

References state.

virtual bool Walk_iterator::operator!= ( const ContainerInterface::iterator_interface &  ib) const [inline, virtual]

Definition at line 73 of file walk.hpp.

References operator==().

Walk_iterator::reference Walk_iterator::operator* ( ) const [virtual]

Definition at line 287 of file walk.cpp.

References ASSERT, done, IsAtEndOfChildren(), root, and state.

Referenced by operator->().

Walk_iterator & Walk_iterator::operator++ ( ) [virtual]

Definition at line 280 of file walk.cpp.

References AdvanceInto(), and DoNodeFilter().

Walk_iterator::pointer Walk_iterator::operator-> ( ) const [virtual]

Definition at line 302 of file walk.cpp.

References operator*().

bool Walk_iterator::operator== ( const ContainerInterface::iterator_interface &  ib) const [virtual]

Definition at line 307 of file walk.cpp.

References ASSERT, and done.

Referenced by operator!=().

void Walk_iterator::Overwrite ( Walk_iterator::pointer  v) const [virtual]

Definition at line 316 of file walk.cpp.

References ASSERT, done, IsAtEndOfChildren(), root, and state.

void Walk_iterator::Push ( TreePtr< Node n) [protected]

Member Data Documentation

Definition at line 92 of file walk.hpp.

Referenced by DoNodeFilter().

Definition at line 93 of file walk.hpp.

Referenced by AdvanceInto().

Definition at line 91 of file walk.hpp.

Referenced by operator*(), and Overwrite().


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