sttcl  v0.9c
STTCL C++ template state machine framework
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
sttcl::Region< RegionImpl, RegionContainerImpl, IInnerState, EventArgs, HistoryType, StateThreadType, TimeDurationType, SemaphoreType, MutexType, EventQueueType > Class Template Reference

#include <Region.h>

Inheritance diagram for sttcl::Region< RegionImpl, RegionContainerImpl, IInnerState, EventArgs, HistoryType, StateThreadType, TimeDurationType, SemaphoreType, MutexType, EventQueueType >:
Collaboration diagram for sttcl::Region< RegionImpl, RegionContainerImpl, IInnerState, EventArgs, HistoryType, StateThreadType, TimeDurationType, SemaphoreType, MutexType, EventQueueType >:

List of all members.

Public Types

typedef RegionImpl Implementation
typedef RegionContainerImpl Context
typedef Region< RegionImpl,
RegionContainerImpl,
IInnerState, EventArgs,
HistoryType, StateThreadType,
TimeDurationType,
SemaphoreType, MutexType,
EventQueueType > 
SelfClassType
typedef ActiveState
< SelfClassType,
RegionContainerImpl,
IInnerState, StateThreadType,
TimeDurationType,
SemaphoreType, MutexType > 
ActiveStateImpl
typedef CompositeState
< SelfClassType,
RegionContainerImpl,
IInnerState, HistoryType,
ActiveStateImpl, StateMachine
< RegionImpl, IInnerState > > 
CompositeStateBase
typedef
internal::RegionBaseImplementationSelector
< RegionImpl,
RegionContainerImpl,
IInnerState, EventArgs >
::RESULT_TYPE 
SelectedRegionBase
typedef
SelectedRegionBase::RegionBaseClass 
RegionBaseClass
typedef
sttcl::internal::EventArgsInterfaceSelector
< RegionContainerImpl,
IInnerState, EventArgs > 
EventArgsSelectorType
typedef
EventArgsSelectorType::RefCountPtr 
RefCountPtr
typedef
EventArgsSelectorType::InnerEventHandler 
InnerEventHandler
typedef void(RegionBaseClass::* InternalEventHandler )(bool)
typedef
CompositeStateBase::StateImplementationBase 
StateImplementationBase
typedef
CompositeStateBase::StateMachineImplementationBase 
RegionStateMachine
typedef
CompositeStateBase::StateDoAction 
StateDoAction
typedef
CompositeStateBase::CompositeStateHistoryBaseClass 
CompositeStateHistoryBaseClass
typedef
CompositeStateBase::InnerStateClass 
InnerStateClass
typedef
CompositeStateBase::OuterStateInterface 
OuterStateInterface
typedef
CompositeStateBase::StateInterface 
StateInterface
typedef StateBase< RegionImpl,
IInnerState
RegionStateBase
typedef RegionStateBase StateBaseClass
typedef
StateImplementationBase::StateThreadImpl 
RegionThreadImpl
- Public Types inherited from sttcl::CompositeState< Region< RegionImpl, RegionContainerImpl, IInnerState, EventArgs, HistoryType, StateThreadType, TimeDurationType, SemaphoreType, MutexType, EventQueueType >, RegionContainerImpl, IInnerState, HistoryType, ActiveState< Region< RegionImpl, RegionContainerImpl, IInnerState, EventArgs, HistoryType, StateThreadType, TimeDurationType, SemaphoreType, MutexType, EventQueueType >, RegionContainerImpl, IInnerState, StateThreadType, TimeDurationType, SemaphoreType, MutexType >, StateMachine< RegionImpl, IInnerState > >
typedef StateMachine
< RegionImpl, IInnerState
StateMachineImplementationBase
- Public Types inherited from sttcl::ActiveState< Region< RegionImpl, RegionContainerImpl, IInnerState, EventArgs, HistoryType, StateThreadType, TimeDurationType, SemaphoreType, MutexType, EventQueueType >, RegionContainerImpl, IInnerState, StateThreadType, TimeDurationType, SemaphoreType, MutexType >
typedef StateBase
< RegionContainerImpl,
IInnerState
StateBaseType
typedef StateThreadType StateThreadImpl
typedef SemaphoreType EndDoActionSemaphoreImpl
typedef TimeDurationType TimeDurationImpl
typedef MutexType ActiveStateMutexImpl
- Public Types inherited from sttcl::StateBase< StateMachineImpl, IState >
- Public Types inherited from sttcl::StateMachine< RegionImpl, IInnerState >
- Public Types inherited from sttcl::internal::RegionBaseImplWithEventArgs< RegionImpl, RegionContainerImpl, IInnerState, EventArgs >
- Public Types inherited from sttcl::RegionBase< RegionContainerImpl, IInnerState, EventArgs >
typedef
sttcl::internal::RegionEventDispatchInterfaceSelector
< RegionContainerImpl,
IInnerState, EventArgs >
::RESULT_TYPE 
RegionEventDispatchInterface
- Public Types inherited from sttcl::internal::IRegionEventDispatchWithArgs< RegionContainerImpl, IInnerState, EventArgs >

Public Member Functions

 Region (RegionContainerImpl *argRegionContainer, TimeDurationType argDoActionFrequency=TimeDurationType::Zero)
virtual ~Region ()
void dispatchInternalEvent (InternalEventHandler internalEventHandler, bool recursive)
void changeStateImpl (RegionContainerImpl *context, IInnerState *newState)
void changeState (RegionStateBase *newState)
void startingRegionThread ()
void endingRegionThread ()
void entryImpl (Context *context)
void exitImpl (Context *context)
bool initializeImpl (bool force)
void finalizeImpl (bool finalizeSubStateMachines)
bool endDoActionRequestedImpl ()
void exitingDoActionImpl ()
void joinDoActionThreadImpl ()
void unblockDoActionImpl ()
void endDoImpl (RegionContainerImpl *context)
- Public Member Functions inherited from sttcl::CompositeState< Region< RegionImpl, RegionContainerImpl, IInnerState, EventArgs, HistoryType, StateThreadType, TimeDurationType, SemaphoreType, MutexType, EventQueueType >, RegionContainerImpl, IInnerState, HistoryType, ActiveState< Region< RegionImpl, RegionContainerImpl, IInnerState, EventArgs, HistoryType, StateThreadType, TimeDurationType, SemaphoreType, MutexType, EventQueueType >, RegionContainerImpl, IInnerState, StateThreadType, TimeDurationType, SemaphoreType, MutexType >, StateMachine< RegionImpl, IInnerState > >
 CompositeState (StateDoAction argDoAction=0)
virtual ~CompositeState ()
void changeState (InnerStateClass *newState)
void subStateMachineCompletedImpl ()
void subStateMachineCompleted ()
void entryImpl (Context *context)
void exitImpl (Context *context)
- Public Member Functions inherited from sttcl::ActiveState< Region< RegionImpl, RegionContainerImpl, IInnerState, EventArgs, HistoryType, StateThreadType, TimeDurationType, SemaphoreType, MutexType, EventQueueType >, RegionContainerImpl, IInnerState, StateThreadType, TimeDurationType, SemaphoreType, MutexType >
const TimeDurationImplgetDoFrequency () const
void setDoFrequency (const TimeDurationImpl &newValue)
void endDoImpl (Context *context)
const StateThreadType & getStateThread () const
void startDoImpl (Context *context)
bool isDoActionRunning () const
void finalizeSubStateMachinesImpl (bool recursive)
void initSubStateMachinesImpl (bool recursive)
bool checkDirectTransitionImpl (Context *context, bool &finalize, StateBaseType *&nextState)
- Public Member Functions inherited from sttcl::StateBase< StateMachineImpl, IState >
void changeStateImpl (Context *context, StateBase< StateMachineImpl, IState > *newState)
template<class StateMachineContext >
void changeStateImpl (StateMachineContext *context, StateBase< StateMachineImpl, IState > *newState)
- Public Member Functions inherited from sttcl::StateMachine< RegionImpl, IInnerState >
 ~StateMachine ()
bool initialize (bool force=false)
void finalize (bool finalizeSubStateMachines=true)
bool isReady () const
bool isInitialized () const
bool isInitalizing () const
bool isFinalized () const
bool isFinalizing () const
StateBaseClassgetState () const
void subStateMachineCompleted (StateBaseClass *state)
void subStateMachineCompletedImpl (StateBaseClass *state)
- Public Member Functions inherited from sttcl::internal::RegionBaseImplWithEventArgs< RegionImpl, RegionContainerImpl, IInnerState, EventArgs >
 RegionBaseImplWithEventArgs (RegionContainerImpl *argRegionContainer)
virtual ~RegionBaseImplWithEventArgs ()
virtual void handleBroadcastedEvent (RegionContainerImpl *context, InnerEventHandler eventHandler, RefCountPtr eventArgs)
void dispatchEvent (RegionContainerImpl *context, IInnerState *state, InnerEventHandler eventHandler, RefCountPtr eventArgs)
- Public Member Functions inherited from sttcl::RegionBase< RegionContainerImpl, IInnerState, EventArgs >
 RegionBase (RegionContainerImpl *argRegionContainer)
virtual ~RegionBase ()
template<class RegionImpl >
RegionImpl * getRegionContext ()
- Public Member Functions inherited from sttcl::internal::IRegionEventDispatchWithArgs< RegionContainerImpl, IInnerState, EventArgs >
virtual ~IRegionEventDispatchWithArgs ()

Friends

class RegionBase< RegionContainerImpl, IInnerState, EventArgs >

Additional Inherited Members

- Protected Member Functions inherited from sttcl::CompositeState< Region< RegionImpl, RegionContainerImpl, IInnerState, EventArgs, HistoryType, StateThreadType, TimeDurationType, SemaphoreType, MutexType, EventQueueType >, RegionContainerImpl, IInnerState, HistoryType, ActiveState< Region< RegionImpl, RegionContainerImpl, IInnerState, EventArgs, HistoryType, StateThreadType, TimeDurationType, SemaphoreType, MutexType, EventQueueType >, RegionContainerImpl, IInnerState, StateThreadType, TimeDurationType, SemaphoreType, MutexType >, StateMachine< RegionImpl, IInnerState > >
void changeState (Context *context, StateBase< RegionContainerImpl, OuterStateInterface > *newState)
virtual void finalizeSubStateMachines (bool recursive)
virtual void initSubStateMachines (bool recursive)
- Protected Member Functions inherited from sttcl::ActiveState< Region< RegionImpl, RegionContainerImpl, IInnerState, EventArgs, HistoryType, StateThreadType, TimeDurationType, SemaphoreType, MutexType, EventQueueType >, RegionContainerImpl, IInnerState, StateThreadType, TimeDurationType, SemaphoreType, MutexType >
 ActiveState (StateDoAction argDoAction, bool argRunDoActionOnce=false, TimeDurationType argDoFrequency=TimeDurationType::Zero)
virtual ~ActiveState ()
void changeState (Context *context, StateBase< RegionContainerImpl, IInnerState > *newState)
bool endDoActionRequested ()
- Protected Member Functions inherited from sttcl::StateBase< StateMachineImpl, IState >
 StateBase ()
virtual ~StateBase ()
- Protected Member Functions inherited from sttcl::StateMachine< RegionImpl, IInnerState >
 StateMachine ()
void changeState (typename StateMachine< RegionImpl, IInnerState >::StateBaseClass *newState)
void setState (StateBaseClass *newState)
StateBaseClassgetInitialState () const
StateBaseClassgetInitialStateImpl () const
bool isReadyImpl () const
void exitCurrentState ()
void enterNewState ()
- Protected Member Functions inherited from sttcl::internal::CompositeStateBase< InnerStateType >
 CompositeStateBase ()
 ~CompositeStateBase ()
void saveCurrentState (InnerStateType *currentState)
InnerStateType * getStateHistory ()
template<class CompositeStateImpl >
InnerStateType * resumeStateHistory (CompositeStateImpl *compositeState)
template<class CompositeStateImpl >
InnerStateType * finalizeStateHistory (CompositeStateImpl *compositeState)
- Protected Member Functions inherited from sttcl::internal::RegionBaseImplWithEventArgs< RegionImpl, RegionContainerImpl, IInnerState, EventArgs >
void callDispatchedEventHandler (RegionContainerImpl *context, IInnerState *state, InnerEventHandler eventHandler, RefCountPtr eventArgs)

Detailed Description

template<class RegionImpl, class RegionContainerImpl, class IInnerState, class EventArgs = void, CompositeStateHistoryType::Values HistoryType = CompositeStateHistoryType::None, class StateThreadType = sttcl::internal::SttclThread<>, class TimeDurationType = TimeDuration<STTCL_DEFAULT_TIMEDURATIONIMPL>, class SemaphoreType = sttcl::internal::SttclSemaphore<STTCL_DEFAULT_SEMAPHOREIMPL,TimeDurationType>, class MutexType = sttcl::internal::SttclMutex<STTCL_DEFAULT_MUTEXIMPL,TimeDurationType>, class EventQueueType = sttcl::EventQueue<sttcl::internal::DispatchedEvent<RegionContainerImpl,IInnerState,EventArgs>,TimeDurationType,SemaphoreType,MutexType>>
class sttcl::Region< RegionImpl, RegionContainerImpl, IInnerState, EventArgs, HistoryType, StateThreadType, TimeDurationType, SemaphoreType, MutexType, EventQueueType >

Represents a region within a matching ConcurrentCompositeState implementation.

Template Parameters:
RegionImplThe inheriting class.
RegionContainerImplThe sttcl::StateMachine class that contains the matching ConcurrentCompositeState implementation.
IInnerStateThe inner state event handler interface for the states contained in the implementing region.
EventArgsThe type of event arguments passed to the inner state event handler methods.
HistoryTypeSpecifies the composite state history behavior (see also CompositeStateHistoryType::Values), default is CompositeStateHistoryType::None.
StateThreadTypeThe thread implementation class, default is sttcl::internal::SttclThread<>.
SemaphoreTypeThe semaphore implementation class, default is sttcl::internal::SttclSemaphore<>.
TimeDurationTypeThe time duration representation implementation class, default is sttcl::TimeDuration<>.
MutexTypeThe mutex implementation class, default is sttcl::internal::SttclMutex<>.
EventQueueTypeThe event queue implementation class, default is sttcl::EventQueue<>

Member Typedef Documentation

template<class RegionImpl , class RegionContainerImpl , class IInnerState , class EventArgs = void, CompositeStateHistoryType::Values HistoryType = CompositeStateHistoryType::None, class StateThreadType = sttcl::internal::SttclThread<>, class TimeDurationType = TimeDuration<STTCL_DEFAULT_TIMEDURATIONIMPL>, class SemaphoreType = sttcl::internal::SttclSemaphore<STTCL_DEFAULT_SEMAPHOREIMPL,TimeDurationType>, class MutexType = sttcl::internal::SttclMutex<STTCL_DEFAULT_MUTEXIMPL,TimeDurationType>, class EventQueueType = sttcl::EventQueue<sttcl::internal::DispatchedEvent<RegionContainerImpl,IInnerState,EventArgs>,TimeDurationType,SemaphoreType,MutexType>>
typedef ActiveState< SelfClassType , RegionContainerImpl , IInnerState , StateThreadType , TimeDurationType , SemaphoreType , MutexType > sttcl::Region< RegionImpl, RegionContainerImpl, IInnerState, EventArgs, HistoryType, StateThreadType, TimeDurationType, SemaphoreType, MutexType, EventQueueType >::ActiveStateImpl

The sttcl::ActiveState<> implementation to use as state implementation base of the CompositeState base class.

template<class RegionImpl , class RegionContainerImpl , class IInnerState , class EventArgs = void, CompositeStateHistoryType::Values HistoryType = CompositeStateHistoryType::None, class StateThreadType = sttcl::internal::SttclThread<>, class TimeDurationType = TimeDuration<STTCL_DEFAULT_TIMEDURATIONIMPL>, class SemaphoreType = sttcl::internal::SttclSemaphore<STTCL_DEFAULT_SEMAPHOREIMPL,TimeDurationType>, class MutexType = sttcl::internal::SttclMutex<STTCL_DEFAULT_MUTEXIMPL,TimeDurationType>, class EventQueueType = sttcl::EventQueue<sttcl::internal::DispatchedEvent<RegionContainerImpl,IInnerState,EventArgs>,TimeDurationType,SemaphoreType,MutexType>>
typedef CompositeState< SelfClassType , RegionContainerImpl , IInnerState , HistoryType , ActiveStateImpl , StateMachine<RegionImpl, IInnerState> > sttcl::Region< RegionImpl, RegionContainerImpl, IInnerState, EventArgs, HistoryType, StateThreadType, TimeDurationType, SemaphoreType, MutexType, EventQueueType >::CompositeStateBase

The region composites state base class type.

template<class RegionImpl , class RegionContainerImpl , class IInnerState , class EventArgs = void, CompositeStateHistoryType::Values HistoryType = CompositeStateHistoryType::None, class StateThreadType = sttcl::internal::SttclThread<>, class TimeDurationType = TimeDuration<STTCL_DEFAULT_TIMEDURATIONIMPL>, class SemaphoreType = sttcl::internal::SttclSemaphore<STTCL_DEFAULT_SEMAPHOREIMPL,TimeDurationType>, class MutexType = sttcl::internal::SttclMutex<STTCL_DEFAULT_MUTEXIMPL,TimeDurationType>, class EventQueueType = sttcl::EventQueue<sttcl::internal::DispatchedEvent<RegionContainerImpl,IInnerState,EventArgs>,TimeDurationType,SemaphoreType,MutexType>>
typedef CompositeStateBase::CompositeStateHistoryBaseClass sttcl::Region< RegionImpl, RegionContainerImpl, IInnerState, EventArgs, HistoryType, StateThreadType, TimeDurationType, SemaphoreType, MutexType, EventQueueType >::CompositeStateHistoryBaseClass
template<class RegionImpl , class RegionContainerImpl , class IInnerState , class EventArgs = void, CompositeStateHistoryType::Values HistoryType = CompositeStateHistoryType::None, class StateThreadType = sttcl::internal::SttclThread<>, class TimeDurationType = TimeDuration<STTCL_DEFAULT_TIMEDURATIONIMPL>, class SemaphoreType = sttcl::internal::SttclSemaphore<STTCL_DEFAULT_SEMAPHOREIMPL,TimeDurationType>, class MutexType = sttcl::internal::SttclMutex<STTCL_DEFAULT_MUTEXIMPL,TimeDurationType>, class EventQueueType = sttcl::EventQueue<sttcl::internal::DispatchedEvent<RegionContainerImpl,IInnerState,EventArgs>,TimeDurationType,SemaphoreType,MutexType>>
typedef RegionContainerImpl sttcl::Region< RegionImpl, RegionContainerImpl, IInnerState, EventArgs, HistoryType, StateThreadType, TimeDurationType, SemaphoreType, MutexType, EventQueueType >::Context
template<class RegionImpl , class RegionContainerImpl , class IInnerState , class EventArgs = void, CompositeStateHistoryType::Values HistoryType = CompositeStateHistoryType::None, class StateThreadType = sttcl::internal::SttclThread<>, class TimeDurationType = TimeDuration<STTCL_DEFAULT_TIMEDURATIONIMPL>, class SemaphoreType = sttcl::internal::SttclSemaphore<STTCL_DEFAULT_SEMAPHOREIMPL,TimeDurationType>, class MutexType = sttcl::internal::SttclMutex<STTCL_DEFAULT_MUTEXIMPL,TimeDurationType>, class EventQueueType = sttcl::EventQueue<sttcl::internal::DispatchedEvent<RegionContainerImpl,IInnerState,EventArgs>,TimeDurationType,SemaphoreType,MutexType>>
typedef sttcl::internal::EventArgsInterfaceSelector<RegionContainerImpl,IInnerState,EventArgs> sttcl::Region< RegionImpl, RegionContainerImpl, IInnerState, EventArgs, HistoryType, StateThreadType, TimeDurationType, SemaphoreType, MutexType, EventQueueType >::EventArgsSelectorType
template<class RegionImpl , class RegionContainerImpl , class IInnerState , class EventArgs = void, CompositeStateHistoryType::Values HistoryType = CompositeStateHistoryType::None, class StateThreadType = sttcl::internal::SttclThread<>, class TimeDurationType = TimeDuration<STTCL_DEFAULT_TIMEDURATIONIMPL>, class SemaphoreType = sttcl::internal::SttclSemaphore<STTCL_DEFAULT_SEMAPHOREIMPL,TimeDurationType>, class MutexType = sttcl::internal::SttclMutex<STTCL_DEFAULT_MUTEXIMPL,TimeDurationType>, class EventQueueType = sttcl::EventQueue<sttcl::internal::DispatchedEvent<RegionContainerImpl,IInnerState,EventArgs>,TimeDurationType,SemaphoreType,MutexType>>
typedef RegionImpl sttcl::Region< RegionImpl, RegionContainerImpl, IInnerState, EventArgs, HistoryType, StateThreadType, TimeDurationType, SemaphoreType, MutexType, EventQueueType >::Implementation
template<class RegionImpl , class RegionContainerImpl , class IInnerState , class EventArgs = void, CompositeStateHistoryType::Values HistoryType = CompositeStateHistoryType::None, class StateThreadType = sttcl::internal::SttclThread<>, class TimeDurationType = TimeDuration<STTCL_DEFAULT_TIMEDURATIONIMPL>, class SemaphoreType = sttcl::internal::SttclSemaphore<STTCL_DEFAULT_SEMAPHOREIMPL,TimeDurationType>, class MutexType = sttcl::internal::SttclMutex<STTCL_DEFAULT_MUTEXIMPL,TimeDurationType>, class EventQueueType = sttcl::EventQueue<sttcl::internal::DispatchedEvent<RegionContainerImpl,IInnerState,EventArgs>,TimeDurationType,SemaphoreType,MutexType>>
typedef EventArgsSelectorType::InnerEventHandler sttcl::Region< RegionImpl, RegionContainerImpl, IInnerState, EventArgs, HistoryType, StateThreadType, TimeDurationType, SemaphoreType, MutexType, EventQueueType >::InnerEventHandler
template<class RegionImpl , class RegionContainerImpl , class IInnerState , class EventArgs = void, CompositeStateHistoryType::Values HistoryType = CompositeStateHistoryType::None, class StateThreadType = sttcl::internal::SttclThread<>, class TimeDurationType = TimeDuration<STTCL_DEFAULT_TIMEDURATIONIMPL>, class SemaphoreType = sttcl::internal::SttclSemaphore<STTCL_DEFAULT_SEMAPHOREIMPL,TimeDurationType>, class MutexType = sttcl::internal::SttclMutex<STTCL_DEFAULT_MUTEXIMPL,TimeDurationType>, class EventQueueType = sttcl::EventQueue<sttcl::internal::DispatchedEvent<RegionContainerImpl,IInnerState,EventArgs>,TimeDurationType,SemaphoreType,MutexType>>
typedef CompositeStateBase::InnerStateClass sttcl::Region< RegionImpl, RegionContainerImpl, IInnerState, EventArgs, HistoryType, StateThreadType, TimeDurationType, SemaphoreType, MutexType, EventQueueType >::InnerStateClass
template<class RegionImpl , class RegionContainerImpl , class IInnerState , class EventArgs = void, CompositeStateHistoryType::Values HistoryType = CompositeStateHistoryType::None, class StateThreadType = sttcl::internal::SttclThread<>, class TimeDurationType = TimeDuration<STTCL_DEFAULT_TIMEDURATIONIMPL>, class SemaphoreType = sttcl::internal::SttclSemaphore<STTCL_DEFAULT_SEMAPHOREIMPL,TimeDurationType>, class MutexType = sttcl::internal::SttclMutex<STTCL_DEFAULT_MUTEXIMPL,TimeDurationType>, class EventQueueType = sttcl::EventQueue<sttcl::internal::DispatchedEvent<RegionContainerImpl,IInnerState,EventArgs>,TimeDurationType,SemaphoreType,MutexType>>
typedef void(RegionBaseClass::* sttcl::Region< RegionImpl, RegionContainerImpl, IInnerState, EventArgs, HistoryType, StateThreadType, TimeDurationType, SemaphoreType, MutexType, EventQueueType >::InternalEventHandler)(bool)

The internal event handler signature.

template<class RegionImpl , class RegionContainerImpl , class IInnerState , class EventArgs = void, CompositeStateHistoryType::Values HistoryType = CompositeStateHistoryType::None, class StateThreadType = sttcl::internal::SttclThread<>, class TimeDurationType = TimeDuration<STTCL_DEFAULT_TIMEDURATIONIMPL>, class SemaphoreType = sttcl::internal::SttclSemaphore<STTCL_DEFAULT_SEMAPHOREIMPL,TimeDurationType>, class MutexType = sttcl::internal::SttclMutex<STTCL_DEFAULT_MUTEXIMPL,TimeDurationType>, class EventQueueType = sttcl::EventQueue<sttcl::internal::DispatchedEvent<RegionContainerImpl,IInnerState,EventArgs>,TimeDurationType,SemaphoreType,MutexType>>
typedef CompositeStateBase::OuterStateInterface sttcl::Region< RegionImpl, RegionContainerImpl, IInnerState, EventArgs, HistoryType, StateThreadType, TimeDurationType, SemaphoreType, MutexType, EventQueueType >::OuterStateInterface
template<class RegionImpl , class RegionContainerImpl , class IInnerState , class EventArgs = void, CompositeStateHistoryType::Values HistoryType = CompositeStateHistoryType::None, class StateThreadType = sttcl::internal::SttclThread<>, class TimeDurationType = TimeDuration<STTCL_DEFAULT_TIMEDURATIONIMPL>, class SemaphoreType = sttcl::internal::SttclSemaphore<STTCL_DEFAULT_SEMAPHOREIMPL,TimeDurationType>, class MutexType = sttcl::internal::SttclMutex<STTCL_DEFAULT_MUTEXIMPL,TimeDurationType>, class EventQueueType = sttcl::EventQueue<sttcl::internal::DispatchedEvent<RegionContainerImpl,IInnerState,EventArgs>,TimeDurationType,SemaphoreType,MutexType>>
typedef EventArgsSelectorType::RefCountPtr sttcl::Region< RegionImpl, RegionContainerImpl, IInnerState, EventArgs, HistoryType, StateThreadType, TimeDurationType, SemaphoreType, MutexType, EventQueueType >::RefCountPtr

The pointer type used to pass event arguments to the contained regions inner states.

Reimplemented from sttcl::internal::RegionBaseImplWithEventArgs< RegionImpl, RegionContainerImpl, IInnerState, EventArgs >.

template<class RegionImpl , class RegionContainerImpl , class IInnerState , class EventArgs = void, CompositeStateHistoryType::Values HistoryType = CompositeStateHistoryType::None, class StateThreadType = sttcl::internal::SttclThread<>, class TimeDurationType = TimeDuration<STTCL_DEFAULT_TIMEDURATIONIMPL>, class SemaphoreType = sttcl::internal::SttclSemaphore<STTCL_DEFAULT_SEMAPHOREIMPL,TimeDurationType>, class MutexType = sttcl::internal::SttclMutex<STTCL_DEFAULT_MUTEXIMPL,TimeDurationType>, class EventQueueType = sttcl::EventQueue<sttcl::internal::DispatchedEvent<RegionContainerImpl,IInnerState,EventArgs>,TimeDurationType,SemaphoreType,MutexType>>
typedef SelectedRegionBase::RegionBaseClass sttcl::Region< RegionImpl, RegionContainerImpl, IInnerState, EventArgs, HistoryType, StateThreadType, TimeDurationType, SemaphoreType, MutexType, EventQueueType >::RegionBaseClass
template<class RegionImpl , class RegionContainerImpl , class IInnerState , class EventArgs = void, CompositeStateHistoryType::Values HistoryType = CompositeStateHistoryType::None, class StateThreadType = sttcl::internal::SttclThread<>, class TimeDurationType = TimeDuration<STTCL_DEFAULT_TIMEDURATIONIMPL>, class SemaphoreType = sttcl::internal::SttclSemaphore<STTCL_DEFAULT_SEMAPHOREIMPL,TimeDurationType>, class MutexType = sttcl::internal::SttclMutex<STTCL_DEFAULT_MUTEXIMPL,TimeDurationType>, class EventQueueType = sttcl::EventQueue<sttcl::internal::DispatchedEvent<RegionContainerImpl,IInnerState,EventArgs>,TimeDurationType,SemaphoreType,MutexType>>
typedef StateBase<RegionImpl,IInnerState> sttcl::Region< RegionImpl, RegionContainerImpl, IInnerState, EventArgs, HistoryType, StateThreadType, TimeDurationType, SemaphoreType, MutexType, EventQueueType >::RegionStateBase

The StateBase class type.

template<class RegionImpl , class RegionContainerImpl , class IInnerState , class EventArgs = void, CompositeStateHistoryType::Values HistoryType = CompositeStateHistoryType::None, class StateThreadType = sttcl::internal::SttclThread<>, class TimeDurationType = TimeDuration<STTCL_DEFAULT_TIMEDURATIONIMPL>, class SemaphoreType = sttcl::internal::SttclSemaphore<STTCL_DEFAULT_SEMAPHOREIMPL,TimeDurationType>, class MutexType = sttcl::internal::SttclMutex<STTCL_DEFAULT_MUTEXIMPL,TimeDurationType>, class EventQueueType = sttcl::EventQueue<sttcl::internal::DispatchedEvent<RegionContainerImpl,IInnerState,EventArgs>,TimeDurationType,SemaphoreType,MutexType>>
typedef CompositeStateBase::StateMachineImplementationBase sttcl::Region< RegionImpl, RegionContainerImpl, IInnerState, EventArgs, HistoryType, StateThreadType, TimeDurationType, SemaphoreType, MutexType, EventQueueType >::RegionStateMachine

The (composite) state machine base class type.

template<class RegionImpl , class RegionContainerImpl , class IInnerState , class EventArgs = void, CompositeStateHistoryType::Values HistoryType = CompositeStateHistoryType::None, class StateThreadType = sttcl::internal::SttclThread<>, class TimeDurationType = TimeDuration<STTCL_DEFAULT_TIMEDURATIONIMPL>, class SemaphoreType = sttcl::internal::SttclSemaphore<STTCL_DEFAULT_SEMAPHOREIMPL,TimeDurationType>, class MutexType = sttcl::internal::SttclMutex<STTCL_DEFAULT_MUTEXIMPL,TimeDurationType>, class EventQueueType = sttcl::EventQueue<sttcl::internal::DispatchedEvent<RegionContainerImpl,IInnerState,EventArgs>,TimeDurationType,SemaphoreType,MutexType>>
typedef StateImplementationBase::StateThreadImpl sttcl::Region< RegionImpl, RegionContainerImpl, IInnerState, EventArgs, HistoryType, StateThreadType, TimeDurationType, SemaphoreType, MutexType, EventQueueType >::RegionThreadImpl

The region state thread class type.

template<class RegionImpl , class RegionContainerImpl , class IInnerState , class EventArgs = void, CompositeStateHistoryType::Values HistoryType = CompositeStateHistoryType::None, class StateThreadType = sttcl::internal::SttclThread<>, class TimeDurationType = TimeDuration<STTCL_DEFAULT_TIMEDURATIONIMPL>, class SemaphoreType = sttcl::internal::SttclSemaphore<STTCL_DEFAULT_SEMAPHOREIMPL,TimeDurationType>, class MutexType = sttcl::internal::SttclMutex<STTCL_DEFAULT_MUTEXIMPL,TimeDurationType>, class EventQueueType = sttcl::EventQueue<sttcl::internal::DispatchedEvent<RegionContainerImpl,IInnerState,EventArgs>,TimeDurationType,SemaphoreType,MutexType>>
typedef internal::RegionBaseImplementationSelector<RegionImpl,RegionContainerImpl,IInnerState,EventArgs>::RESULT_TYPE sttcl::Region< RegionImpl, RegionContainerImpl, IInnerState, EventArgs, HistoryType, StateThreadType, TimeDurationType, SemaphoreType, MutexType, EventQueueType >::SelectedRegionBase

The selected RegionBase implementation class type.

template<class RegionImpl , class RegionContainerImpl , class IInnerState , class EventArgs = void, CompositeStateHistoryType::Values HistoryType = CompositeStateHistoryType::None, class StateThreadType = sttcl::internal::SttclThread<>, class TimeDurationType = TimeDuration<STTCL_DEFAULT_TIMEDURATIONIMPL>, class SemaphoreType = sttcl::internal::SttclSemaphore<STTCL_DEFAULT_SEMAPHOREIMPL,TimeDurationType>, class MutexType = sttcl::internal::SttclMutex<STTCL_DEFAULT_MUTEXIMPL,TimeDurationType>, class EventQueueType = sttcl::EventQueue<sttcl::internal::DispatchedEvent<RegionContainerImpl,IInnerState,EventArgs>,TimeDurationType,SemaphoreType,MutexType>>
typedef Region< RegionImpl , RegionContainerImpl , IInnerState , EventArgs , HistoryType , StateThreadType , TimeDurationType , SemaphoreType , MutexType , EventQueueType > sttcl::Region< RegionImpl, RegionContainerImpl, IInnerState, EventArgs, HistoryType, StateThreadType, TimeDurationType, SemaphoreType, MutexType, EventQueueType >::SelfClassType

The actual Region class type, just to shorten typing for implementation.

template<class RegionImpl , class RegionContainerImpl , class IInnerState , class EventArgs = void, CompositeStateHistoryType::Values HistoryType = CompositeStateHistoryType::None, class StateThreadType = sttcl::internal::SttclThread<>, class TimeDurationType = TimeDuration<STTCL_DEFAULT_TIMEDURATIONIMPL>, class SemaphoreType = sttcl::internal::SttclSemaphore<STTCL_DEFAULT_SEMAPHOREIMPL,TimeDurationType>, class MutexType = sttcl::internal::SttclMutex<STTCL_DEFAULT_MUTEXIMPL,TimeDurationType>, class EventQueueType = sttcl::EventQueue<sttcl::internal::DispatchedEvent<RegionContainerImpl,IInnerState,EventArgs>,TimeDurationType,SemaphoreType,MutexType>>
typedef RegionStateBase sttcl::Region< RegionImpl, RegionContainerImpl, IInnerState, EventArgs, HistoryType, StateThreadType, TimeDurationType, SemaphoreType, MutexType, EventQueueType >::StateBaseClass

The StateBase class type.

Reimplemented from sttcl::StateMachine< RegionImpl, IInnerState >.

template<class RegionImpl , class RegionContainerImpl , class IInnerState , class EventArgs = void, CompositeStateHistoryType::Values HistoryType = CompositeStateHistoryType::None, class StateThreadType = sttcl::internal::SttclThread<>, class TimeDurationType = TimeDuration<STTCL_DEFAULT_TIMEDURATIONIMPL>, class SemaphoreType = sttcl::internal::SttclSemaphore<STTCL_DEFAULT_SEMAPHOREIMPL,TimeDurationType>, class MutexType = sttcl::internal::SttclMutex<STTCL_DEFAULT_MUTEXIMPL,TimeDurationType>, class EventQueueType = sttcl::EventQueue<sttcl::internal::DispatchedEvent<RegionContainerImpl,IInnerState,EventArgs>,TimeDurationType,SemaphoreType,MutexType>>
typedef CompositeStateBase::StateDoAction sttcl::Region< RegionImpl, RegionContainerImpl, IInnerState, EventArgs, HistoryType, StateThreadType, TimeDurationType, SemaphoreType, MutexType, EventQueueType >::StateDoAction
template<class RegionImpl , class RegionContainerImpl , class IInnerState , class EventArgs = void, CompositeStateHistoryType::Values HistoryType = CompositeStateHistoryType::None, class StateThreadType = sttcl::internal::SttclThread<>, class TimeDurationType = TimeDuration<STTCL_DEFAULT_TIMEDURATIONIMPL>, class SemaphoreType = sttcl::internal::SttclSemaphore<STTCL_DEFAULT_SEMAPHOREIMPL,TimeDurationType>, class MutexType = sttcl::internal::SttclMutex<STTCL_DEFAULT_MUTEXIMPL,TimeDurationType>, class EventQueueType = sttcl::EventQueue<sttcl::internal::DispatchedEvent<RegionContainerImpl,IInnerState,EventArgs>,TimeDurationType,SemaphoreType,MutexType>>
typedef CompositeStateBase::StateImplementationBase sttcl::Region< RegionImpl, RegionContainerImpl, IInnerState, EventArgs, HistoryType, StateThreadType, TimeDurationType, SemaphoreType, MutexType, EventQueueType >::StateImplementationBase
template<class RegionImpl , class RegionContainerImpl , class IInnerState , class EventArgs = void, CompositeStateHistoryType::Values HistoryType = CompositeStateHistoryType::None, class StateThreadType = sttcl::internal::SttclThread<>, class TimeDurationType = TimeDuration<STTCL_DEFAULT_TIMEDURATIONIMPL>, class SemaphoreType = sttcl::internal::SttclSemaphore<STTCL_DEFAULT_SEMAPHOREIMPL,TimeDurationType>, class MutexType = sttcl::internal::SttclMutex<STTCL_DEFAULT_MUTEXIMPL,TimeDurationType>, class EventQueueType = sttcl::EventQueue<sttcl::internal::DispatchedEvent<RegionContainerImpl,IInnerState,EventArgs>,TimeDurationType,SemaphoreType,MutexType>>
typedef CompositeStateBase::StateInterface sttcl::Region< RegionImpl, RegionContainerImpl, IInnerState, EventArgs, HistoryType, StateThreadType, TimeDurationType, SemaphoreType, MutexType, EventQueueType >::StateInterface

Constructor & Destructor Documentation

template<class RegionImpl , class RegionContainerImpl , class IInnerState , class EventArgs = void, CompositeStateHistoryType::Values HistoryType = CompositeStateHistoryType::None, class StateThreadType = sttcl::internal::SttclThread<>, class TimeDurationType = TimeDuration<STTCL_DEFAULT_TIMEDURATIONIMPL>, class SemaphoreType = sttcl::internal::SttclSemaphore<STTCL_DEFAULT_SEMAPHOREIMPL,TimeDurationType>, class MutexType = sttcl::internal::SttclMutex<STTCL_DEFAULT_MUTEXIMPL,TimeDurationType>, class EventQueueType = sttcl::EventQueue<sttcl::internal::DispatchedEvent<RegionContainerImpl,IInnerState,EventArgs>,TimeDurationType,SemaphoreType,MutexType>>
sttcl::Region< RegionImpl, RegionContainerImpl, IInnerState, EventArgs, HistoryType, StateThreadType, TimeDurationType, SemaphoreType, MutexType, EventQueueType >::Region ( RegionContainerImpl *  argRegionContainer,
TimeDurationType  argDoActionFrequency = TimeDurationType::Zero 
)
inline

Constructor for class Region.

Parameters:
argRegionContainer
argDoActionFrequency
template<class RegionImpl , class RegionContainerImpl , class IInnerState , class EventArgs = void, CompositeStateHistoryType::Values HistoryType = CompositeStateHistoryType::None, class StateThreadType = sttcl::internal::SttclThread<>, class TimeDurationType = TimeDuration<STTCL_DEFAULT_TIMEDURATIONIMPL>, class SemaphoreType = sttcl::internal::SttclSemaphore<STTCL_DEFAULT_SEMAPHOREIMPL,TimeDurationType>, class MutexType = sttcl::internal::SttclMutex<STTCL_DEFAULT_MUTEXIMPL,TimeDurationType>, class EventQueueType = sttcl::EventQueue<sttcl::internal::DispatchedEvent<RegionContainerImpl,IInnerState,EventArgs>,TimeDurationType,SemaphoreType,MutexType>>
virtual sttcl::Region< RegionImpl, RegionContainerImpl, IInnerState, EventArgs, HistoryType, StateThreadType, TimeDurationType, SemaphoreType, MutexType, EventQueueType >::~Region ( )
inlinevirtual

Destructor for class Region.


Member Function Documentation

template<class RegionImpl , class RegionContainerImpl , class IInnerState , class EventArgs = void, CompositeStateHistoryType::Values HistoryType = CompositeStateHistoryType::None, class StateThreadType = sttcl::internal::SttclThread<>, class TimeDurationType = TimeDuration<STTCL_DEFAULT_TIMEDURATIONIMPL>, class SemaphoreType = sttcl::internal::SttclSemaphore<STTCL_DEFAULT_SEMAPHOREIMPL,TimeDurationType>, class MutexType = sttcl::internal::SttclMutex<STTCL_DEFAULT_MUTEXIMPL,TimeDurationType>, class EventQueueType = sttcl::EventQueue<sttcl::internal::DispatchedEvent<RegionContainerImpl,IInnerState,EventArgs>,TimeDurationType,SemaphoreType,MutexType>>
void sttcl::Region< RegionImpl, RegionContainerImpl, IInnerState, EventArgs, HistoryType, StateThreadType, TimeDurationType, SemaphoreType, MutexType, EventQueueType >::changeState ( RegionStateBase newState)
inline

Changes the region composite state machine to newState.

Parameters:
newState
template<class RegionImpl , class RegionContainerImpl , class IInnerState , class EventArgs = void, CompositeStateHistoryType::Values HistoryType = CompositeStateHistoryType::None, class StateThreadType = sttcl::internal::SttclThread<>, class TimeDurationType = TimeDuration<STTCL_DEFAULT_TIMEDURATIONIMPL>, class SemaphoreType = sttcl::internal::SttclSemaphore<STTCL_DEFAULT_SEMAPHOREIMPL,TimeDurationType>, class MutexType = sttcl::internal::SttclMutex<STTCL_DEFAULT_MUTEXIMPL,TimeDurationType>, class EventQueueType = sttcl::EventQueue<sttcl::internal::DispatchedEvent<RegionContainerImpl,IInnerState,EventArgs>,TimeDurationType,SemaphoreType,MutexType>>
void sttcl::Region< RegionImpl, RegionContainerImpl, IInnerState, EventArgs, HistoryType, StateThreadType, TimeDurationType, SemaphoreType, MutexType, EventQueueType >::changeStateImpl ( RegionContainerImpl *  context,
IInnerState newState 
)
inline

Default implementation for the changeState() method.

Parameters:
contextA pointer to the containing state machine.
newStateThe new sibling state the containing state machine should change to.
template<class RegionImpl , class RegionContainerImpl , class IInnerState , class EventArgs = void, CompositeStateHistoryType::Values HistoryType = CompositeStateHistoryType::None, class StateThreadType = sttcl::internal::SttclThread<>, class TimeDurationType = TimeDuration<STTCL_DEFAULT_TIMEDURATIONIMPL>, class SemaphoreType = sttcl::internal::SttclSemaphore<STTCL_DEFAULT_SEMAPHOREIMPL,TimeDurationType>, class MutexType = sttcl::internal::SttclMutex<STTCL_DEFAULT_MUTEXIMPL,TimeDurationType>, class EventQueueType = sttcl::EventQueue<sttcl::internal::DispatchedEvent<RegionContainerImpl,IInnerState,EventArgs>,TimeDurationType,SemaphoreType,MutexType>>
void sttcl::Region< RegionImpl, RegionContainerImpl, IInnerState, EventArgs, HistoryType, StateThreadType, TimeDurationType, SemaphoreType, MutexType, EventQueueType >::dispatchInternalEvent ( InternalEventHandler  internalEventHandler,
bool  recursive 
)
inline

Dispatches an internal event to be executed within the context of the internal region thread.

Parameters:
internalEventHandler
recursive
template<class RegionImpl , class RegionContainerImpl , class IInnerState , class EventArgs = void, CompositeStateHistoryType::Values HistoryType = CompositeStateHistoryType::None, class StateThreadType = sttcl::internal::SttclThread<>, class TimeDurationType = TimeDuration<STTCL_DEFAULT_TIMEDURATIONIMPL>, class SemaphoreType = sttcl::internal::SttclSemaphore<STTCL_DEFAULT_SEMAPHOREIMPL,TimeDurationType>, class MutexType = sttcl::internal::SttclMutex<STTCL_DEFAULT_MUTEXIMPL,TimeDurationType>, class EventQueueType = sttcl::EventQueue<sttcl::internal::DispatchedEvent<RegionContainerImpl,IInnerState,EventArgs>,TimeDurationType,SemaphoreType,MutexType>>
bool sttcl::Region< RegionImpl, RegionContainerImpl, IInnerState, EventArgs, HistoryType, StateThreadType, TimeDurationType, SemaphoreType, MutexType, EventQueueType >::endDoActionRequestedImpl ( )
inline
template<class RegionImpl , class RegionContainerImpl , class IInnerState , class EventArgs = void, CompositeStateHistoryType::Values HistoryType = CompositeStateHistoryType::None, class StateThreadType = sttcl::internal::SttclThread<>, class TimeDurationType = TimeDuration<STTCL_DEFAULT_TIMEDURATIONIMPL>, class SemaphoreType = sttcl::internal::SttclSemaphore<STTCL_DEFAULT_SEMAPHOREIMPL,TimeDurationType>, class MutexType = sttcl::internal::SttclMutex<STTCL_DEFAULT_MUTEXIMPL,TimeDurationType>, class EventQueueType = sttcl::EventQueue<sttcl::internal::DispatchedEvent<RegionContainerImpl,IInnerState,EventArgs>,TimeDurationType,SemaphoreType,MutexType>>
void sttcl::Region< RegionImpl, RegionContainerImpl, IInnerState, EventArgs, HistoryType, StateThreadType, TimeDurationType, SemaphoreType, MutexType, EventQueueType >::endDoImpl ( RegionContainerImpl *  context)
inline

Default implementation of the ActiveState::endDo() method.

Parameters:
context
template<class RegionImpl , class RegionContainerImpl , class IInnerState , class EventArgs = void, CompositeStateHistoryType::Values HistoryType = CompositeStateHistoryType::None, class StateThreadType = sttcl::internal::SttclThread<>, class TimeDurationType = TimeDuration<STTCL_DEFAULT_TIMEDURATIONIMPL>, class SemaphoreType = sttcl::internal::SttclSemaphore<STTCL_DEFAULT_SEMAPHOREIMPL,TimeDurationType>, class MutexType = sttcl::internal::SttclMutex<STTCL_DEFAULT_MUTEXIMPL,TimeDurationType>, class EventQueueType = sttcl::EventQueue<sttcl::internal::DispatchedEvent<RegionContainerImpl,IInnerState,EventArgs>,TimeDurationType,SemaphoreType,MutexType>>
void sttcl::Region< RegionImpl, RegionContainerImpl, IInnerState, EventArgs, HistoryType, StateThreadType, TimeDurationType, SemaphoreType, MutexType, EventQueueType >::endingRegionThread ( )
inline

Called when the region thread is stopped.

template<class RegionImpl , class RegionContainerImpl , class IInnerState , class EventArgs = void, CompositeStateHistoryType::Values HistoryType = CompositeStateHistoryType::None, class StateThreadType = sttcl::internal::SttclThread<>, class TimeDurationType = TimeDuration<STTCL_DEFAULT_TIMEDURATIONIMPL>, class SemaphoreType = sttcl::internal::SttclSemaphore<STTCL_DEFAULT_SEMAPHOREIMPL,TimeDurationType>, class MutexType = sttcl::internal::SttclMutex<STTCL_DEFAULT_MUTEXIMPL,TimeDurationType>, class EventQueueType = sttcl::EventQueue<sttcl::internal::DispatchedEvent<RegionContainerImpl,IInnerState,EventArgs>,TimeDurationType,SemaphoreType,MutexType>>
void sttcl::Region< RegionImpl, RegionContainerImpl, IInnerState, EventArgs, HistoryType, StateThreadType, TimeDurationType, SemaphoreType, MutexType, EventQueueType >::entryImpl ( Context context)
inline

Default entry() method implementation.

Parameters:
context
template<class RegionImpl , class RegionContainerImpl , class IInnerState , class EventArgs = void, CompositeStateHistoryType::Values HistoryType = CompositeStateHistoryType::None, class StateThreadType = sttcl::internal::SttclThread<>, class TimeDurationType = TimeDuration<STTCL_DEFAULT_TIMEDURATIONIMPL>, class SemaphoreType = sttcl::internal::SttclSemaphore<STTCL_DEFAULT_SEMAPHOREIMPL,TimeDurationType>, class MutexType = sttcl::internal::SttclMutex<STTCL_DEFAULT_MUTEXIMPL,TimeDurationType>, class EventQueueType = sttcl::EventQueue<sttcl::internal::DispatchedEvent<RegionContainerImpl,IInnerState,EventArgs>,TimeDurationType,SemaphoreType,MutexType>>
void sttcl::Region< RegionImpl, RegionContainerImpl, IInnerState, EventArgs, HistoryType, StateThreadType, TimeDurationType, SemaphoreType, MutexType, EventQueueType >::exitImpl ( Context context)
inline

Default exit() method implementation.

Parameters:
context
template<class RegionImpl , class RegionContainerImpl , class IInnerState , class EventArgs = void, CompositeStateHistoryType::Values HistoryType = CompositeStateHistoryType::None, class StateThreadType = sttcl::internal::SttclThread<>, class TimeDurationType = TimeDuration<STTCL_DEFAULT_TIMEDURATIONIMPL>, class SemaphoreType = sttcl::internal::SttclSemaphore<STTCL_DEFAULT_SEMAPHOREIMPL,TimeDurationType>, class MutexType = sttcl::internal::SttclMutex<STTCL_DEFAULT_MUTEXIMPL,TimeDurationType>, class EventQueueType = sttcl::EventQueue<sttcl::internal::DispatchedEvent<RegionContainerImpl,IInnerState,EventArgs>,TimeDurationType,SemaphoreType,MutexType>>
void sttcl::Region< RegionImpl, RegionContainerImpl, IInnerState, EventArgs, HistoryType, StateThreadType, TimeDurationType, SemaphoreType, MutexType, EventQueueType >::exitingDoActionImpl ( )
inline
template<class RegionImpl , class RegionContainerImpl , class IInnerState , class EventArgs = void, CompositeStateHistoryType::Values HistoryType = CompositeStateHistoryType::None, class StateThreadType = sttcl::internal::SttclThread<>, class TimeDurationType = TimeDuration<STTCL_DEFAULT_TIMEDURATIONIMPL>, class SemaphoreType = sttcl::internal::SttclSemaphore<STTCL_DEFAULT_SEMAPHOREIMPL,TimeDurationType>, class MutexType = sttcl::internal::SttclMutex<STTCL_DEFAULT_MUTEXIMPL,TimeDurationType>, class EventQueueType = sttcl::EventQueue<sttcl::internal::DispatchedEvent<RegionContainerImpl,IInnerState,EventArgs>,TimeDurationType,SemaphoreType,MutexType>>
void sttcl::Region< RegionImpl, RegionContainerImpl, IInnerState, EventArgs, HistoryType, StateThreadType, TimeDurationType, SemaphoreType, MutexType, EventQueueType >::finalizeImpl ( bool  finalizeSubStateMachines)
inline
template<class RegionImpl , class RegionContainerImpl , class IInnerState , class EventArgs = void, CompositeStateHistoryType::Values HistoryType = CompositeStateHistoryType::None, class StateThreadType = sttcl::internal::SttclThread<>, class TimeDurationType = TimeDuration<STTCL_DEFAULT_TIMEDURATIONIMPL>, class SemaphoreType = sttcl::internal::SttclSemaphore<STTCL_DEFAULT_SEMAPHOREIMPL,TimeDurationType>, class MutexType = sttcl::internal::SttclMutex<STTCL_DEFAULT_MUTEXIMPL,TimeDurationType>, class EventQueueType = sttcl::EventQueue<sttcl::internal::DispatchedEvent<RegionContainerImpl,IInnerState,EventArgs>,TimeDurationType,SemaphoreType,MutexType>>
bool sttcl::Region< RegionImpl, RegionContainerImpl, IInnerState, EventArgs, HistoryType, StateThreadType, TimeDurationType, SemaphoreType, MutexType, EventQueueType >::initializeImpl ( bool  force)
inline
template<class RegionImpl , class RegionContainerImpl , class IInnerState , class EventArgs = void, CompositeStateHistoryType::Values HistoryType = CompositeStateHistoryType::None, class StateThreadType = sttcl::internal::SttclThread<>, class TimeDurationType = TimeDuration<STTCL_DEFAULT_TIMEDURATIONIMPL>, class SemaphoreType = sttcl::internal::SttclSemaphore<STTCL_DEFAULT_SEMAPHOREIMPL,TimeDurationType>, class MutexType = sttcl::internal::SttclMutex<STTCL_DEFAULT_MUTEXIMPL,TimeDurationType>, class EventQueueType = sttcl::EventQueue<sttcl::internal::DispatchedEvent<RegionContainerImpl,IInnerState,EventArgs>,TimeDurationType,SemaphoreType,MutexType>>
void sttcl::Region< RegionImpl, RegionContainerImpl, IInnerState, EventArgs, HistoryType, StateThreadType, TimeDurationType, SemaphoreType, MutexType, EventQueueType >::joinDoActionThreadImpl ( )
inline
template<class RegionImpl , class RegionContainerImpl , class IInnerState , class EventArgs = void, CompositeStateHistoryType::Values HistoryType = CompositeStateHistoryType::None, class StateThreadType = sttcl::internal::SttclThread<>, class TimeDurationType = TimeDuration<STTCL_DEFAULT_TIMEDURATIONIMPL>, class SemaphoreType = sttcl::internal::SttclSemaphore<STTCL_DEFAULT_SEMAPHOREIMPL,TimeDurationType>, class MutexType = sttcl::internal::SttclMutex<STTCL_DEFAULT_MUTEXIMPL,TimeDurationType>, class EventQueueType = sttcl::EventQueue<sttcl::internal::DispatchedEvent<RegionContainerImpl,IInnerState,EventArgs>,TimeDurationType,SemaphoreType,MutexType>>
void sttcl::Region< RegionImpl, RegionContainerImpl, IInnerState, EventArgs, HistoryType, StateThreadType, TimeDurationType, SemaphoreType, MutexType, EventQueueType >::startingRegionThread ( )
inline

Called when the region thread is started.

template<class RegionImpl , class RegionContainerImpl , class IInnerState , class EventArgs = void, CompositeStateHistoryType::Values HistoryType = CompositeStateHistoryType::None, class StateThreadType = sttcl::internal::SttclThread<>, class TimeDurationType = TimeDuration<STTCL_DEFAULT_TIMEDURATIONIMPL>, class SemaphoreType = sttcl::internal::SttclSemaphore<STTCL_DEFAULT_SEMAPHOREIMPL,TimeDurationType>, class MutexType = sttcl::internal::SttclMutex<STTCL_DEFAULT_MUTEXIMPL,TimeDurationType>, class EventQueueType = sttcl::EventQueue<sttcl::internal::DispatchedEvent<RegionContainerImpl,IInnerState,EventArgs>,TimeDurationType,SemaphoreType,MutexType>>
void sttcl::Region< RegionImpl, RegionContainerImpl, IInnerState, EventArgs, HistoryType, StateThreadType, TimeDurationType, SemaphoreType, MutexType, EventQueueType >::unblockDoActionImpl ( )
inline

Friends And Related Function Documentation

template<class RegionImpl , class RegionContainerImpl , class IInnerState , class EventArgs = void, CompositeStateHistoryType::Values HistoryType = CompositeStateHistoryType::None, class StateThreadType = sttcl::internal::SttclThread<>, class TimeDurationType = TimeDuration<STTCL_DEFAULT_TIMEDURATIONIMPL>, class SemaphoreType = sttcl::internal::SttclSemaphore<STTCL_DEFAULT_SEMAPHOREIMPL,TimeDurationType>, class MutexType = sttcl::internal::SttclMutex<STTCL_DEFAULT_MUTEXIMPL,TimeDurationType>, class EventQueueType = sttcl::EventQueue<sttcl::internal::DispatchedEvent<RegionContainerImpl,IInnerState,EventArgs>,TimeDurationType,SemaphoreType,MutexType>>
friend class RegionBase< RegionContainerImpl, IInnerState, EventArgs >
friend

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