36 #ifndef CONTROL_COMMAND_MUTATION_H 37 #define CONTROL_COMMAND_MUTATION_H 62 template<
typename SIG>
73 throw err::State{
"Lifecycle error: function arguments not ready" 74 , LERR_(UNBOUND_ARGUMENTS)};
105 template<
typename SIG,
typename MEM>
116 throw err::State{
"need additional function arguments to be able to capture UNDO state" 117 , LERR_(UNBOUND_ARGUMENTS)};
119 captureMemento_(clo);
function< SIG > tieCaptureFunc()
bind the capturing function to the internal memento store within this object.
function< SIG > tieUndoFunc()
bind the undo function to the internal memento store within this object.
Steam-Layer implementation namespace root.
Specialised version of the command Mutation functor, used to implement the UNDO functionality.
virtual void invoke(CmdFunctor const &)=0
invoke functor using the stored parameter values
A special binding used by Steam-Layer commands for capturing UNDO state information.
Derived specific exceptions within Lumiera's exception hierarchy.
Unspecific command functor for implementing Steam-Layer Command.
Lumiera error handling (C++ interface).
A closure enabling self-contained execution of commands within the SteamDispatcher.
Binding together state capturing and execution of the undo operation.