Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

From V2.21 to V2.22 (Boost 1.48)

From V2.21 to V2.22 (Boost 1.48)

  • 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.