INET Framework for OMNeT++/OMNEST
inet::Macho::_SubstateInstance< S > Class Template Reference

#include <Macho.h>

Inheritance diagram for inet::Macho::_SubstateInstance< S >:
inet::Macho::_StateInstance

Public Types

typedef S::Box Box
 

Public Member Functions

virtual ~_SubstateInstance ()
 
virtual const char * name () override
 
virtual ID id () override
 
virtual Key key () override
 
virtual _StateInstancecreate (_MachineBase &machine, _StateInstance *parent) override
 
virtual void createBox () override
 
virtual void deleteBox () override
 
- Public Member Functions inherited from inet::Macho::_StateInstance
virtual ~_StateInstance ()
 
void entry (_StateInstance &previous, bool first=true)
 
void exit (_StateInstance &next)
 
void init (bool history)
 
void saveHistory (_StateInstance &shallow, _StateInstance &deep)
 
void setHistorySuper (_StateInstance &deep)
 
void shutdown ()
 
void restore (_StateInstance &instance)
 
void setBox (void *box)
 
bool isChild (const _StateInstance &instance)
 
_StateSpecificationspecification ()
 
void * box ()
 
_MachineBasemachine ()
 
void setHistory (_StateInstance *history) const
 
_StateInstancehistory () const
 

Protected Member Functions

 _SubstateInstance (_MachineBase &machine, _StateInstance *parent)
 
- Protected Member Functions inherited from inet::Macho::_StateInstance
 _StateInstance (_MachineBase &machine, _StateInstance *parent)
 

Friends

template<class C , class P >
class MachoLink
 

Additional Inherited Members

- Protected Attributes inherited from inet::Macho::_StateInstance
_MachineBasemyMachine
 
_StateSpecificationmySpecification
 
_StateInstancemyHistory
 
_StateInstancemyParent
 
void * myBox
 
void * myBoxPlace
 

Member Typedef Documentation

◆ Box

template<class S >
typedef S::Box inet::Macho::_SubstateInstance< S >::Box

Constructor & Destructor Documentation

◆ _SubstateInstance()

template<class S >
inet::Macho::_SubstateInstance< S >::_SubstateInstance ( _MachineBase machine,
_StateInstance parent 
)
inlineprotected
880  : _StateInstance(machine, parent)
881  {
882  assert(parent);
883  this->mySpecification = new S(*this);
884  }

◆ ~_SubstateInstance()

template<class S >
virtual inet::Macho::_SubstateInstance< S >::~_SubstateInstance ( )
inlinevirtual
890  {
891  if (this->myBox)
892  Macho::_deleteBox<Box>(myBox, myBoxPlace);
893  }

Member Function Documentation

◆ create()

template<class S >
virtual _StateInstance* inet::Macho::_SubstateInstance< S >::create ( _MachineBase machine,
_StateInstance parent 
)
inlineoverridevirtual

Implements inet::Macho::_StateInstance.

909  {
910  return new _SubstateInstance<S>(machine, parent);
911  }

◆ createBox()

template<class S >
virtual void inet::Macho::_SubstateInstance< S >::createBox ( )
inlineoverridevirtual

Implements inet::Macho::_StateInstance.

914  {
915  if (!this->myBox)
916  this->myBox = Macho::_createBox<Box>(myBoxPlace);
917  }

◆ deleteBox()

template<class S >
virtual void inet::Macho::_SubstateInstance< S >::deleteBox ( )
inlineoverridevirtual

Implements inet::Macho::_StateInstance.

920  {
921  assert(myBox);
922  Macho::_deleteBox<Box>(myBox, myBoxPlace);
923  }

◆ id()

template<class S >
virtual ID inet::Macho::_SubstateInstance< S >::id ( )
inlineoverridevirtual

Implements inet::Macho::_StateInstance.

898  {
899  return StateId<S>::value;
900  }

◆ key()

template<class S >
virtual Key inet::Macho::_SubstateInstance< S >::key ( )
inlineoverridevirtual

Implements inet::Macho::_StateInstance.

903  {
904  return S::key();
905  }

◆ name()

template<class S >
virtual const char* inet::Macho::_SubstateInstance< S >::name ( )
inlineoverridevirtual

Implements inet::Macho::_StateInstance.

895 { return S::_state_name(); }

Friends And Related Function Documentation

◆ MachoLink

template<class S >
template<class C , class P >
friend class MachoLink
friend

The documentation for this class was generated from the following file:
inet::Macho::StateId::value
static const ID value
Definition: Macho.h:701
inet::Macho::_StateInstance::myBox
void * myBox
Definition: Macho.h:827
inet::Macho::_StateInstance::mySpecification
_StateSpecification * mySpecification
Definition: Macho.h:824
inet::units::units::S
compose< A, pow< V, -1 > > S
Definition: Units.h:948
inet::Macho::_StateInstance::machine
_MachineBase & machine()
Definition: Macho.h:806
inet::Macho::_StateInstance::_StateInstance
_StateInstance(_MachineBase &machine, _StateInstance *parent)
Definition: Macho.cc:121
inet::Macho::_StateInstance::myBoxPlace
void * myBoxPlace
Definition: Macho.h:828