...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
eUML: added easier event reprocessing:
process(event_)
and reprocess()
Rewrite of internal transition tables. There were a few bugs (failing recursivity in internal transition tables of sub-sub machines) and a missing feature (unused internal transition table of the main state machine).
Bugfixes
Reverted favor_compile_time policy to Boost 1.46 state
none
event now is convertible from any
other event
eUML and pseudo exit states
Fixed not working Flag_AND
Fixed rare bugs causing multiple processing of the same event in a submachine whose transition table contains this event and a base event of it.
gcc warnings about unused variables
Breaking change: the new internal transition table feature causes
a minor breaking change. In a submachine, the "Fsm" template
parameter for guards / actions of an internal table declared using
internal_transition_table
now is the submachine,
not the higher-level state machine. Internal transitions declared
using internal rows in the higher-level state machine keep their
behavior (the "Fsm" parameter is the higher-level state machine). To
sum up, the internal transition "Fsm" parameter is the closest state
machine containing this transition.