25 #ifndef COMPOSITESTATE_H_
26 #define COMPOSITESTATE_H_
63 template<
class InnerStateType>
103 template<
class CompositeStateImpl>
106 if(!compositeState->isReady())
108 compositeState->initialize();
110 InnerStateType* currentState = compositeState->getState();
120 template<
class CompositeStateImpl>
123 InnerStateType* currentState = compositeState->getState();
133 template<
class InnerStateType>
175 template<
class CompositeStateImpl>
185 compositeState->initialize();
187 InnerStateType* currentState = compositeState->getState();
190 currentState->initSubStateMachines(
true);
201 template<
class CompositeStateImpl>
204 InnerStateType* currentState = compositeState->getState();
207 currentState->finalizeSubStateMachines(
true);
220 template<
class InnerStateType>
262 template<
class CompositeStateImpl>
271 compositeState->initialize();
273 InnerStateType* currentState = compositeState->getState();
276 currentState->initSubStateMachines(
false);
287 template<
class CompositeStateImpl>
290 InnerStateType* currentState = compositeState->getState();
293 currentState->finalizeSubStateMachines(
false);
307 template<CompositeStateHistoryType::Values HistoryType,
class InnerStateType>
319 template<
class InnerStateType>
331 template<
class InnerStateType>
351 <
class CompositeStateImpl
352 ,
class StateMachineImpl
359 :
public StateBaseImpl
360 ,
public StateMachineBaseImpl
414 : StateBaseImpl(argDoAction)
441 return static_cast<StateMachineBaseImpl*
>(
this)->
initializeImpl(force);
451 static_cast<StateMachineBaseImpl*
>(
this)->
finalizeImpl(finalizeSubStateMachines);
479 StateMachineBaseImpl::setState(this->
resumeStateHistory(static_cast<CompositeStateImpl*>(
this)));
489 StateMachineBaseImpl::exitCurrentState();
490 StateMachineBaseImpl::setState(this->
finalizeStateHistory(static_cast<CompositeStateImpl*>(
this)));
514 static_cast<StateMachineBaseImpl*
>(
this)->finalize(recursive);
528 if(currentState != static_cast<CompositeStateImpl*>(
this)->getInitialState())
530 StateMachineBaseImpl::initialize(
true);
533 else if(StateMachineBaseImpl::isReady())
537 currentState->initSubStateMachines(recursive);
542 StateMachineBaseImpl::initialize(
true);