45 #ifndef CONTROL_COMMAND_MUTATION_H 46 #define CONTROL_COMMAND_MUTATION_H 71 template<
typename SIG>
82 throw err::State{
"Lifecycle error: function arguments not ready" 83 , LERR_(UNBOUND_ARGUMENTS)};
114 template<
typename SIG,
typename MEM>
125 throw err::State{
"need additional function arguments to be able to capture UNDO state" 126 , LERR_(UNBOUND_ARGUMENTS)};
128 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.