Lumiera  0.pre.03
command-mutation.hpp File Reference

Go to the source code of this file.


Core of a Proc-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.

See also
MementoTie binding memento state

Definition in file command-mutation.hpp.


class  Mutation
 Unspecific command functor for implementing Proc-Layer Command. More...
class  UndoMutation
 Specialised version of the command Mutation functor, used to implement the UNDO functionality. More...


 Proc-Layer implementation namespace root.
 Proc-Layer dispatcher, controller and administrative facilities.