Lumiera  0.pre.03
»edityourfreedom«
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
GenNode::ScopeExplorer Class Reference

#include "lib/diff/gen-node.hpp"

Description

Building block for monad-like depth-first expansion of a GenNode.

When used within lib::IterStateWrapper, the result is an Iterator to visit the contents of a GenNodet tree recursively depth-fist.

Definition at line 552 of file gen-node.hpp.

Public Member Functions

 ScopeExplorer ()
 
 ScopeExplorer (GenNode const &n)
 
bool checkPoint () const
 
size_t depth () const
 
void iterNext ()
 
GenNode const & yield () const
 

Friends

bool operator== (ScopeExplorer const &s1, ScopeExplorer const &s2)
 

Private Types

using ScopeIter = IterStateWrapper< const GenNode, DataCap::Locator >
 

Private Attributes

std::deque< ScopeIterscopes_
 

Member Typedef Documentation

Definition at line 554 of file gen-node.hpp.

Constructor & Destructor Documentation

ScopeExplorer ( )
inline

Definition at line 559 of file gen-node.hpp.

ScopeExplorer ( GenNode const &  n)
inline

Definition at line 560 of file gen-node.hpp.

Member Function Documentation

size_t depth ( ) const
inline

Definition at line 566 of file gen-node.hpp.

bool checkPoint ( ) const
inline

Definition at line 574 of file gen-node.hpp.

GenNode const& yield ( ) const
inline

Definition at line 581 of file gen-node.hpp.

void iterNext ( )
inline

Definition at line 587 of file gen-node.hpp.

Member Data Documentation

std::deque<ScopeIter> scopes_
private

Definition at line 556 of file gen-node.hpp.

Friends And Related Function Documentation

bool operator== ( ScopeExplorer const &  s1,
ScopeExplorer const &  s2 
)
friend

Definition at line 597 of file gen-node.hpp.

+ Collaboration diagram for GenNode::ScopeExplorer:

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