Lumiera  0.pre.03
»edit your freedom«
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, MAT, CTR, SEL, FUN,MUT > assignElement (FUN setter)
 
template<class FUN >
CollectionBindingBuilder< COLL, MAT, CTR, SEL, ASS, FUN > buildChildMutator (FUN childMutationBuilder)
 
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, FUN,CTR, SEL, ASS, MUT > matchElement (FUN matcher)
 
- 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 locate (GenNode const &targetSpec)
 locate element for assignment or mutation, with special shortcut to the recently inserted element
 
iterator search (GenNode const &targetSpec, iterator pos)
 

Additional Inherited Members

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

Member Function Documentation

◆ matchElement()

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()

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()

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()

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()

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: