Lumiera 0.pre.04
»edit your freedom«
Loading...
Searching...
No Matches
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 GenNode tree recursively depth-fist.

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

Public Member Functions

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

Friends

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

Private Types

using ScopeIter = IterStateWrapper< DataCap::Locator >
 

Private Attributes

std::deque< ScopeIterscopes_
 

Constructor & Destructor Documentation

◆ ScopeExplorer() [1/2]

ScopeExplorer ( )
inline

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

◆ ScopeExplorer() [2/2]

ScopeExplorer ( GenNode const &  n)
inline

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

References GenNode::ScopeExplorer::scopes_.

Member Typedef Documentation

◆ ScopeIter

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

Member Function Documentation

◆ depth()

size_t depth ( ) const
inline

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

References GenNode::ScopeExplorer::scopes_.

◆ checkPoint()

bool checkPoint ( ) const
inline

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

References GenNode::ScopeExplorer::scopes_.

◆ yield()

GenNode const & yield ( ) const
inline

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

References GenNode::ScopeExplorer::scopes_.

◆ iterNext()

void iterNext ( )
inline

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

References GenNode::ScopeExplorer::scopes_.

Member Data Documentation

◆ scopes_

Friends And Related Symbol Documentation

◆ operator==

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

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

+ Collaboration diagram for GenNode::ScopeExplorer:

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