clipp::group::depth_first_traverser Class Reference
recursively iterates over all nodes More...
#include <clipp.h>
Classes | |
struct | context |
class | memento |
Public Types | |
using | context_list = std::vector< context > |
Public Member Functions | |
depth_first_traverser ()=default | |
depth_first_traverser (const group &cur) | |
operator bool () const noexcept | |
int | level () const noexcept |
bool | is_first_in_group () const noexcept |
bool | is_last_in_group () const noexcept |
bool | is_last_in_path () const noexcept |
bool | is_alternative (int minlevel=0) const noexcept |
inside a group of alternatives >= minlevel More... | |
bool | is_repeatable (int minlevel=0) const noexcept |
repeatable or inside a repeatable group >= minlevel More... | |
bool | joinable () const noexcept |
inside group with joinable flags More... | |
const context_list & | stack () const |
const group * | repeat_group () const noexcept |
innermost repeat group More... | |
const group * | join_group () const noexcept |
outermost join group More... | |
const group * | root () const noexcept |
arg_string | common_flag_prefix () const noexcept |
common flag prefix of all flags in current group More... | |
const child & | operator* () const noexcept |
const child * | operator-> () const noexcept |
const group & | parent () const noexcept |
depth_first_traverser & | operator++ () |
go to next element of depth first search More... | |
depth_first_traverser & | next_sibling () |
go to next sibling of current More... | |
depth_first_traverser & | next_after_siblings () |
go to next position after siblings of current More... | |
depth_first_traverser & | next_alternative () |
skips to next alternative in innermost group More... | |
depth_first_traverser & | back_to_parent () |
depth_first_traverser & | skip_siblings () |
don't visit next siblings, go back to parent on next ++ note: renders siblings unreachable for *this More... | |
depth_first_traverser & | skip_alternatives () |
skips all other alternatives in surrounding exclusive groups on next ++ note: renders alternatives unreachable for *this More... | |
void | invalidate () |
memento | undo_point () const |
void | undo (const memento &m) |
Friends | |
bool | operator== (const depth_first_traverser &a, const depth_first_traverser &b) |
bool | operator!= (const depth_first_traverser &a, const depth_first_traverser &b) |
Detailed Description
Member Typedef Documentation
◆ context_list
using clipp::group::depth_first_traverser::context_list = std::vector<context> |
Constructor & Destructor Documentation
◆ depth_first_traverser() [1/2]
|
default |
◆ depth_first_traverser() [2/2]
|
inlineexplicit |
Member Function Documentation
◆ back_to_parent()
|
inline |
◆ common_flag_prefix()
|
inlinenoexcept |
◆ invalidate()
|
inline |
◆ is_alternative()
|
inlinenoexcept |
◆ is_first_in_group()
|
inlinenoexcept |
◆ is_last_in_group()
|
inlinenoexcept |
◆ is_last_in_path()
|
inlinenoexcept |
◆ is_repeatable()
|
inlinenoexcept |
◆ join_group()
|
inlinenoexcept |
◆ joinable()
|
inlinenoexcept |
◆ level()
|
inlinenoexcept |
◆ next_after_siblings()
|
inline |
◆ next_alternative()
|
inline |
◆ next_sibling()
|
inline |
◆ operator bool()
|
inlineexplicitnoexcept |
◆ operator*()
|
inlinenoexcept |
◆ operator++()
|
inline |
◆ operator->()
|
inlinenoexcept |
◆ parent()
|
inlinenoexcept |
◆ repeat_group()
|
inlinenoexcept |
◆ root()
|
inlinenoexcept |
◆ skip_alternatives()
|
inline |
◆ skip_siblings()
|
inline |
◆ stack()
|
inline |
◆ undo()
|
inline |
◆ undo_point()
|
inline |
Friends And Related Function Documentation
◆ operator!=
|
friend |
◆ operator==
|
friend |
The documentation for this class was generated from the following file: