Lumiera  0.pre.03
»edit your freedom«
Ref Struct Reference

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

Description

Constructor for a specially crafted 'ref GenNode'.

The identity record of the generated object will be prepared such as to be identical to a regular GenNode with Record payload.

Note
slicing in usage is intentional

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

Public Member Functions

 Ref (string const &symbolicID)
 create an empty ID stand-in. More...
 
 Ref (GenNode &oNode)
 build reference to a Record, using the original ID More...
 
- Public Member Functions inherited from GenNode
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
 
GenNodeoperator= (GenNode const &o)
 copy assignment More...
 
GenNodeoperator= (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 Attributes

static const Ref ATTRIBS
 symbolic ID ref "_ATTRIBS_"
 
static const Ref CHILD
 symbolic ID ref "_CHILD_"
 
static const Ref END
 symbolic ID ref "_END_"
 
static const Ref I
 symbolic ID ref "_I_"
 
static const Ref NO
 symbolic ID ref "_NO_"
 
static const Ref THIS
 symbolic ID ref "_THIS_"
 

Additional Inherited Members

- Public Types inherited from GenNode
using ChildDataIter = TransformIter< Rec::scopeIter, DataCap const & >
 
using iterator = ScopeExplorerIterator
 
- Static Public Member Functions inherited from GenNode
template<typename X >
static GenNode asAttribute (idi::BareEntryID &&rawID, X &&payload)
 fabricate a GenNode with the literally given ID
 
- Public Attributes inherited from GenNode
DataCap data
 
ID idi
 
- Protected Member Functions inherited from GenNode
 GenNode (ID &&id, DataCap &&d)
 
- Static Protected Member Functions inherited from GenNode
template<typename X >
static GenNode::ID fabricateRefID (string const &symbolicID)
 

Constructor & Destructor Documentation

◆ Ref() [1/2]

Ref ( string const &  symbolicID)
inlineexplicit

create an empty ID stand-in.

Note
the purpose is to create a symbolic reference by name

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

◆ Ref() [2/2]

Ref ( GenNode oNode)
inline

build reference to a Record, using the original ID

Exceptions
error::Logicwhen oNode does not hold a Record<GenNode>

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

+ Inheritance diagram for Ref:
+ Collaboration diagram for Ref:

The documentation for this struct was generated from the following files: