|
Boost : |
From: Martin Vuille (martin_at_[hidden])
Date: 2008-08-08 07:35:31
The formal review for Andrey Semashev's Finite State Machines (FSM)
library is scheduled for August 11th to 20th.
The documentation (overview and reference) is available online:
http://boost-extension.redshoelace.com/docs/boost/fsm/doc/state_machine.html
http://boost-extension.redshoelace.com/docs/boost/fsm/doc/reference.html
Quoting from the documentation:
"The main goals of the library are:
* Simplicity. It should be very simple to create state machine
using this library.
* Performance. The state machine infrastructure should not be very
time and memory-consuming in order to be applicable in more use
cases.
* Extensibility. A developer may want to add more states to the
existing state machine, and this addition should be relatively
safe since it shouldn't interfere with the existing states. The
developer should also be able to specify additional transitions
and events for the machine with minimum modifications to the
existing code."
"Boost.FSM vs. Boost.Statechart
There is another library in Boost that provides similar functionality:
Boost.Statechart. Although it currently covers almost all major Boost.FSM
features and provides ones that are not supported in this library,
Boost.Statechart is more targeted to creation of big and complex state
machines with possibility of distributed development. But this does not
come at no price and Statechart has little tools for compile-time
programming
and does not provide as much run-time performance as Boost.FSM does. So
there are main guidelines for users to make a decision between Boost.FSM
and Boost.Statechart: [...]"
"The following compilers are known to have problems or most likely
will have ones:
* Microsoft Visual C++ 6.0 and 7.0. Most probably will fail to
compile due to lack of partial template specialization support.
* Borland C++ Builder 5.5.1 (free version). Fails to compile due
to lack of partial template specialization and in-class using
declarations support. Some other minor problems also have been
noticed. Newer versions of the compiler have not been tested.
* OpenWatcom 1.5. Fails to compile due to problems with Boost.MPL
code. Newer versions of the compiler have not been tested.
* SunPro C++ Compiler 5.5 for Solaris (SPARC). Most likely will
show problems with function overload resolution. Newer versions
of the compiler have not been tested."
The current submission is available from the sandbox vault at
http://tinyurl.com/yjozfn (or
http://www.boostpro.com/vault/index.php?action=downloadfile&filename=FSM.zip
&directory=&PHPSESSID=48493076c1ea60ae316f7b60f15b9ed1,
if you prefer.)
MV
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk