...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
(formerly known as boost::fsm)
Welcome to Boost.Statechart, a C++ library for finite state machines. Features include:
Whether and how Boost.Statechart will work on your platform is best determined on the status page. If the cells in your compilers column are all green, the library should work as advertised. Cells of different color indicate possible problems; follow the links for details. Before employing the library I would also advise to run the tests (see Getting started) on your particular platform in all the modes (debug, release, etc.) that are later used during development (the status page shows debug mode results only). The closer the test compiler switches mirror the ones that are later used during development, the less likely are future surprises. An example of such a surprise is Intel 9.0 with MSVC 7.1 base toolset, where DllTestNormal and DllTestNative pass in debug mode but fail in release mode.
PATH
.
Open a command prompt and change the current directory to
boost_1_34_0/libs/statechart/test
. Type
bjam --toolset=your-toolset
(where your-toolset
is one of the names
documented under step 5.2.2 on the Boost Getting Started Page) and hit
CR. After the test run, failures (if any) are indicated at the end of
the output, in the form of a "...failed updating X
targets...
" message. For some platforms certain failures are
expected, see Supported
platforms.
Throughout all Boost.Statechart documentation it is assumed that the reader is familiar with the state machine concept, UML statecharts and most of the UML state machine terminology. The following links might be interesting if this is not the case:
Some of the used terminology cannot be found in the UML specifications, please see Definitions for more information.
Revised 09 April, 2007
Copyright © 2003-2007 Andreas Huber Dönni
Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)