Lumiera  0.pre.03
»edit your freedom«
BuilderQualifierSupport< TAR > Class Template Reference

#include "lib/builder-qualifier-support.hpp"

Description

template<class TAR>
class lib::BuilderQualifierSupport< TAR >

Mix-in to accept and apply an arbitrary sequence of qualifier functors.

Typically these are used for Builder or Strategy definitions and applied to some target object, which thereby is manipulated by the qualifiers by side-effect.

Template Parameters
TARtarget type to apply the qualifier functors
Remarks
the intended usage is to mix-in this template privately and then to define qualifier friend functions, each binding a suitable lambda to manipulate the internal settings. This way, at usage site, an arbitrary sequence of clearly labelled "algebraic terms" can be accepted, to tweak and adapt the basic features established on the Builder or Strategy.

Definition at line 63 of file builder-qualifier-support.hpp.

Classes

struct  Qualifier
 

Friends

template<class... QUALS>
void qualify (TAR &target, Qualifier &qualifier, QUALS &...qs)
 Main entrance point: apply the given qualifiers in sequence to the target. More...
 
void qualify (TAR &)
 

Protected Types

using Manipulator = std::function< void(TAR &)>
 

Friends And Related Function Documentation

◆ qualify

void qualify ( TAR &  target,
Qualifier qualifier,
QUALS &...  qs 
)
friend

Main entrance point: apply the given qualifiers in sequence to the target.

Definition at line 76 of file builder-qualifier-support.hpp.

+ Inheritance diagram for BuilderQualifierSupport< TAR >:
+ Collaboration diagram for BuilderQualifierSupport< TAR >:

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