cFSM Class Reference

API: cFSM Class Reference
API
cFSM Class Reference
Inheritance diagram for cFSM:
[legend]

Public Member Functions

Constructors, destructor, assignment.
 cFSM (const char *name=nullptr)
 cFSM (const cFSM &other)
cFSMoperator= (const cFSM &vs)
Redefined cObject member functions.
virtual cFSMdup () const override
virtual std::string str () const override
FSM functions.
int getState () const
const char * getStateName () const
int isInTransientState () const
void setState (int state, const char *stateName=nullptr)
Public Member Functions inherited from cOwnedObject
 cOwnedObject ()
 cOwnedObject (const char *name, bool namepooling=true)
 cOwnedObject (const cOwnedObject &obj)
virtual ~cOwnedObject ()
cOwnedObjectoperator= (const cOwnedObject &o)
virtual cObjectgetOwner () const override
virtual bool isOwnedObject () const override
Public Member Functions inherited from cNamedObject
 cNamedObject ()
 cNamedObject (const char *name, bool namepooling=true)
 cNamedObject (const cNamedObject &obj)
virtual ~cNamedObject ()
cNamedObjectoperator= (const cNamedObject &o)
virtual void setName (const char *s)
virtual const char * getName () const override
virtual void setNamePooling (bool b)
virtual bool getNamePooling ()
Public Member Functions inherited from cObject
 cObject ()
 cObject (const cObject &other)=default
virtual ~cObject ()
virtual const char * getClassName () const
bool isName (const char *s) const
virtual const char * getFullName () const
virtual std::string getFullPath () const
virtual std::string getClassAndFullName () const
virtual std::string getClassAndFullPath () const
const cObjectgetThisPtr () const
virtual std::ostream & printOn (std::ostream &os) const
virtual bool isSoftOwner () const
virtual void forEachChild (cVisitor *v)
cObjectfindObject (const char *name, bool deep=true)
virtual cClassDescriptorgetDescriptor () const
void copyNotSupported () const

Additional Inherited Members

Static Public Member Functions inherited from cOwnedObject
static long getTotalObjectCount ()
static long getLiveObjectCount ()
static void resetObjectCounters ()
static cSoftOwnergetOwningContext ()
Protected Member Functions inherited from cObject
virtual void take (cOwnedObject *obj)
virtual void drop (cOwnedObject *obj)
void dropAndDelete (cOwnedObject *obj)

Description

Store the state of an FSM. This class is used in conjunction with the FSM_Switch() and other FSM_ macros.

See also
FSM_Switch, FSM_Transient, FSM_Steady, FSM_Enter, FSM_Exit, FSM_Goto

Constructor & Destructor Documentation

◆ cFSM() [1/2]

cFSM ( const char * name = nullptr)
explicit

Constructor.

Referenced by cFSM(), dup(), and operator=().

◆ cFSM() [2/2]

cFSM ( const cFSM & other)
inline

Copy constructor.

References cFSM().

Member Function Documentation

◆ operator=()

cFSM & operator= ( const cFSM & vs)

Assignment operator. The name member is not copied; see cOwnedObject's operator=() for more details.

References cFSM().

◆ dup()

virtual cFSM * dup ( ) const
inlineoverridevirtual

Creates and returns an exact copy of this object. See cObject for more details.

Reimplemented from cObject.

References cFSM().

◆ str()

virtual std::string str ( ) const
overridevirtual

Produces a one-line description of the object's contents. See cObject for more details.

Reimplemented from cObject.

◆ getState()

int getState ( ) const
inline

Returns the state the FSM is currently in.

◆ getStateName()

const char * getStateName ( ) const
inline

Returns the name of the state the FSM is currently in.

◆ isInTransientState()

int isInTransientState ( ) const
inline

Returns true if the FSM is currently in a transient state.

◆ setState()

void setState ( int state,
const char * stateName = nullptr )
inline

Sets the state of the FSM. This method is usually invoked through the FSM_Goto() macro.

The first arg is the state code. The second arg is the name of the state. setState() assumes this is pointer to a string literal (the string is not copied, only the pointer is stored).

See also
FSM_Goto