Lumiera
0.pre.03
»edit your freedom«
|
#include "lib/diff/gen-node.hpp"
generic data element node within a tree
Definition at line 231 of file gen-node.hpp.
Public Types | |
using | ChildDataIter = TransformIter< Rec::scopeIter, DataCap const & > |
using | iterator = ScopeExplorerIterator |
Public Member Functions | |
template<typename X > | |
GenNode (X &&val) | |
template<typename X > | |
GenNode (string const &symbolicID, X &&val) | |
GenNode (string const &symbolicID, const char *text) | |
GenNode (const char *text) | |
GenNode (GenNode const &)=default | |
GenNode (GenNode &&)=default | |
GenNode (GenNode &o) | |
GenNode (Ref const &r) | |
GenNode (Ref &r) | |
GenNode (Ref &&r) | |
iterator | begin () |
iterator | begin () const |
template<typename X > | |
bool | contains (X const &elm) const |
iterator | end () |
iterator | end () const |
Rec::scopeIter | getChildren () const |
bool | hasAttribute (string key) const |
bool | hasChildren () const |
bool | isNamed () const |
bool | isNested () const |
bool | isTypeID () const |
bool | matches (GenNode const &o) const |
bool | matches (ID const &id) const |
bool | matches (int number) const |
bool | matches (int64_t number) const |
bool | matches (short number) const |
bool | matches (char number) const |
bool | matches (double number) const |
bool | matches (string text) const |
bool | matches (const char *text) const |
bool | matches (time::TimeValue t) const |
bool | matches (bool b) const |
bool | matches (hash::LuidH h) const |
bool | matches (RecRef const &ref) const |
bool | matches (Rec const &rec) const |
operator string () const | |
GenNode & | operator= (GenNode const &o) |
copy assignment More... | |
GenNode & | operator= (GenNode &&o) |
template<typename X > | |
std::optional< X > | retrieveAttribute (string key) const |
mismatch tolerant convenience shortcut to peek into the attributes of a nested Record | |
Static Public Member Functions | |
template<typename X > | |
static GenNode | asAttribute (idi::BareEntryID &&rawID, X &&payload) |
fabricate a GenNode with the literally given ID | |
Public Attributes | |
DataCap | data |
ID | idi |
Classes | |
class | ID |
struct | IDComparator |
allow for storage in ordered containers, ordering based on the human-readable ID within the GenNode. More... | |
class | ScopeExplorer |
Building block for monad-like depth-first expansion of a GenNode. More... | |
struct | ScopeExplorerIterator |
Friends | |
ChildDataIter | childData (GenNode const &n) |
visit the data of nested child elements More... | |
ChildDataIter | childData (Rec::scopeIter &&scopeIter) |
string | name (GenNode const &node) |
bool | operator!= (GenNode const &n1, GenNode const &n2) |
bool | operator== (GenNode const &n1, GenNode const &n2) |
Protected Member Functions | |
GenNode (ID &&id, DataCap &&d) | |
Static Protected Member Functions | |
template<typename X > | |
static GenNode::ID | fabricateRefID (string const &symbolicID) |
Static Private Member Functions | |
template<typename X > | |
static string | buildChildID () |
for dedicated builder subclasses
Definition at line 481 of file gen-node.hpp.
copy assignment
Definition at line 314 of file gen-node.hpp.
|
inline |
diagnostics helper
Definition at line 339 of file gen-node.hpp.
|
inline |
Definition at line 360 of file gen-node.hpp.
References GenNode::matches().
Referenced by ChildCollectionMutator< PAR, BIN >::accept_until(), TestWireTap< PAR >::accept_until(), TestWireTap< PAR >::acceptSrc(), GenNode::matches(), and TestWireTap< PAR >::matchSrc().
|
friend |
visit the data of nested child elements
Definition at line 396 of file gen-node.hpp.