CHSM
4.4.1
|
Provides classes for implementing the run-time of the Concurrent Hierarchical State Machine Language System for C++. More...
#include <list>
#include <pthread.h>
Go to the source code of this file.
Classes | |
class | CHSM::cluster |
A cluster is-a CHSM::parent that can have at most one child-state active at any given time. More... | |
class | CHSM::parent::const_iterator |
This is an iterator in "STL style" to iterate over the child states of a parent state. More... | |
class | CHSM::machine::const_iterator |
This is an iterator in "STL style" to iterate over the (direct child) states a machine has. More... | |
class | CHSM::event |
The occurrence of an event ("broadcast") is that which causes transitions in a machine. More... | |
class | CHSM::parent::iterator |
This is an iterator in "STL style" to iterate over the child states of a parent state. More... | |
class | CHSM::machine |
A machine contains an entire Concurrent, Hierarchical, Finite State machine. More... | |
class | CHSM::parent |
A parent is-an abstract state that has child states. More... | |
class | CHSM::set |
A set is-a CHSM::parent that has either all or no child-states active. More... | |
class | CHSM::state |
A state is the simplest kind of state in a machine: it has no child states. More... | |
struct | CHSM::transition |
A transition is a simple struct containing information for a transition from one state to another in a machine. More... | |
Macros | |
#define | CHSM_CLUSTER_ARGS |
Defines the constructor arguments for the CHSM::cluster class. More... | |
#define | CHSM_CLUSTER_INIT |
Defines the base-class constructor argument mem-initializers for the CHSM::cluster class. More... | |
#define | CHSM_EVENT_ARGS |
Defines the constructor arguments for the CHSM::event class. More... | |
#define | CHSM_EVENT_INIT |
Defines the base-class constructor argument mem-initializers for the CHSM::event class. More... | |
#define | CHSM_MACHINE_ARGS |
Defines the constructor arguments for the CHSM::machine class. More... | |
#define | CHSM_MACHINE_INIT |
Defines the base-class constructor argument mem-initializers for the CHSM::machine class. More... | |
#define | CHSM_NS Concurrent_Hierarchical_State_Machine |
Define the long CHSM namespace name. More... | |
#define | CHSM_NS_ALIAS CHSM |
If, for whatever reason, you don't want the long namespace name aliased to a shorter one, define CHSM_NO_ALIAS_NS . More... | |
#define | CHSM_PARENT_ARGS |
Defines the constructor arguments for the CHSM::parent class. More... | |
#define | CHSM_PARENT_INIT |
Defines the base-class constructor argument mem-initializers for the CHSM::parent class. More... | |
#define | CHSM_SET_ARGS |
Defines the constructor arguments for the CHSM::set class. More... | |
#define | CHSM_SET_INIT |
Defines the base-class constructor argument mem-initializers for the CHSM::set class. More... | |
#define | CHSM_STATE_ARGS |
Defines the constructor arguments for the CHSM::state class. More... | |
#define | CHSM_STATE_INIT |
Defines the base-class constructor argument mem-initializers for the CHSM::state class. More... | |
Functions | |
bool | CHSM::operator!= (event const &a, event const &b) |
Compare two events for inequality. More... | |
bool | CHSM::operator== (event const &a, event const &b) |
Compare two events for equality. More... | |
Provides classes for implementing the run-time of the Concurrent Hierarchical State Machine Language System for C++.
#define CHSM_CLUSTER_ARGS |
Defines the constructor arguments for the CHSM::cluster class.
#define CHSM_CLUSTER_INIT |
Defines the base-class constructor argument mem-initializers for the CHSM::cluster class.
#define CHSM_EVENT_ARGS |
Defines the constructor arguments for the CHSM::event class.
#define CHSM_EVENT_INIT |
Defines the base-class constructor argument mem-initializers for the CHSM::event class.
#define CHSM_MACHINE_ARGS |
Defines the constructor arguments for the CHSM::machine class.
#define CHSM_MACHINE_INIT |
Defines the base-class constructor argument mem-initializers for the CHSM::machine class.
#define CHSM_NS Concurrent_Hierarchical_State_Machine |
Define the long CHSM namespace name.
This shouldn't ever conflict with anything. See the end of this file for more on namespaces.
#define CHSM_NS_ALIAS CHSM |
If, for whatever reason, you don't want the long namespace name aliased to a shorter one, define CHSM_NO_ALIAS_NS
.
If you want the short namespace alias name to be something other than "CHSM", define CHSM_NS_ALIAS
to be what you want.
#define CHSM_PARENT_ARGS |
Defines the constructor arguments for the CHSM::parent class.
#define CHSM_PARENT_INIT |
Defines the base-class constructor argument mem-initializers for the CHSM::parent class.
#define CHSM_SET_ARGS |
Defines the constructor arguments for the CHSM::set class.
#define CHSM_SET_INIT |
Defines the base-class constructor argument mem-initializers for the CHSM::set class.
#define CHSM_STATE_ARGS |
Defines the constructor arguments for the CHSM::state class.
#define CHSM_STATE_INIT |
Defines the base-class constructor argument mem-initializers for the CHSM::state class.