Lumiera
0.pre.03
»edit your freedom«
|
#include "steam/control/command-mutation.hpp"
Specialised version of the command Mutation functor, used to implement the UNDO functionality.
The operation executed when invoking this functor is the UNDO operation of the respective command; additionally we need another functor to capture the state to be restored on UNDO. Both functors are wired up internally to cooperate and store the state (memento), which is implemented by the specifically typed MementoTie object passed in on construction. All these specific details are concealed (erased) on the interface
Definition at line 99 of file command-mutation.hpp.
Public Member Functions | |
template<typename SIG , typename MEM > | |
UndoMutation (MementoTie< SIG, MEM > &mementoHolder) | |
Mutation & | captureState (CmdClosure &clo) |
Public Member Functions inherited from Mutation | |
template<typename SIG > | |
Mutation (function< SIG > const &func) | |
void | operator() (CmdClosure &clo) |
Private Attributes | |
Mutation | captureMemento_ |