Boost logo

Boost :

From: Cromwell Enage (sponage_at_[hidden])
Date: 2007-04-16 18:21:10

With all but one of the tutorials mostly finished, I
should go ahead and announce the existence of my
automata library, a dynamic state machine framework
which you can either use to construct DFAs and DPDAs
or extend to build your own types of automata.

If you haven't done so already, you can download it
from (
is in the Data Structures directory). If you have an
older version, here are some changes:

  * The automaton<> front-end class template used to
require only one template parameter: a Transition
Function. Now, it also needs a Unary Metafunction
Class that positionally comes first and whose return
type is an Automaton Base. The decoupling was done to
allow for cases like a user-defined type instead of
dfa_generator working together with a
matrix_transition_function<>, etc.

  * Visitors/Traits are now Observers.

  * Input-Check Visitors are now Input Validators.

  * Renamed *_ostream_policy<> class templates to
*_insertion_policy<> class templates, to allow for the
use of a Boost.Serialization archive as an Insertion
Target instead of an output stream.

  * Renamed *_check_policy<> class templates to
*_validation_policy<> class templates.

  * builder_from_graph<> now lets you attach Observer
Builders to it.

  * Added an option to enable undo functionality.

  * Removed unnecessary type definitions.

Concept and reference documentation still need tons of
work, but I think the code structure is stable enough
for preliminary testing. Feedback is much
appreciated, especially in the following areas:

  * Tutorials. Are they comprehensive enough? What
other potential use cases deserve attention?
  * Interface. Is it too restrictive? Is it too big?

To all of you who've been testing this library at its
various stages, thank you for your continued interest!

                              Cromwell D. Enage

Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around

Boost list run by bdawes at, gregod at, cpdaniel at, john at