![]() |
Lumiera 0.pre.04~rc.1
»edit your freedom«
|
#include "steam/control/command-impl-clone-builder.hpp"
Visitor to support creating a CommandImpl clone.
Created and managed by CommandRegistry, on clone creation an instance of this builder object is passed down to re-gain a fully typed context, necessary for re-wiring the undo functors and the memento storage within the cloned parts.
Definition at line 114 of file command-impl-clone-builder.hpp.
Public Member Functions | |
| CommandImplCloneBuilder (TypedAllocationManager &allo) | |
| template<typename ARG > | |
| void | buildCloneContext (ARG const &origArgHolder) |
| to be executed from within the specifically typed context of a concrete command StorageHolder; allocate a clone copy and then prepare a new UNDO-Functor, which is correctly wired with the memento holder within this new clone closure. | |
| UndoMutation const & | clonedUndoMutation () |
| after visitation: use pre-built bits to provide a cloned UndoFunctor | |
| PClo const & | clonedClosuere () |
| after visitation: provide cloned StorageHolder, but already stripped down to the generic usage type | |
Private Types | |
| typedef InPlaceBuffer< impl::CloneContext, sizeof(impl::ClonedContext)> | ContextHolder |
Private Attributes | |
| TypedAllocationManager & | allocator_ |
| ContextHolder | newContext_ |
Additional Inherited Members | |
Private Member Functions inherited from NonCopyable | |
| ~NonCopyable ()=default | |
| NonCopyable ()=default | |
| NonCopyable (NonCopyable const &)=delete | |
| NonCopyable & | operator= (NonCopyable const &)=delete |
|
inline |
Definition at line 123 of file command-impl-clone-builder.hpp.
Definition at line 117 of file command-impl-clone-builder.hpp.
to be executed from within the specifically typed context of a concrete command StorageHolder; allocate a clone copy and then prepare a new UNDO-Functor, which is correctly wired with the memento holder within this new clone closure.
After that point, these prepared parts can be retrieved through the public accessor functions; they will be used by the command registry to put together a complete clone copy of the original CommandImpl.
Definition at line 139 of file command-impl-clone-builder.hpp.
References CommandImplCloneBuilder::allocator_, and CommandImplCloneBuilder::newContext_.
Referenced by StorageHolder< SIG, MEM >::accept().
Here is the caller graph for this function:
|
inline |
after visitation: use pre-built bits to provide a cloned UndoFunctor
Definition at line 150 of file command-impl-clone-builder.hpp.
References CommandImplCloneBuilder::newContext_.
after visitation: provide cloned StorageHolder, but already stripped down to the generic usage type
Definition at line 160 of file command-impl-clone-builder.hpp.
References CommandImplCloneBuilder::newContext_.
|
private |
Definition at line 119 of file command-impl-clone-builder.hpp.
Referenced by CommandImplCloneBuilder::buildCloneContext().
|
private |
Definition at line 120 of file command-impl-clone-builder.hpp.
Referenced by CommandImplCloneBuilder::buildCloneContext(), CommandImplCloneBuilder::clonedClosuere(), and CommandImplCloneBuilder::clonedUndoMutation().
Inheritance diagram for CommandImplCloneBuilder:
Collaboration diagram for CommandImplCloneBuilder: