control::CommandImplCloneBuilder Class Reference

#include <command-impl-clone-builder.hpp>

Collaboration diagram for control::CommandImplCloneBuilder:

Collaboration graph
[legend]

List of all members.


Detailed Description

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 132 of file command-impl-clone-builder.hpp.


Public Member Functions

template<typename ARG>
void buildCloneContext (ARG const &origArgHolder)
 to be executed from within the specifically typed context of a concrete command ArgumentHolder; allocate a clone copy and then prepare a new UNDO-Functor, which is correctly wired with the memento holder within this new clone closure.
PClo const & clonedClosuere ()
 after visitation: provide cloned ArgumentHolder, but already stripped down to the generic usage type
UndoMutation const & clonedUndoMutation ()
 after visitation: use pre-built bits to provide a cloned UndoFunctor
 CommandImplCloneBuilder (TypedAllocationManager &allo)

Private Types

typedef InPlaceBuffer
< impl::CloneContext, sizeof(impl::ClonedContext)> 
ContextHolder

Private Attributes

TypedAllocationManagerallocator_
ContextHolder newContext_

Member Function Documentation

template<typename ARG>
void control::CommandImplCloneBuilder::buildCloneContext ( ARG const &  origArgHolder  )  [inline]

to be executed from within the specifically typed context of a concrete command ArgumentHolder; 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 157 of file command-impl-clone-builder.hpp.

References lib::InPlaceBuffer< BA, siz, DEFAULT >::create().

Referenced by control::ArgumentHolder< SIG, MEM >::accept().

Here is the call graph for this function:

Here is the caller graph for this function:

PClo const& control::CommandImplCloneBuilder::clonedClosuere (  )  [inline]

after visitation: provide cloned ArgumentHolder, but already stripped down to the generic usage type

Definition at line 178 of file command-impl-clone-builder.hpp.

Referenced by control::CommandRegistry::createCloneImpl().

Here is the caller graph for this function:

UndoMutation const& control::CommandImplCloneBuilder::clonedUndoMutation (  )  [inline]

after visitation: use pre-built bits to provide a cloned UndoFunctor

Definition at line 168 of file command-impl-clone-builder.hpp.

Referenced by control::CommandRegistry::createCloneImpl().

Here is the caller graph for this function:


The documentation for this class was generated from the following file:

Generated on Thu Jul 22 00:06:41 2010 for Lumiera by  doxygen 1.5.6