Lumiera  0.pre.03
»edityourfreedom«
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 553 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

◆ ScopeIter

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

Constructor & Destructor Documentation

◆ ScopeExplorer() [1/2]

ScopeExplorer ( )
inline

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

◆ ScopeExplorer() [2/2]

ScopeExplorer ( GenNode const &  n)
inline

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

Member Function Documentation

◆ depth()

size_t depth ( ) const
inline

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

◆ checkPoint()

bool checkPoint ( ) const
inline

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

◆ yield()

GenNode const& yield ( ) const
inline

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

◆ iterNext()

void iterNext ( )
inline

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

Member Data Documentation

◆ scopes_

std::deque<ScopeIter> scopes_
private

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

Friends And Related Function Documentation

◆ operator==

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

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

+ Collaboration diagram for GenNode::ScopeExplorer:

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