Lumiera 0.pre.04~rc.1
»edit your freedom«
Loading...
Searching...
No Matches
UndoSignature< SIG > Class Template Reference

#include "steam/control/command-signature.hpp"

Description

template<typename SIG>
class steam::control::UndoSignature< SIG >

Type analysis helper template.

Used for dissecting a given type signature to derive the related basic operation signature, the signature of a possible Undo-function and the signature necessary for capturing undo information. The implementation relies on re-binding an embedded type defining template, based on the actual case, as identified by the structure of the given parameter signature.

To use this template, it is instantiated with the signature of a functor object in question. Depending on the actual situation, the compiler will then either pick Case1 or Case2 – thus allowing the client in any case to pick up the correct signatures for Operation, Capture and Undo-function from the public typedefs within UndoSignature

Definition at line 108 of file command-signature.hpp.

Classes

struct  Case
 Case1: defining the Undo-Capture function. More...
 
struct  Case< void, ARG >
 Case2: defining the actual Undo function. More...
 

Public Types

using CaptureSig = Case< Ret, Args >::CaptureSig
 
using UndoOp_Sig = Case< Ret, Args >::UndoOp_Sig
 
using OperateSig = Case< Ret, Args >::OperateSig
 
using Memento = Case< Ret, Args >::Memento
 

Private Types

using Args = _Fun< SIG >::Args
 
using Ret = _Fun< SIG >::Ret
 

Class Documentation

◆ steam::control::UndoSignature::Case

struct steam::control::UndoSignature::Case
Class Members
typedef RET Memento
typedef List ExtendedArglist
typedef Seq ExtendedArgs
typedef Sig OperateSig
typedef Sig CaptureSig
typedef Sig UndoOp_Sig
+ Collaboration diagram for UndoSignature< SIG >::Case< RET, ARG >:

◆ steam::control::UndoSignature::Case< void, ARG >

struct steam::control::UndoSignature::Case< void, ARG >
Class Members
typedef List Args
typedef Type Memento
typedef List OperationArglist
typedef Seq OperationArgs
typedef Sig OperateSig
typedef Sig CaptureSig
typedef Sig UndoOp_Sig
+ Collaboration diagram for UndoSignature< SIG >::Case< void, ARG >:

Member Typedef Documentation

◆ Args

template<typename SIG >
using Args = _Fun<SIG>::Args
private

Definition at line 111 of file command-signature.hpp.

◆ Ret

template<typename SIG >
using Ret = _Fun<SIG>::Ret
private

Definition at line 112 of file command-signature.hpp.

◆ CaptureSig

template<typename SIG >
using CaptureSig = Case<Ret,Args>::CaptureSig

Definition at line 143 of file command-signature.hpp.

◆ UndoOp_Sig

template<typename SIG >
using UndoOp_Sig = Case<Ret,Args>::UndoOp_Sig

Definition at line 144 of file command-signature.hpp.

◆ OperateSig

template<typename SIG >
using OperateSig = Case<Ret,Args>::OperateSig

Definition at line 145 of file command-signature.hpp.

◆ Memento

template<typename SIG >
using Memento = Case<Ret,Args>::Memento

Definition at line 146 of file command-signature.hpp.

+ Collaboration diagram for UndoSignature< SIG >:

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