Lumiera 0.pre.04~rc.1
»edit your freedom«
Loading...
Searching...
No Matches
CollectionBindingBuilder< COLL, MAT, CTR, SEL, ASS, MUT > Struct Template Reference

#include "lib/diff/tree-mutator-collection-binding.hpp"

Description

template<class COLL, class MAT, class CTR, class SEL, class ASS, class MUT>
struct lib::diff::anonymous_namespace{tree-mutator-collection-binding.hpp}::CollectionBindingBuilder< COLL, MAT, CTR, SEL, ASS, MUT >

Nested DSL to define the specifics of a collection binding.

Definition at line 508 of file tree-mutator-collection-binding.hpp.

Public Member Functions

template<class FUN >
CollectionBindingBuilder< COLL, FUN, CTR, SEL, ASS, MUT > matchElement (FUN matcher)
 
template<class FUN >
CollectionBindingBuilder< COLL, MAT, FUN, SEL, ASS, MUT > constructFrom (FUN constructor)
 
template<class FUN >
CollectionBindingBuilder< COLL, MAT, CTR, FUN, ASS, MUT > isApplicableIf (FUN selector)
 
template<class FUN >
CollectionBindingBuilder< COLL, MAT, CTR, SEL, FUN, MUT > assignElement (FUN setter)
 
template<class FUN >
CollectionBindingBuilder< COLL, MAT, CTR, SEL, ASS, FUN > buildChildMutator (FUN childMutationBuilder)
 
- Public Member Functions inherited from CollectionBinding< COLL, MAT, CTR, SEL, ASS, MUT >
 CollectionBinding (Coll &coll, MAT m, CTR c, SEL s, ASS a, MUT u)
 
iterator initMutation ()
 
void inject (Elm &&elm)
 
iterator search (GenNode const &targetSpec, iterator pos)
 
iterator locate (GenNode const &targetSpec)
 locate element for assignment or mutation, with special shortcut to the recently inserted element
 

Additional Inherited Members

- Public Types inherited from CollectionBinding< COLL, MAT, CTR, SEL, ASS, MUT >
using Coll = Strip< COLL >::TypeReferred
 
using Elm = Coll::value_type
 
using Trait = ContainerTraits< Coll >
 
using iterator = lib::iter_stl::_SeqT< Coll >::Range
 
using const_iterator = lib::iter_stl::_SeqT< const Coll >::Range
 
- Public Attributes inherited from CollectionBinding< COLL, MAT, CTR, SEL, ASS, MUT >
Collcollection
 
MAT matches
 
CTR construct
 
SEL isApplicable
 
ASS assign
 
MUT openSub
 
Coll contentBuffer
 
- Protected Member Functions inherited from MoveOnly
 ~MoveOnly ()=default
 
 MoveOnly ()=default
 
 MoveOnly (MoveOnly &&)=default
 
 MoveOnly (MoveOnly const &)=delete
 
MoveOnlyoperator= (MoveOnly &&)=delete
 
MoveOnlyoperator= (MoveOnly const &)=delete
 

Member Function Documentation

◆ matchElement()

template<class COLL , class MAT , class CTR , class SEL , class ASS , class MUT >
template<class FUN >
CollectionBindingBuilder< COLL, FUN,CTR, SEL, ASS, MUT > matchElement ( FUN  matcher)
inline
Parameters
matcherexpected lambda: bool(GenNode const& spec, Elm const& elm)

Definition at line 515 of file tree-mutator-collection-binding.hpp.

References lib::diff::anonymous_namespace{tree-mutator-collection-binding.hpp}::collection().

+ Here is the call graph for this function:

◆ constructFrom()

template<class COLL , class MAT , class CTR , class SEL , class ASS , class MUT >
template<class FUN >
CollectionBindingBuilder< COLL, MAT, FUN,SEL, ASS, MUT > constructFrom ( FUN  constructor)
inline
Parameters
constructorexpected lambda: Elm (GenNode const&)

Definition at line 528 of file tree-mutator-collection-binding.hpp.

References lib::diff::anonymous_namespace{tree-mutator-collection-binding.hpp}::collection().

+ Here is the call graph for this function:

◆ isApplicableIf()

template<class COLL , class MAT , class CTR , class SEL , class ASS , class MUT >
template<class FUN >
CollectionBindingBuilder< COLL, MAT, CTR, FUN,ASS, MUT > isApplicableIf ( FUN  selector)
inline
Parameters
selectorexpected lambda: bool(GenNode const&)

Definition at line 541 of file tree-mutator-collection-binding.hpp.

References lib::diff::anonymous_namespace{tree-mutator-collection-binding.hpp}::collection().

+ Here is the call graph for this function:

◆ assignElement()

template<class COLL , class MAT , class CTR , class SEL , class ASS , class MUT >
template<class FUN >
CollectionBindingBuilder< COLL, MAT, CTR, SEL, FUN,MUT > assignElement ( FUN  setter)
inline
Parameters
setterexpected lambda: bool(Elm&, GenNode const&)

Definition at line 554 of file tree-mutator-collection-binding.hpp.

References lib::diff::anonymous_namespace{tree-mutator-collection-binding.hpp}::collection().

+ Here is the call graph for this function:

◆ buildChildMutator()

template<class COLL , class MAT , class CTR , class SEL , class ASS , class MUT >
template<class FUN >
CollectionBindingBuilder< COLL, MAT, CTR, SEL, ASS, FUN > buildChildMutator ( FUN  childMutationBuilder)
inline
Parameters
childMutationBuilderexpected lambda: bool(Elm&, GenNode::ID const&, TreeMutator::Handle)

Definition at line 567 of file tree-mutator-collection-binding.hpp.

References lib::diff::anonymous_namespace{tree-mutator-collection-binding.hpp}::collection().

+ Here is the call graph for this function:
+ Inheritance diagram for CollectionBindingBuilder< COLL, MAT, CTR, SEL, ASS, MUT >:
+ Collaboration diagram for CollectionBindingBuilder< COLL, MAT, CTR, SEL, ASS, MUT >:

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