Lumiera  0.pre.03
»edit your freedom«
Link< TI, TAR > Struct Template Reference

#include "lib/time/control-policy.hpp"

Description

template<class TI, class TAR>
struct lib::time::mutation::Link< TI, TAR >

Policy to tie the various detail policies together for providing actual value change operations.

The standard case uses the (inherited) time::Mutation base implementation to impose a new value onto the target entity and then uses the Builder policy to create a notification value reflecting this change.

Definition at line 228 of file control-policy.hpp.

Static Public Member Functions

static TI dontChange (TAR &target)
 
static TI mutateLength (TimeSpan &target, Duration const &change)
 
static TimeSpan mutateTimeSpan (TimeSpan &target, TimeSpan const &change)
 
template<class SRC >
static TI processValueChange (TAR &target, SRC const &change)
 
static TI useLengthAsChange (TAR &target, TimeSpan const &change)
 
- Static Public Member Functions inherited from Mutation
static EncapsulatedMutation adjust (Offset)
 Convenience factory: simple Mutation to adjust the duration or length of a timespan. More...
 
static EncapsulatedMutation changeDuration (Duration)
 Convenience factory: simple Mutation to adjust the duration or length of a timespan. More...
 
static EncapsulatedMutation changeTime (Time)
 Convenience factory to yield a simple Mutation changing the absolute start time. More...
 
static EncapsulatedMutation materialise (QuTime const &)
 Convenience factory: materialise the given quantised time into an explicit fixed internal time value, according to the underlying time grid; impose the resulting value then as new time point or start point to the target. More...
 
static EncapsulatedMutation nudge (int adjustment)
 build a time mutation to nudge the target time value by an offset, defined as number of steps on an implicit nudge grid. More...
 
static EncapsulatedMutation nudge (int adjustment, Symbol gridID)
 build a time mutation to nudge the target time value in steps based on a pre-defined grid. More...
 
- Static Public Member Functions inherited from Builder< TI, TAR >
static TI buildChangedValue (TAR const &target)
 

Additional Inherited Members

- Public Member Functions inherited from Mutation
virtual void change (Duration &) const =0
 
virtual void change (TimeSpan &) const =0
 
virtual void change (QuTime &) const =0
 
- Static Protected Member Functions inherited from Mutation
static TimeValueimposeChange (TimeValue &, TimeValue const &)
 
static TimeValueimposeChange (TimeValue &, Offset const &)
 
static TimeValueimposeChange (TimeValue &, int)
 
static TimeValueimposeChange (QuTime &, int)
 

Member Function Documentation

◆ processValueChange()

static TI processValueChange ( TAR &  target,
SRC const &  change 
)
inlinestatic
Parameters
changestandard case: plain value change

Definition at line 235 of file control-policy.hpp.

◆ dontChange()

static TI dontChange ( TAR &  target)
inlinestatic
Parameters
target
Note
: not touching the target

Definition at line 263 of file control-policy.hpp.

+ Inheritance diagram for Link< TI, TAR >:
+ Collaboration diagram for Link< TI, TAR >:

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