The Machine Objects class library allows the creation of state machines based on the "State" design pattern in straight C++. It extends the pattern with the option to create hierarchical state machines, making it possible to convert the popular UML statechart notation to working code in a straightforward way. Other features are entry and exit actions, state histories, and state variables.
| Tags | Software Development Libraries |
|---|---|
| Licenses | MIT/X |
| Implementation | C++ |
Recent releases


Changes: This release adds the feature of backtracking to previous states by using "Snapshots".


Changes: Persistent boxes were introduced. Speed and size optimizations were done. The MSVC6 version has been updated.


Changes: A queuable event type was introduced.


Changes: Code size reduction by minimizing the use of template classes.


Changes: MSVC6 is now supported. The "clearHistoryDeep" method was added to clear the history of state and substates.