Lumiera  0.pre.03
»edit your freedom«
command-impl.hpp File Reference

Go to the source code of this file.

Description

Top level of the command implementation.

CommandImpl holds together the various data and sub-objects involved into the inner workings of a Steam-Layer command. It serves to implement a "command definition" (prototype) as well as a concrete command instance. It is a data holder with a well defined identity and usually located within the (pooled) storage managed by the CommandRegistry. Client code gets access to a specific CommandImpl through a Command instance, which is a small (refcounting smart-ptr) handle.

See also
Command
SteamDispatcher

Definition in file command-impl.hpp.

#include "steam/control/command.hpp"
#include "steam/control/command-closure.hpp"
#include "steam/control/command-mutation.hpp"
#include "lib/format-string.hpp"
#include "lib/nocopy.hpp"
#include <memory>
#include <functional>

Classes

struct  CommandImpl::_Type< ARG >
 
class  CommandImpl
 Steam-Layer Command implementation. More...
 

Macros

#define _TY(_ID_)   typename _Type<ARG>::_ID_
 

Namespaces

 steam
 Steam-Layer implementation namespace root.
 
 steam::control
 Steam-Layer dispatcher, controller and administrative facilities.
 

Class Documentation

◆ steam::control::CommandImpl::_Type

struct steam::control::CommandImpl::_Type
Class Members
typedef SIG_op SIG_op
typedef SIG_cap SIG_cap
typedef SIG_undo SIG_undo
typedef function< SIG_op > Func_op
typedef function< SIG_cap > Func_cap
typedef function< SIG_undo > Func_undo
+ Collaboration diagram for CommandImpl::_Type< ARG >: