template<class PAR, class CLO>
class lib::diff::anonymous_namespace{tree-mutator-attribute-binding.hpp}::ChangeOperation< PAR, CLO >
Definition at line 236 of file tree-mutator-attribute-binding.hpp.
|
| | ChangeOperation (Symbol attribKey, CLO clo, PAR &&chain) |
| |
| virtual bool | injectNew (GenNode const &spec) override |
| | while, strictly speaking, one can not "insert" fields into a given class definition, this binding can tolerate an INS verb whenever this means to touch a field which is actually known and present in the class definition underlying this binding.
|
| |
| virtual bool | assignElm (GenNode const &spec) override |
| | invoke the setter lambda, when this binding layer is in charge
|
| |
| virtual bool | matchSrc (GenNode const &spec) override |
| | ensure the given spec is deemed appropriate at that point.
|
| |
| virtual bool | acceptSrc (GenNode const &spec) override |
| | accept status quo, after verifying the spec from the diff verb
|
| |
| virtual void | skipSrc (GenNode const &refSpec) override |
| | any reordering or deletion of object fields is prohibited
|
| |
| virtual bool | findSrc (GenNode const &refSpec) override |
| |
| virtual bool | accept_until (GenNode const &spec) override |
| | there is no real support for navigating to a 'position', since attribute / data field binding has no notion of ordering.
|
| |
template<class PAR , class CLO >
| virtual bool injectNew |
( |
GenNode const & |
spec | ) |
|
|
inlineoverridevirtual |
while, strictly speaking, one can not "insert" fields into a given class definition, this binding can tolerate an INS verb whenever this means to touch a field which is actually known and present in the class definition underlying this binding.
In such a case, we just assign the given value. This implementation leeway is deliberate to support classes with optional / defaultable properties.
Definition at line 263 of file tree-mutator-attribute-binding.hpp.
References GenNode::data, and DataCap::get().