![]() |
Lumiera 0.pre.04~rc.1
»edit your freedom«
|
#include "steam/control/command-impl.hpp"
Steam-Layer Command implementation.
Data record holding together the parts necessary for command execution
StorageHolder<SIG_OPER,Mem> Definition at line 68 of file command-impl.hpp.
Classes | |
| struct | _Type |
Public Types | |
| using | PattID = HandlingPattern::ID |
Public Attributes | |
| Symbol | cmdID |
| human-readable marker for diagnostics, will be (re)assigned when activating this CommandImpl | |
Private Attributes | |
| Mutation | do_ |
| UndoMutation | undo_ |
| shared_ptr< CmdClosure > | pClo_ |
| HandlingPattern::ID | defaultPatt_ |
Additional Inherited Members | |
Private Member Functions inherited from NonCopyable | |
| ~NonCopyable ()=default | |
| NonCopyable ()=default | |
| NonCopyable (NonCopyable const &)=delete | |
| NonCopyable & | operator= (NonCopyable const &)=delete |
|
inline |
build a new implementation frame, and do the initial wiring.
On the interface the specific type is discarded afterwards. This information is still kept though, as encoded into the vtable of the embedded FunErasure objects holding the command operation and undo functors, and the vtable of the embedded CmdClosure
Definition at line 99 of file command-impl.hpp.
| ~CommandImpl | ( | ) |
Definition at line 107 of file command.cpp.
|
inline |
cloning service for the CommandRegistry: effectively this is a copy ctor, but as we rely on a argument holder (without knowing the exact type), we need to delegate the cloning of the arguments down to where the exact type info is still available; thus, a CommandImplCloneBuilder is first passed as a visitor down and then calls back to perform the copy, providing an new (clone) closure and UNDO functor already correctly wired to collaborate.
Definition at line 126 of file command-impl.hpp.
| struct steam::control::CommandImpl::_Type |
Definition at line 188 of file command-impl.hpp.
|
inlineexplicit |
Definition at line 136 of file command-impl.hpp.
References CommandImpl::isValid().
Here is the call graph for this function:
|
inline |
assist with building a clone copy of this CommandImpl.
By accepting the clone builder as a visitor and dispatching this visitation down into the concrete closure, the builder can re-gain the fully typed context available on creation of the ComandImpl. Within this context, for the clone to be created, the UndoMutation has to be re-wired, otherwise it would continue to cooperate with original closure.
Definition at line 155 of file command-impl.hpp.
References CommandImpl::pClo_.
Definition at line 165 of file command-impl.hpp.
References CommandImpl::pClo_.
|
inline |
Definition at line 171 of file command-impl.hpp.
References CommandImpl::pClo_.
|
inline |
Definition at line 177 of file command-impl.hpp.
References CommandImpl::pClo_.
|
inline |
Definition at line 182 of file command-impl.hpp.
References CommandImpl::do_, and CommandImpl::pClo_.
Referenced by SimulatedCommandHandler::performExec().
Here is the caller graph for this function:
|
inline |
Definition at line 183 of file command-impl.hpp.
References UndoMutation::captureState(), CommandImpl::pClo_, and CommandImpl::undo_.
Referenced by SimulatedCommandHandler::performExec().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
Definition at line 184 of file command-impl.hpp.
References CommandImpl::pClo_, and CommandImpl::undo_.
Referenced by SimulatedCommandHandler::performUndo().
Here is the caller graph for this function:
|
inline |
Definition at line 191 of file command-impl.hpp.
References CommandImpl::defaultPatt_.
define a handling pattern to be used by default
Definition at line 199 of file command-impl.hpp.
References CommandImpl::defaultPatt_.
|
inline |
< validity self-check: is basically usable.
Definition at line 211 of file command-impl.hpp.
References CommandImpl::defaultPatt_, HandlingPattern::get(), HandlingPattern::isValid(), and CommandImpl::pClo_.
Referenced by CommandImpl::canExec(), CommandImpl::canUndo(), CommandImpl::operator bool(), and CommandImpl::operator string().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
< state check: sufficiently defined to be invoked
Definition at line 218 of file command-impl.hpp.
References CommandImpl::isValid(), and CommandImpl::pClo_.
Referenced by CommandImpl::operator string().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
< state check: has undo state been captured?
Definition at line 225 of file command-impl.hpp.
References CommandImpl::isValid(), and CommandImpl::pClo_.
Referenced by CommandImpl::operator string().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
Definition at line 230 of file command-impl.hpp.
References CommandImpl::canExec(), CommandImpl::canUndo(), CommandImpl::isValid(), and CommandImpl::pClo_.
Here is the call graph for this function:
|
private |
Definition at line 71 of file command-impl.hpp.
Referenced by CommandImpl::invokeOperation().
|
private |
Definition at line 72 of file command-impl.hpp.
Referenced by CommandImpl::invokeCapture(), and CommandImpl::invokeUndo().
|
private |
Definition at line 74 of file command-impl.hpp.
Referenced by CommandImpl::canExec(), CommandImpl::canUndo(), CommandImpl::discardArguments(), CommandImpl::invokeCapture(), CommandImpl::invokeOperation(), CommandImpl::invokeUndo(), CommandImpl::isValid(), CommandImpl::operator string(), CommandImpl::prepareClone(), CommandImpl::setArguments(), and CommandImpl::setArguments().
|
private |
Definition at line 76 of file command-impl.hpp.
Referenced by CommandImpl::getDefaultHandlingPattern(), CommandImpl::isValid(), and CommandImpl::setHandlingPattern().
| Symbol cmdID |
human-readable marker for diagnostics, will be (re)assigned when activating this CommandImpl
Definition at line 142 of file command-impl.hpp.
Inheritance diagram for CommandImpl:
Collaboration diagram for CommandImpl: