Lumiera
0.pre.03
»edit your freedom«
|
Go to the source code of this file.
Core of a Steam-Layer command: functor containing the operation to be executed.
Each command holds two of these functors: one representing the actual operation and one to undo the effect of this operation. The latter involves the capturing and storing of a "memento" value behind the scenes. But towards Command, the Mutation acts as interface to conceal these details, as well as the actual type and parameters of the functions to be invoked. Thus, Mutation's public interface just consists of a function call operator.
Mutation objects are based on lib::OpaqueHolder, which yields a fixed size storage, allowing them e.g. to be embedded immediately within the CommandImpl frame.
Definition in file command-mutation.hpp.
#include "lib/error.hpp"
#include "steam/control/command-closure.hpp"
#include "steam/control/memento-tie.hpp"
Classes | |
class | Mutation |
Unspecific command functor for implementing Steam-Layer Command. More... | |
class | UndoMutation |
Specialised version of the command Mutation functor, used to implement the UNDO functionality. More... | |
Namespaces | |
steam | |
Steam-Layer implementation namespace root. | |
steam::control | |
Steam-Layer dispatcher, controller and administrative facilities. | |