Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r85821 - in trunk/libs/msm/doc: HTML HTML/examples PDF PDF/examples src
From: christophe.j.henry_at_[hidden]
Date: 2013-09-22 06:27:26


Author: chenry
Date: 2013-09-22 06:27:26 EDT (Sun, 22 Sep 2013)
New Revision: 85821
URL: http://svn.boost.org/trac/boost/changeset/85821

Log:
update doc for 1.55

Added:
   trunk/libs/msm/doc/HTML/ch08s09.html (contents, props changed)
Binary files modified:
   trunk/libs/msm/doc/PDF/msm.pdf
Text files modified:
   trunk/libs/msm/doc/HTML/ch03s02.html | 11
   trunk/libs/msm/doc/HTML/ch03s03.html | 3
   trunk/libs/msm/doc/HTML/ch08.html | 8
   trunk/libs/msm/doc/HTML/ch08s02.html | 10
   trunk/libs/msm/doc/HTML/ch08s03.html | 15 -
   trunk/libs/msm/doc/HTML/ch08s04.html | 28 +--
   trunk/libs/msm/doc/HTML/ch08s05.html | 27 ++-
   trunk/libs/msm/doc/HTML/ch08s06.html | 18 +-
   trunk/libs/msm/doc/HTML/ch08s07.html | 17 +
   trunk/libs/msm/doc/HTML/ch08s08.html | 14
   trunk/libs/msm/doc/HTML/ch08s09.html | 9 +
   trunk/libs/msm/doc/HTML/ch09.html | 2
   trunk/libs/msm/doc/HTML/ch10.html | 4
   trunk/libs/msm/doc/HTML/ch11.html | 18 +-
   trunk/libs/msm/doc/HTML/examples/Orthogonal-deferred.cpp | 3
   trunk/libs/msm/doc/HTML/index.html | 4
   trunk/libs/msm/doc/HTML/pt01.html | 2
   trunk/libs/msm/doc/HTML/pt02.html | 4
   trunk/libs/msm/doc/HTML/re01.html | 4
   trunk/libs/msm/doc/HTML/re02.html | 76 +++++-----
   trunk/libs/msm/doc/HTML/re03.html | 285 ++++++++++++++++++++-------------------
   trunk/libs/msm/doc/PDF/examples/Orthogonal-deferred.cpp | 3
   trunk/libs/msm/doc/src/msm.xml | 30 +++
   23 files changed, 312 insertions(+), 283 deletions(-)

Modified: trunk/libs/msm/doc/HTML/ch03s02.html
==============================================================================
--- trunk/libs/msm/doc/HTML/ch03s02.html Sun Sep 22 06:12:20 2013 (r85820)
+++ trunk/libs/msm/doc/HTML/ch03s02.html 2013-09-22 06:27:26 EDT (Sun, 22 Sep 2013) (r85821)
@@ -258,11 +258,12 @@
                         “terminates” (the state machine and all its states stay alive) and all
                         events are ignored. This is of course not mandatory, one can use orthogonal
                         regions without terminate states. MSM also provides a small extension to
- UML, interrupt states. If you declare ErrorMode as interrupt state instead
- of terminate state, the state machine will not handle any event other than
- the one which ends the interrupt. So it's like a terminate state, with the
- difference that you are allowed to resume the state machine when a condition
- (like handling of the original error) is met. </p><p><span class="command"><strong><a name="basic-defer"></a></strong></span>Last but not least, this example also shows
+ UML, interrupt states. If you declare ErrorMode (or a Boost.MPL sequence of
+ events, like boost::mpl::vector&lt;ErrorMode, AnotherEvent&gt;) as interrupt
+ state instead of terminate state, the state machine will not handle any
+ event other than the one which ends the interrupt. So it's like a terminate
+ state, with the difference that you are allowed to resume the state machine
+ when a condition (like handling of the original error) is met. </p><p><span class="command"><strong><a name="basic-defer"></a></strong></span>Last but not least, this example also shows
                         here the handling of event deferring. Let's say someone puts a disc and
                         immediately presses play. The event cannot be handled, yet you'd want it to
                         be handled at a later point and not force the user to press play again. The

Modified: trunk/libs/msm/doc/HTML/ch03s03.html
==============================================================================
--- trunk/libs/msm/doc/HTML/ch03s03.html Sun Sep 22 06:12:20 2013 (r85820)
+++ trunk/libs/msm/doc/HTML/ch03s03.html 2013-09-22 06:27:26 EDT (Sun, 22 Sep 2013) (r85821)
@@ -83,7 +83,8 @@
         ...
     }
 }; // same for Empty_Exit
-struct Empty : public msm::front::euml::func_state&lt;Empty_Entry,Empty_Exit&gt;{};</pre><p>This also means that you can, like in the transition table, write entry /
+struct Empty_tag {};
+struct Empty : public msm::front::euml::func_state&lt;Empty_tag,Empty_Entry,Empty_Exit&gt;{};</pre><p>This also means that you can, like in the transition table, write entry /
                         exit actions made of more complicated action combinations. The previous
                         example can therefore <a class="link" href="examples/SimpleWithFunctors2.cpp" target="_top">be
                             rewritten</a>.</p><p>Usually, however, one will probably use the standard state definition as

Modified: trunk/libs/msm/doc/HTML/ch08.html
==============================================================================
--- trunk/libs/msm/doc/HTML/ch08.html Sun Sep 22 06:12:20 2013 (r85820)
+++ trunk/libs/msm/doc/HTML/ch08.html 2013-09-22 06:27:26 EDT (Sun, 22 Sep 2013) (r85821)
@@ -1,6 +1,6 @@
 <html><head>
       <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
- <title>Chapter&nbsp;8.&nbsp;Version history</title><link rel="stylesheet" href="boostbook.css" type="text/css"><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"><link rel="home" href="index.html" title="Meta State Machine (MSM)"><link rel="up" href="pt01.html" title="Part&nbsp;I.&nbsp;User' guide"><link rel="prev" href="ch07s02.html" title="MSM v1"><link rel="next" href="ch08s02.html" title="From V2.23 to V2.24 (Boost 1.51)"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter&nbsp;8.&nbsp;Version history</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch07s02.html">Prev</a>&nbsp;</td><th width="60%" align="center">Part&nbsp;I.&nbsp;User' guide</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch08s02.html">Next</a></td></tr></table><hr></div><div class="chapter" title="Chapter&nbsp;8.&nbsp;Version history"><d
iv class="titlepage"><div><div><h2 class="title"><a name="d0e3349"></a>Chapter&nbsp;8.&nbsp;Version history</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1">From V2.24 to V2.25 (Boost 1.54)</span></dt><dt><span class="sect1">From V2.23 to V2.24 (Boost 1.51)</span></dt><dt><span class="sect1">From V2.22 to V2.23 (Boost 1.50)</span></dt><dt><span class="sect1">From V2.21 to V2.22 (Boost 1.48)</span></dt><dt><span class="sect1">From V2.20 to V2.21 (Boost 1.47)</span></dt><dt><span class="sect1">From V2.12 to V2.20 (Boost 1.46)</span></dt><dt><span class="sect1">From V2.10 to V2.12 (Boost 1.45)</span></dt><dt><span class="sect1">From V2.0 to V2.12 (Boost 1.44)</span></dt></dl></div><div class="sect1" title="From V2.24 to V2.25 (Boost 1.54)"><div
 class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e3352"></a>From V2.24 to V2.25 (Boost 1.54)</h2></div></div></div><p>
- </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Bugfix: Exit points broken for the favor_compile_time
- policy.</p></li><li class="listitem"><p>Bugfix: copy breaks exit points of subsubmachines.</p></li><li class="listitem"><p>Bugfix: Trac 8046.</p></li></ul></div><p>
- </p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch07s02.html">Prev</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="pt01.html">Up</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch08s02.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top"> MSM v1&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">&nbsp;From V2.23 to V2.24 (Boost 1.51)</td></tr></table></div></body></html>
\ No newline at end of file
+ <title>Chapter&nbsp;8.&nbsp;Version history</title><link rel="stylesheet" href="boostbook.css" type="text/css"><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"><link rel="home" href="index.html" title="Meta State Machine (MSM)"><link rel="up" href="pt01.html" title="Part&nbsp;I.&nbsp;User' guide"><link rel="prev" href="ch07s02.html" title="MSM v1"><link rel="next" href="ch08s02.html" title="From V2.24 to V2.25 (Boost 1.54)"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter&nbsp;8.&nbsp;Version history</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch07s02.html">Prev</a>&nbsp;</td><th width="60%" align="center">Part&nbsp;I.&nbsp;User' guide</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch08s02.html">Next</a></td></tr></table><hr></div><div class="chapter" title="Chapter&nbsp;8.&nbsp;Version history"><d
iv class="titlepage"><div><div><h2 class="title"><a name="d0e3349"></a>Chapter&nbsp;8.&nbsp;Version history</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1">From V2.25 to V2.26 (Boost 1.55)</span></dt><dt><span class="sect1">From V2.24 to V2.25 (Boost 1.54)</span></dt><dt><span class="sect1">From V2.23 to V2.24 (Boost 1.51)</span></dt><dt><span class="sect1">From V2.22 to V2.23 (Boost 1.50)</span></dt><dt><span class="sect1">From V2.21 to V2.22 (Boost 1.48)</span></dt><dt><span class="sect1">From V2.20 to V2.21 (Boost 1.47)</span></dt><dt><span class="sect1">From V2.12 to V2.20 (Boost 1.46)</span></dt><dt><span class="sect1">From V2.10 to V2.12 (Boost 1.45)</span></dt><dt><span class="sect1"><a href="ch08s09.html">From V2.0 to V2.12 (Boost 1
.44)</a></span></dt></dl></div><div class="sect1" title="From V2.25 to V2.26 (Boost 1.55)"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e3352"></a>From V2.25 to V2.26 (Boost 1.55)</h2></div></div></div><p>
+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>New feature: interrupt states now support a sequence of events to
+ end the interruption</p></li><li class="listitem"><p>Bugfix: Trac 8686.</p></li></ul></div><p>
+ </p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch07s02.html">Prev</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="pt01.html">Up</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch08s02.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top"> MSM v1&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">&nbsp;From V2.24 to V2.25 (Boost 1.54)</td></tr></table></div></body></html>
\ No newline at end of file

Modified: trunk/libs/msm/doc/HTML/ch08s02.html
==============================================================================
--- trunk/libs/msm/doc/HTML/ch08s02.html Sun Sep 22 06:12:20 2013 (r85820)
+++ trunk/libs/msm/doc/HTML/ch08s02.html 2013-09-22 06:27:26 EDT (Sun, 22 Sep 2013) (r85821)
@@ -1,8 +1,6 @@
 <html><head>
       <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
- <title>From V2.23 to V2.24 (Boost 1.51)</title><link rel="stylesheet" href="boostbook.css" type="text/css"><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"><link rel="home" href="index.html" title="Meta State Machine (MSM)"><link rel="up" href="ch08.html" title="Chapter&nbsp;8.&nbsp;Version history"><link rel="prev" href="ch08.html" title="Chapter&nbsp;8.&nbsp;Version history"><link rel="next" href="ch08s03.html" title="From V2.22 to V2.23 (Boost 1.50)"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">From V2.23 to V2.24 (Boost 1.51)</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch08.html">Prev</a>&nbsp;</td><th width="60%" align="center">Chapter&nbsp;8.&nbsp;Version history</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch08s03.html">Next</a></td></tr></table><hr></div><div class="sect1" title="From V2.23 t
o V2.24 (Boost 1.51)"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e3368"></a>From V2.23 to V2.24 (Boost 1.51)</h2></div></div></div><p>
- </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p> Support for <span class="command"><strong><a class="command" href="ch03s03.html#any-event">boost::any</a></strong></span>
- or <span class="command"><strong><a class="command" href="ch03s04.html#kleene-event">kleene</a></strong></span> as an
- acceptable event.</p></li><li class="listitem"><p>Bugfix: compiler error with fsm internal table and
- <code class="code">none</code>(compound) event.</p></li><li class="listitem"><p>Bugfix: <code class="code">euml::defer_</code> leading to stack overflow.</p></li></ul></div><p>
- </p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch08.html">Prev</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ch08.html">Up</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch08s03.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter&nbsp;8.&nbsp;Version history&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">&nbsp;From V2.22 to V2.23 (Boost 1.50)</td></tr></table></div></body></html>
\ No newline at end of file
+ <title>From V2.24 to V2.25 (Boost 1.54)</title><link rel="stylesheet" href="boostbook.css" type="text/css"><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"><link rel="home" href="index.html" title="Meta State Machine (MSM)"><link rel="up" href="ch08.html" title="Chapter&nbsp;8.&nbsp;Version history"><link rel="prev" href="ch08.html" title="Chapter&nbsp;8.&nbsp;Version history"><link rel="next" href="ch08s03.html" title="From V2.23 to V2.24 (Boost 1.51)"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">From V2.24 to V2.25 (Boost 1.54)</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch08.html">Prev</a>&nbsp;</td><th width="60%" align="center">Chapter&nbsp;8.&nbsp;Version history</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch08s03.html">Next</a></td></tr></table><hr></div><div class="sect1" title="From V2.24 t
o V2.25 (Boost 1.54)"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e3365"></a>From V2.24 to V2.25 (Boost 1.54)</h2></div></div></div><p>
+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Bugfix: Exit points broken for the favor_compile_time
+ policy.</p></li><li class="listitem"><p>Bugfix: copy breaks exit points of subsubmachines.</p></li><li class="listitem"><p>Bugfix: Trac 8046.</p></li></ul></div><p>
+ </p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch08.html">Prev</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ch08.html">Up</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch08s03.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter&nbsp;8.&nbsp;Version history&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">&nbsp;From V2.23 to V2.24 (Boost 1.51)</td></tr></table></div></body></html>
\ No newline at end of file

Modified: trunk/libs/msm/doc/HTML/ch08s03.html
==============================================================================
--- trunk/libs/msm/doc/HTML/ch08s03.html Sun Sep 22 06:12:20 2013 (r85820)
+++ trunk/libs/msm/doc/HTML/ch08s03.html 2013-09-22 06:27:26 EDT (Sun, 22 Sep 2013) (r85821)
@@ -1,11 +1,8 @@
 <html><head>
       <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
- <title>From V2.22 to V2.23 (Boost 1.50)</title><link rel="stylesheet" href="boostbook.css" type="text/css"><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"><link rel="home" href="index.html" title="Meta State Machine (MSM)"><link rel="up" href="ch08.html" title="Chapter&nbsp;8.&nbsp;Version history"><link rel="prev" href="ch08s02.html" title="From V2.23 to V2.24 (Boost 1.51)"><link rel="next" href="ch08s04.html" title="From V2.21 to V2.22 (Boost 1.48)"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">From V2.22 to V2.23 (Boost 1.50)</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch08s02.html">Prev</a>&nbsp;</td><th width="60%" align="center">Chapter&nbsp;8.&nbsp;Version history</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch08s04.html">Next</a></td></tr></table><hr></div><div class="sect1" title="From V2.22
 to V2.23 (Boost 1.50)"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e3396"></a>From V2.22 to V2.23 (Boost 1.50)</h2></div></div></div><p>
- </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p> <span class="command"><strong><a class="command" href="ch03s04.html#eUML-composite-table">eUML</a></strong></span> : better syntax
- for front-ends defined with eUML as transititon table only. Caution:
- Breaking Change!</p></li><li class="listitem"><p>Bugfix: graph building was only working if
- <code class="code">initial_state</code> defined as a sequence</p></li><li class="listitem"><p>Bugfix: flags defined for a Terminate or Interrupt state do not
- break the blocking function of these states any more.</p></li><li class="listitem"><p>Bugfix: multiple deferred events from several regions were not
- working in every case.</p></li><li class="listitem"><p>Bugfix: visitor was passed by value to submachines.</p></li><li class="listitem"><p>Bugfix: <code class="code">no_transition</code> was not called for submachines who send an
- event to themselves.</p></li><li class="listitem"><p>Fixed warnings with gcc</p></li></ul></div><p>
- </p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch08s02.html">Prev</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ch08.html">Up</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch08s04.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">From V2.23 to V2.24 (Boost 1.51)&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">&nbsp;From V2.21 to V2.22 (Boost 1.48)</td></tr></table></div></body></html>
\ No newline at end of file
+ <title>From V2.23 to V2.24 (Boost 1.51)</title><link rel="stylesheet" href="boostbook.css" type="text/css"><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"><link rel="home" href="index.html" title="Meta State Machine (MSM)"><link rel="up" href="ch08.html" title="Chapter&nbsp;8.&nbsp;Version history"><link rel="prev" href="ch08s02.html" title="From V2.24 to V2.25 (Boost 1.54)"><link rel="next" href="ch08s04.html" title="From V2.22 to V2.23 (Boost 1.50)"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">From V2.23 to V2.24 (Boost 1.51)</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch08s02.html">Prev</a>&nbsp;</td><th width="60%" align="center">Chapter&nbsp;8.&nbsp;Version history</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch08s04.html">Next</a></td></tr></table><hr></div><div class="sect1" title="From V2.23
 to V2.24 (Boost 1.51)"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e3381"></a>From V2.23 to V2.24 (Boost 1.51)</h2></div></div></div><p>
+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p> Support for <span class="command"><strong><a class="command" href="ch03s03.html#any-event">boost::any</a></strong></span>
+ or <span class="command"><strong><a class="command" href="ch03s04.html#kleene-event">kleene</a></strong></span> as an
+ acceptable event.</p></li><li class="listitem"><p>Bugfix: compiler error with fsm internal table and
+ <code class="code">none</code>(compound) event.</p></li><li class="listitem"><p>Bugfix: <code class="code">euml::defer_</code> leading to stack overflow.</p></li></ul></div><p>
+ </p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch08s02.html">Prev</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ch08.html">Up</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch08s04.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">From V2.24 to V2.25 (Boost 1.54)&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">&nbsp;From V2.22 to V2.23 (Boost 1.50)</td></tr></table></div></body></html>
\ No newline at end of file

Modified: trunk/libs/msm/doc/HTML/ch08s04.html
==============================================================================
--- trunk/libs/msm/doc/HTML/ch08s04.html Sun Sep 22 06:12:20 2013 (r85820)
+++ trunk/libs/msm/doc/HTML/ch08s04.html 2013-09-22 06:27:26 EDT (Sun, 22 Sep 2013) (r85821)
@@ -1,21 +1,11 @@
 <html><head>
       <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
- <title>From V2.21 to V2.22 (Boost 1.48)</title><link rel="stylesheet" href="boostbook.css" type="text/css"><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"><link rel="home" href="index.html" title="Meta State Machine (MSM)"><link rel="up" href="ch08.html" title="Chapter&nbsp;8.&nbsp;Version history"><link rel="prev" href="ch08s03.html" title="From V2.22 to V2.23 (Boost 1.50)"><link rel="next" href="ch08s05.html" title="From V2.20 to V2.21 (Boost 1.47)"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">From V2.21 to V2.22 (Boost 1.48)</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch08s03.html">Prev</a>&nbsp;</td><th width="60%" align="center">Chapter&nbsp;8.&nbsp;Version history</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch08s05.html">Next</a></td></tr></table><hr></div><div class="sect1" title="From V2.21
 to V2.22 (Boost 1.48)"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e3433"></a>From V2.21 to V2.22 (Boost 1.48)</h2></div></div></div><p>
- </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>eUML: added easier event reprocessing:
- <code class="code">process(event_)</code> and <code class="code">reprocess()</code></p></li><li class="listitem"><p>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).</p></li><li class="listitem"><p>Bugfixes</p><div class="itemizedlist"><ul class="itemizedlist" type="circle"><li class="listitem"><p>Reverted favor_compile_time policy to Boost 1.46
- state</p></li><li class="listitem"><p><code class="code">none</code> event now is convertible from any
- other event </p></li><li class="listitem"><p>eUML and pseudo exit states</p></li><li class="listitem"><p>Fixed not working Flag_AND</p></li><li class="listitem"><p>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.</p></li><li class="listitem"><p>gcc warnings about unused variables</p></li></ul></div></li><li class="listitem"><p>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
- <code class="code">internal_transition_table</code> 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.</p></li></ul></div><p>
- </p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch08s03.html">Prev</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ch08.html">Up</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch08s05.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">From V2.22 to V2.23 (Boost 1.50)&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">&nbsp;From V2.20 to V2.21 (Boost 1.47)</td></tr></table></div></body></html>
\ No newline at end of file
+ <title>From V2.22 to V2.23 (Boost 1.50)</title><link rel="stylesheet" href="boostbook.css" type="text/css"><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"><link rel="home" href="index.html" title="Meta State Machine (MSM)"><link rel="up" href="ch08.html" title="Chapter&nbsp;8.&nbsp;Version history"><link rel="prev" href="ch08s03.html" title="From V2.23 to V2.24 (Boost 1.51)"><link rel="next" href="ch08s05.html" title="From V2.21 to V2.22 (Boost 1.48)"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">From V2.22 to V2.23 (Boost 1.50)</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch08s03.html">Prev</a>&nbsp;</td><th width="60%" align="center">Chapter&nbsp;8.&nbsp;Version history</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch08s05.html">Next</a></td></tr></table><hr></div><div class="sect1" title="From V2.22
 to V2.23 (Boost 1.50)"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e3409"></a>From V2.22 to V2.23 (Boost 1.50)</h2></div></div></div><p>
+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p> <span class="command"><strong><a class="command" href="ch03s04.html#eUML-composite-table">eUML</a></strong></span> : better syntax
+ for front-ends defined with eUML as transititon table only. Caution:
+ Breaking Change!</p></li><li class="listitem"><p>Bugfix: graph building was only working if
+ <code class="code">initial_state</code> defined as a sequence</p></li><li class="listitem"><p>Bugfix: flags defined for a Terminate or Interrupt state do not
+ break the blocking function of these states any more.</p></li><li class="listitem"><p>Bugfix: multiple deferred events from several regions were not
+ working in every case.</p></li><li class="listitem"><p>Bugfix: visitor was passed by value to submachines.</p></li><li class="listitem"><p>Bugfix: <code class="code">no_transition</code> was not called for submachines who send an
+ event to themselves.</p></li><li class="listitem"><p>Fixed warnings with gcc</p></li></ul></div><p>
+ </p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch08s03.html">Prev</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ch08.html">Up</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch08s05.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">From V2.23 to V2.24 (Boost 1.51)&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">&nbsp;From V2.21 to V2.22 (Boost 1.48)</td></tr></table></div></body></html>
\ No newline at end of file

Modified: trunk/libs/msm/doc/HTML/ch08s05.html
==============================================================================
--- trunk/libs/msm/doc/HTML/ch08s05.html Sun Sep 22 06:12:20 2013 (r85820)
+++ trunk/libs/msm/doc/HTML/ch08s05.html 2013-09-22 06:27:26 EDT (Sun, 22 Sep 2013) (r85821)
@@ -1,10 +1,21 @@
 <html><head>
       <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
- <title>From V2.20 to V2.21 (Boost 1.47)</title><link rel="stylesheet" href="boostbook.css" type="text/css"><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"><link rel="home" href="index.html" title="Meta State Machine (MSM)"><link rel="up" href="ch08.html" title="Chapter&nbsp;8.&nbsp;Version history"><link rel="prev" href="ch08s04.html" title="From V2.21 to V2.22 (Boost 1.48)"><link rel="next" href="ch08s06.html" title="From V2.12 to V2.20 (Boost 1.46)"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">From V2.20 to V2.21 (Boost 1.47)</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch08s04.html">Prev</a>&nbsp;</td><th width="60%" align="center">Chapter&nbsp;8.&nbsp;Version history</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch08s06.html">Next</a></td></tr></table><hr></div><div class="sect1" title="From V2.20
 to V2.21 (Boost 1.47)"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e3481"></a>From V2.20 to V2.21 (Boost 1.47)</h2></div></div></div><p>
- </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Added a <span class="command"><strong><a class="command" href="ch03s05.html#backend-start">stop()</a></strong></span>
- method in the back-end.</p></li><li class="listitem"><p><span class="command"><strong><a class="command" href="ch03s04.html#eUML-phoenix">Added partial support for
- Boost.Phoenix functors in eUML</a></strong></span></p></li><li class="listitem"><p>Added the possibility to choose when <span class="command"><strong><a class="command" href="ch03s05.html#backend-state-switch">state switching</a></strong></span>
- occurs.</p></li><li class="listitem"><p>Bugfixes</p><div class="itemizedlist"><ul class="itemizedlist" type="circle"><li class="listitem"><p>Trac 5117, 5253, 5533, 5573</p></li><li class="listitem"><p>gcc warnings about unused variables</p></li><li class="listitem"><p>better implemenation of favor_compile_time back-end
- policy</p></li><li class="listitem"><p>bug with eUML and state construction</p></li><li class="listitem"><p>incorrect eUML event and state macros</p></li><li class="listitem"><p>incorrect event type passed to a direct entry state's
- on_entry action</p></li><li class="listitem"><p>more examples</p></li></ul></div></li></ul></div><p>
- </p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch08s04.html">Prev</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ch08.html">Up</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch08s06.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">From V2.21 to V2.22 (Boost 1.48)&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">&nbsp;From V2.12 to V2.20 (Boost 1.46)</td></tr></table></div></body></html>
\ No newline at end of file
+ <title>From V2.21 to V2.22 (Boost 1.48)</title><link rel="stylesheet" href="boostbook.css" type="text/css"><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"><link rel="home" href="index.html" title="Meta State Machine (MSM)"><link rel="up" href="ch08.html" title="Chapter&nbsp;8.&nbsp;Version history"><link rel="prev" href="ch08s04.html" title="From V2.22 to V2.23 (Boost 1.50)"><link rel="next" href="ch08s06.html" title="From V2.20 to V2.21 (Boost 1.47)"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">From V2.21 to V2.22 (Boost 1.48)</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch08s04.html">Prev</a>&nbsp;</td><th width="60%" align="center">Chapter&nbsp;8.&nbsp;Version history</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch08s06.html">Next</a></td></tr></table><hr></div><div class="sect1" title="From V2.21
 to V2.22 (Boost 1.48)"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e3446"></a>From V2.21 to V2.22 (Boost 1.48)</h2></div></div></div><p>
+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>eUML: added easier event reprocessing:
+ <code class="code">process(event_)</code> and <code class="code">reprocess()</code></p></li><li class="listitem"><p>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).</p></li><li class="listitem"><p>Bugfixes</p><div class="itemizedlist"><ul class="itemizedlist" type="circle"><li class="listitem"><p>Reverted favor_compile_time policy to Boost 1.46
+ state</p></li><li class="listitem"><p><code class="code">none</code> event now is convertible from any
+ other event </p></li><li class="listitem"><p>eUML and pseudo exit states</p></li><li class="listitem"><p>Fixed not working Flag_AND</p></li><li class="listitem"><p>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.</p></li><li class="listitem"><p>gcc warnings about unused variables</p></li></ul></div></li><li class="listitem"><p>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
+ <code class="code">internal_transition_table</code> 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.</p></li></ul></div><p>
+ </p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch08s04.html">Prev</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ch08.html">Up</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch08s06.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">From V2.22 to V2.23 (Boost 1.50)&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">&nbsp;From V2.20 to V2.21 (Boost 1.47)</td></tr></table></div></body></html>
\ No newline at end of file

Modified: trunk/libs/msm/doc/HTML/ch08s06.html
==============================================================================
--- trunk/libs/msm/doc/HTML/ch08s06.html Sun Sep 22 06:12:20 2013 (r85820)
+++ trunk/libs/msm/doc/HTML/ch08s06.html 2013-09-22 06:27:26 EDT (Sun, 22 Sep 2013) (r85821)
@@ -1,12 +1,10 @@
 <html><head>
       <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
- <title>From V2.12 to V2.20 (Boost 1.46)</title><link rel="stylesheet" href="boostbook.css" type="text/css"><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"><link rel="home" href="index.html" title="Meta State Machine (MSM)"><link rel="up" href="ch08.html" title="Chapter&nbsp;8.&nbsp;Version history"><link rel="prev" href="ch08s05.html" title="From V2.20 to V2.21 (Boost 1.47)"><link rel="next" href="ch08s07.html" title="From V2.10 to V2.12 (Boost 1.45)"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">From V2.12 to V2.20 (Boost 1.46)</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch08s05.html">Prev</a>&nbsp;</td><th width="60%" align="center">Chapter&nbsp;8.&nbsp;Version history</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch08s07.html">Next</a></td></tr></table><hr></div><div class="sect1" title="From V2.12
 to V2.20 (Boost 1.46)"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e3529"></a>From V2.12 to V2.20 (Boost 1.46)</h2></div></div></div><p>
- </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Compile-time state machine analysis using mpl_graph:</p><div class="itemizedlist"><ul class="itemizedlist" type="circle"><li class="listitem"><p><span class="command"><strong><a class="command" href="ch03s05.html#backend-compile-time-analysis">checking of region orthogonality</a></strong></span>.</p></li><li class="listitem"><p><span class="command"><strong><a class="command" href="ch03s05.html#backend-compile-time-analysis">search for unreachable states</a></strong></span>.</p></li><li class="listitem"><p><span class="command"><strong><a class="command" href="ch03s02.html#explicit-entry-no-region-id">automatic region index search for pseudo entry or explicit
- entry states</a></strong></span>.</p></li></ul></div></li><li class="listitem"><p><span class="command"><strong><a class="command" href="ch03s05.html#backend-boost-parameter">Boost.Parameter interface definition</a></strong></span> for
- msm::back::state_machine&lt;&gt; template arguments.</p></li><li class="listitem"><p><span class="command"><strong><a class="command" href="ch03s05.html#backend-queues">Possibility to provide a
- container</a></strong></span> for the event and deferred event queues. A
- policy implementation based on a more efficient Boost.CircularBuffer
- is provided.</p></li><li class="listitem"><p>msm::back::state_machine&lt;&gt;::is_flag_active method made
- const.</p></li><li class="listitem"><p>added possibility to <span class="command"><strong><a class="command" href="ch03s05.html#backend-enqueueing">enqueue events</a></strong></span> for delayed processing.</p></li><li class="listitem"><p>Bugfixes</p><div class="itemizedlist"><ul class="itemizedlist" type="circle"><li class="listitem"><p>Trac 4926</p></li><li class="listitem"><p>stack overflow using the Defer functor</p></li><li class="listitem"><p>anonymous transition of a submachine not called for
- the initial state</p></li></ul></div></li></ul></div><p>
- </p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch08s05.html">Prev</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ch08.html">Up</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch08s07.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">From V2.20 to V2.21 (Boost 1.47)&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">&nbsp;From V2.10 to V2.12 (Boost 1.45)</td></tr></table></div></body></html>
\ No newline at end of file
+ <title>From V2.20 to V2.21 (Boost 1.47)</title><link rel="stylesheet" href="boostbook.css" type="text/css"><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"><link rel="home" href="index.html" title="Meta State Machine (MSM)"><link rel="up" href="ch08.html" title="Chapter&nbsp;8.&nbsp;Version history"><link rel="prev" href="ch08s05.html" title="From V2.21 to V2.22 (Boost 1.48)"><link rel="next" href="ch08s07.html" title="From V2.12 to V2.20 (Boost 1.46)"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">From V2.20 to V2.21 (Boost 1.47)</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch08s05.html">Prev</a>&nbsp;</td><th width="60%" align="center">Chapter&nbsp;8.&nbsp;Version history</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch08s07.html">Next</a></td></tr></table><hr></div><div class="sect1" title="From V2.20
 to V2.21 (Boost 1.47)"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e3494"></a>From V2.20 to V2.21 (Boost 1.47)</h2></div></div></div><p>
+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Added a <span class="command"><strong><a class="command" href="ch03s05.html#backend-start">stop()</a></strong></span>
+ method in the back-end.</p></li><li class="listitem"><p><span class="command"><strong><a class="command" href="ch03s04.html#eUML-phoenix">Added partial support for
+ Boost.Phoenix functors in eUML</a></strong></span></p></li><li class="listitem"><p>Added the possibility to choose when <span class="command"><strong><a class="command" href="ch03s05.html#backend-state-switch">state switching</a></strong></span>
+ occurs.</p></li><li class="listitem"><p>Bugfixes</p><div class="itemizedlist"><ul class="itemizedlist" type="circle"><li class="listitem"><p>Trac 5117, 5253, 5533, 5573</p></li><li class="listitem"><p>gcc warnings about unused variables</p></li><li class="listitem"><p>better implemenation of favor_compile_time back-end
+ policy</p></li><li class="listitem"><p>bug with eUML and state construction</p></li><li class="listitem"><p>incorrect eUML event and state macros</p></li><li class="listitem"><p>incorrect event type passed to a direct entry state's
+ on_entry action</p></li><li class="listitem"><p>more examples</p></li></ul></div></li></ul></div><p>
+ </p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch08s05.html">Prev</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ch08.html">Up</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch08s07.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">From V2.21 to V2.22 (Boost 1.48)&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">&nbsp;From V2.12 to V2.20 (Boost 1.46)</td></tr></table></div></body></html>
\ No newline at end of file

Modified: trunk/libs/msm/doc/HTML/ch08s07.html
==============================================================================
--- trunk/libs/msm/doc/HTML/ch08s07.html Sun Sep 22 06:12:20 2013 (r85820)
+++ trunk/libs/msm/doc/HTML/ch08s07.html 2013-09-22 06:27:26 EDT (Sun, 22 Sep 2013) (r85821)
@@ -1,9 +1,12 @@
 <html><head>
       <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
- <title>From V2.10 to V2.12 (Boost 1.45)</title><link rel="stylesheet" href="boostbook.css" type="text/css"><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"><link rel="home" href="index.html" title="Meta State Machine (MSM)"><link rel="up" href="ch08.html" title="Chapter&nbsp;8.&nbsp;Version history"><link rel="prev" href="ch08s06.html" title="From V2.12 to V2.20 (Boost 1.46)"><link rel="next" href="ch08s08.html" title="From V2.0 to V2.12 (Boost 1.44)"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">From V2.10 to V2.12 (Boost 1.45)</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch08s06.html">Prev</a>&nbsp;</td><th width="60%" align="center">Chapter&nbsp;8.&nbsp;Version history</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch08s08.html">Next</a></td></tr></table><hr></div><div class="sect1" title="From V2.10
 to V2.12 (Boost 1.45)"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e3587"></a>From V2.10 to V2.12 (Boost 1.45)</h2></div></div></div><p>
- </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Support for <span class="command"><strong><a class="command" href="ch03s05.html#back-end-serialization">serialization</a></strong></span></p></li><li class="listitem"><p><span class="command"><strong><a class="command" href="ch03s04.html#eUML-reuse-functor">Possibility to use
- normal functors</a></strong></span> (from functor front-end) in
- eUML.</p></li><li class="listitem"><p><span class="command"><strong><a class="command" href="ch03s05.html#backend-fsm-constructor-args">New constructors</a></strong></span> where substates / submachines can be taken as
- arguments. This allows passing arguments to the constructor of a
- submachine.</p></li><li class="listitem"><p>Bugfixes</p></li></ul></div><p>
- </p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch08s06.html">Prev</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ch08.html">Up</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch08s08.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">From V2.12 to V2.20 (Boost 1.46)&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">&nbsp;From V2.0 to V2.12 (Boost 1.44)</td></tr></table></div></body></html>
\ No newline at end of file
+ <title>From V2.12 to V2.20 (Boost 1.46)</title><link rel="stylesheet" href="boostbook.css" type="text/css"><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"><link rel="home" href="index.html" title="Meta State Machine (MSM)"><link rel="up" href="ch08.html" title="Chapter&nbsp;8.&nbsp;Version history"><link rel="prev" href="ch08s06.html" title="From V2.20 to V2.21 (Boost 1.47)"><link rel="next" href="ch08s08.html" title="From V2.10 to V2.12 (Boost 1.45)"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">From V2.12 to V2.20 (Boost 1.46)</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch08s06.html">Prev</a>&nbsp;</td><th width="60%" align="center">Chapter&nbsp;8.&nbsp;Version history</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch08s08.html">Next</a></td></tr></table><hr></div><div class="sect1" title="From V2.12
 to V2.20 (Boost 1.46)"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e3542"></a>From V2.12 to V2.20 (Boost 1.46)</h2></div></div></div><p>
+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Compile-time state machine analysis using mpl_graph:</p><div class="itemizedlist"><ul class="itemizedlist" type="circle"><li class="listitem"><p><span class="command"><strong><a class="command" href="ch03s05.html#backend-compile-time-analysis">checking of region orthogonality</a></strong></span>.</p></li><li class="listitem"><p><span class="command"><strong><a class="command" href="ch03s05.html#backend-compile-time-analysis">search for unreachable states</a></strong></span>.</p></li><li class="listitem"><p><span class="command"><strong><a class="command" href="ch03s02.html#explicit-entry-no-region-id">automatic region index search for pseudo entry or explicit
+ entry states</a></strong></span>.</p></li></ul></div></li><li class="listitem"><p><span class="command"><strong><a class="command" href="ch03s05.html#backend-boost-parameter">Boost.Parameter interface definition</a></strong></span> for
+ msm::back::state_machine&lt;&gt; template arguments.</p></li><li class="listitem"><p><span class="command"><strong><a class="command" href="ch03s05.html#backend-queues">Possibility to provide a
+ container</a></strong></span> for the event and deferred event queues. A
+ policy implementation based on a more efficient Boost.CircularBuffer
+ is provided.</p></li><li class="listitem"><p>msm::back::state_machine&lt;&gt;::is_flag_active method made
+ const.</p></li><li class="listitem"><p>added possibility to <span class="command"><strong><a class="command" href="ch03s05.html#backend-enqueueing">enqueue events</a></strong></span> for delayed processing.</p></li><li class="listitem"><p>Bugfixes</p><div class="itemizedlist"><ul class="itemizedlist" type="circle"><li class="listitem"><p>Trac 4926</p></li><li class="listitem"><p>stack overflow using the Defer functor</p></li><li class="listitem"><p>anonymous transition of a submachine not called for
+ the initial state</p></li></ul></div></li></ul></div><p>
+ </p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch08s06.html">Prev</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ch08.html">Up</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch08s08.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">From V2.20 to V2.21 (Boost 1.47)&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">&nbsp;From V2.10 to V2.12 (Boost 1.45)</td></tr></table></div></body></html>
\ No newline at end of file

Modified: trunk/libs/msm/doc/HTML/ch08s08.html
==============================================================================
--- trunk/libs/msm/doc/HTML/ch08s08.html Sun Sep 22 06:12:20 2013 (r85820)
+++ trunk/libs/msm/doc/HTML/ch08s08.html 2013-09-22 06:27:26 EDT (Sun, 22 Sep 2013) (r85821)
@@ -1,9 +1,9 @@
 <html><head>
       <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
- <title>From V2.0 to V2.12 (Boost 1.44)</title><link rel="stylesheet" href="boostbook.css" type="text/css"><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"><link rel="home" href="index.html" title="Meta State Machine (MSM)"><link rel="up" href="ch08.html" title="Chapter&nbsp;8.&nbsp;Version history"><link rel="prev" href="ch08s07.html" title="From V2.10 to V2.12 (Boost 1.45)"><link rel="next" href="pt02.html" title="Part&nbsp;II.&nbsp;Reference"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">From V2.0 to V2.12 (Boost 1.44)</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch08s07.html">Prev</a>&nbsp;</td><th width="60%" align="center">Chapter&nbsp;8.&nbsp;Version history</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="pt02.html">Next</a></td></tr></table><hr></div><div class="sect1" title="From V2.0 to V2.12 (B
oost 1.44)"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e3612"></a>From V2.0 to V2.12 (Boost 1.44)</h2></div></div></div><p>
- </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>New documentation</p></li><li class="listitem"><p>Internal transitions. Either as part of the transition table or
- using a state's internal transition table</p></li><li class="listitem"><p>increased dispatch and copy speed</p></li><li class="listitem"><p><span class="command"><strong><a class="command" href="ch03s02.html#basic-row2">new row types</a></strong></span> for the
- basic front-end</p></li><li class="listitem"><p>new eUML syntax, better attribute support, macros to ease
- developer's life. Even VC8 seems to like it better.</p></li><li class="listitem"><p>New policy for reduced compile-time at the cost of dispatch
- speed</p></li><li class="listitem"><p>Support for base events</p></li><li class="listitem"><p>possibility to choose the initial event</p></li></ul></div><p>
- </p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch08s07.html">Prev</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ch08.html">Up</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="pt02.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">From V2.10 to V2.12 (Boost 1.45)&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">&nbsp;Part&nbsp;II.&nbsp;Reference</td></tr></table></div></body></html>
\ No newline at end of file
+ <title>From V2.10 to V2.12 (Boost 1.45)</title><link rel="stylesheet" href="boostbook.css" type="text/css"><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"><link rel="home" href="index.html" title="Meta State Machine (MSM)"><link rel="up" href="ch08.html" title="Chapter&nbsp;8.&nbsp;Version history"><link rel="prev" href="ch08s07.html" title="From V2.12 to V2.20 (Boost 1.46)"><link rel="next" href="ch08s09.html" title="From V2.0 to V2.12 (Boost 1.44)"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">From V2.10 to V2.12 (Boost 1.45)</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch08s07.html">Prev</a>&nbsp;</td><th width="60%" align="center">Chapter&nbsp;8.&nbsp;Version history</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch08s09.html">Next</a></td></tr></table><hr></div><div class="sect1" title="From V2.10
 to V2.12 (Boost 1.45)"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e3600"></a>From V2.10 to V2.12 (Boost 1.45)</h2></div></div></div><p>
+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Support for <span class="command"><strong><a class="command" href="ch03s05.html#back-end-serialization">serialization</a></strong></span></p></li><li class="listitem"><p><span class="command"><strong><a class="command" href="ch03s04.html#eUML-reuse-functor">Possibility to use
+ normal functors</a></strong></span> (from functor front-end) in
+ eUML.</p></li><li class="listitem"><p><span class="command"><strong><a class="command" href="ch03s05.html#backend-fsm-constructor-args">New constructors</a></strong></span> where substates / submachines can be taken as
+ arguments. This allows passing arguments to the constructor of a
+ submachine.</p></li><li class="listitem"><p>Bugfixes</p></li></ul></div><p>
+ </p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch08s07.html">Prev</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ch08.html">Up</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch08s09.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">From V2.12 to V2.20 (Boost 1.46)&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">&nbsp;From V2.0 to V2.12 (Boost 1.44)</td></tr></table></div></body></html>
\ No newline at end of file

Added: trunk/libs/msm/doc/HTML/ch08s09.html
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ trunk/libs/msm/doc/HTML/ch08s09.html 2013-09-22 06:27:26 EDT (Sun, 22 Sep 2013) (r85821)
@@ -0,0 +1,9 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+ <title>From V2.0 to V2.12 (Boost 1.44)</title><link rel="stylesheet" href="boostbook.css" type="text/css"><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"><link rel="home" href="index.html" title="Meta State Machine (MSM)"><link rel="up" href="ch08.html" title="Chapter&nbsp;8.&nbsp;Version history"><link rel="prev" href="ch08s08.html" title="From V2.10 to V2.12 (Boost 1.45)"><link rel="next" href="pt02.html" title="Part&nbsp;II.&nbsp;Reference"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">From V2.0 to V2.12 (Boost 1.44)</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch08s08.html">Prev</a>&nbsp;</td><th width="60%" align="center">Chapter&nbsp;8.&nbsp;Version history</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="pt02.html">Next</a></td></tr></table><hr></div><div class="sect1" title="From V2.0 to V2.12 (B
oost 1.44)"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e3625"></a>From V2.0 to V2.12 (Boost 1.44)</h2></div></div></div><p>
+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>New documentation</p></li><li class="listitem"><p>Internal transitions. Either as part of the transition table or
+ using a state's internal transition table</p></li><li class="listitem"><p>increased dispatch and copy speed</p></li><li class="listitem"><p><span class="command"><strong><a class="command" href="ch03s02.html#basic-row2">new row types</a></strong></span> for the
+ basic front-end</p></li><li class="listitem"><p>new eUML syntax, better attribute support, macros to ease
+ developer's life. Even VC8 seems to like it better.</p></li><li class="listitem"><p>New policy for reduced compile-time at the cost of dispatch
+ speed</p></li><li class="listitem"><p>Support for base events</p></li><li class="listitem"><p>possibility to choose the initial event</p></li></ul></div><p>
+ </p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch08s08.html">Prev</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ch08.html">Up</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="pt02.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">From V2.10 to V2.12 (Boost 1.45)&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">&nbsp;Part&nbsp;II.&nbsp;Reference</td></tr></table></div></body></html>
\ No newline at end of file

Modified: trunk/libs/msm/doc/HTML/ch09.html
==============================================================================
--- trunk/libs/msm/doc/HTML/ch09.html Sun Sep 22 06:12:20 2013 (r85820)
+++ trunk/libs/msm/doc/HTML/ch09.html 2013-09-22 06:27:26 EDT (Sun, 22 Sep 2013) (r85821)
@@ -1,4 +1,4 @@
 <html><head>
       <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
- <title>Chapter&nbsp;9.&nbsp;External references to MSM</title><link rel="stylesheet" href="boostbook.css" type="text/css"><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"><link rel="home" href="index.html" title="Meta State Machine (MSM)"><link rel="up" href="pt02.html" title="Part&nbsp;II.&nbsp;Reference"><link rel="prev" href="pt02.html" title="Part&nbsp;II.&nbsp;Reference"><link rel="next" href="ch10.html" title="Chapter&nbsp;10.&nbsp;eUML operators and basic helpers"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter&nbsp;9.&nbsp;External references to MSM</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="pt02.html">Prev</a>&nbsp;</td><th width="60%" align="center">Part&nbsp;II.&nbsp;Reference</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch10.html">Next</a></td></tr></table><hr></div><div class="chap
ter" title="Chapter&nbsp;9.&nbsp;External references to MSM"><div class="titlepage"><div><div><h2 class="title"><a name="d0e3649"></a>Chapter&nbsp;9.&nbsp;External references to MSM</h2></div></div></div><p>An interesting mapping UML &lt;-&gt; MSM from Takatoshi Kondo can be found at
+ <title>Chapter&nbsp;9.&nbsp;External references to MSM</title><link rel="stylesheet" href="boostbook.css" type="text/css"><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"><link rel="home" href="index.html" title="Meta State Machine (MSM)"><link rel="up" href="pt02.html" title="Part&nbsp;II.&nbsp;Reference"><link rel="prev" href="pt02.html" title="Part&nbsp;II.&nbsp;Reference"><link rel="next" href="ch10.html" title="Chapter&nbsp;10.&nbsp;eUML operators and basic helpers"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter&nbsp;9.&nbsp;External references to MSM</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="pt02.html">Prev</a>&nbsp;</td><th width="60%" align="center">Part&nbsp;II.&nbsp;Reference</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch10.html">Next</a></td></tr></table><hr></div><div class="chap
ter" title="Chapter&nbsp;9.&nbsp;External references to MSM"><div class="titlepage"><div><div><h2 class="title"><a name="d0e3662"></a>Chapter&nbsp;9.&nbsp;External references to MSM</h2></div></div></div><p>An interesting mapping UML &lt;-&gt; MSM from Takatoshi Kondo can be found at
                     <span class="command"><strong><a class="command" href="http://redboltz.wikidot.com/boost-msm-guide" target="_top">Redboltz</a></strong></span>.</p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="pt02.html">Prev</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="pt02.html">Up</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch10.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Part&nbsp;II.&nbsp;Reference&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">&nbsp;Chapter&nbsp;10.&nbsp;eUML operators and basic helpers</td></tr></table></div></body></html>
\ No newline at end of file

Modified: trunk/libs/msm/doc/HTML/ch10.html
==============================================================================
--- trunk/libs/msm/doc/HTML/ch10.html Sun Sep 22 06:12:20 2013 (r85820)
+++ trunk/libs/msm/doc/HTML/ch10.html 2013-09-22 06:27:26 EDT (Sun, 22 Sep 2013) (r85821)
@@ -1,7 +1,7 @@
 <html><head>
       <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
- <title>Chapter&nbsp;10.&nbsp;eUML operators and basic helpers</title><link rel="stylesheet" href="boostbook.css" type="text/css"><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"><link rel="home" href="index.html" title="Meta State Machine (MSM)"><link rel="up" href="pt02.html" title="Part&nbsp;II.&nbsp;Reference"><link rel="prev" href="ch09.html" title="Chapter&nbsp;9.&nbsp;External references to MSM"><link rel="next" href="ch11.html" title="Chapter&nbsp;11.&nbsp; Functional programming"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter&nbsp;10.&nbsp;eUML operators and basic helpers</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch09.html">Prev</a>&nbsp;</td><th width="60%" align="center">Part&nbsp;II.&nbsp;Reference</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch11.html">Next</a></td></tr></table><h
r></div><div class="chapter" title="Chapter&nbsp;10.&nbsp;eUML operators and basic helpers"><div class="titlepage"><div><div><h2 class="title"><a name="d0e3657"></a>Chapter&nbsp;10.&nbsp;eUML operators and basic helpers</h2></div></div></div><p>The following table lists the supported operators: </p><p>
- </p><div class="table"><a name="d0e3664"></a><p class="title"><b>Table&nbsp;10.1.&nbsp;Operators and state machine helpers</b></p><div class="table-contents"><table summary="Operators and state machine helpers" border="1"><colgroup><col><col><col></colgroup><thead><tr><th>eUML function / operator</th><th>Description</th><th>Functor</th></tr></thead><tbody><tr><td>&amp;&amp;</td><td>Calls lazily Action1&amp;&amp; Action2</td><td>And_</td></tr><tr><td>||</td><td>Calls lazily Action1|| Action2</td><td>Or_</td></tr><tr><td>!</td><td>Calls lazily !Action1</td><td>Not_</td></tr><tr><td>!=</td><td>Calls lazily Action1 != Action2</td><td>NotEqualTo_</td></tr><tr><td>==</td><td>Calls lazily Action1 == Action2</td><td>EqualTo_</td></tr><tr><td>&gt;</td><td>Calls lazily Action1 &gt; Action2</td><td>Greater_</td></tr><tr><td>&gt;=</td><td>Calls lazily Action1 &gt;= Action2</td><td>Greater_Equal_</td></tr><tr><td>&lt;</td><td>Calls lazily Action1 &lt; Action2</td><td>Less_</td></tr><tr><td>&lt;=</td><td>
Calls lazily Action1 &lt;= Action2</td><td>Less_Equal_</td></tr><tr><td>&amp;</td><td>Calls lazily Action1 &amp; Action2</td><td>Bitwise_And_</td></tr><tr><td>|</td><td>Calls lazily Action1 | Action2</td><td>Bitwise_Or_</td></tr><tr><td>^</td><td>Calls lazily Action1 ^ Action2</td><td>Bitwise_Xor_</td></tr><tr><td>--</td><td>Calls lazily --Action1 / Action1--</td><td>Pre_Dec_ / Post_Dec_</td></tr><tr><td>++</td><td>Calls lazily ++Action1 / Action1++</td><td>Pre_Inc_ / Post_Inc_</td></tr><tr><td>/</td><td>Calls lazily Action1 / Action2</td><td>Divides_</td></tr><tr><td>/=</td><td>Calls lazily Action1 /= Action2</td><td>Divides_Assign_</td></tr><tr><td>*</td><td>Calls lazily Action1 * Action2</td><td>Multiplies_</td></tr><tr><td>*=</td><td>Calls lazily Action1 *= Action2</td><td>Multiplies_Assign_</td></tr><tr><td>+ (binary)</td><td>Calls lazily Action1 + Action2</td><td>Plus_</td></tr><tr><td>+ (unary)</td><td>Calls lazily +Action1</td><td>Unary_Plus_</td></tr><tr><td>+=</td><td>Calls lazily Action1 += Action
2</td><td>Plus_Assign_</td></tr><tr><td>- (binary)</td><td>Calls lazily Action1 - Action2</td><td>Minus_</td></tr><tr><td>- (unary)</td><td>Calls lazily -Action1</td><td>Unary_Minus_</td></tr><tr><td>-=</td><td>Calls lazily Action1 -= Action2</td><td>Minus_Assign_</td></tr><tr><td>%</td><td>Calls lazily Action1 % Action2</td><td>Modulus_</td></tr><tr><td>%=</td><td>Calls lazily Action1 %= Action2</td><td>Modulus_Assign_</td></tr><tr><td>&gt;&gt;</td><td>Calls lazily Action1 &gt;&gt; Action2</td><td>ShiftRight_</td></tr><tr><td>&gt;&gt;=</td><td>Calls lazily Action1 &gt;&gt;= Action2</td><td>ShiftRight_Assign_</td></tr><tr><td>&lt;&lt;</td><td>Calls lazily Action1 &lt;&lt; Action2</td><td>ShiftLeft_</td></tr><tr><td>&lt;&lt;=</td><td>Calls lazily Action1 &lt;&lt;= Action2</td><td>ShiftLeft_Assign_</td></tr><tr><td>[] (works on vector, map, arrays)</td><td>Calls lazily Action1 [Action2]</td><td>Subscript_</td></tr><tr><td>if_then_else_(Condition,Action1,Action2)</td><td>Returns either the result of calling Act
ion1 or the result of
+ <title>Chapter&nbsp;10.&nbsp;eUML operators and basic helpers</title><link rel="stylesheet" href="boostbook.css" type="text/css"><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"><link rel="home" href="index.html" title="Meta State Machine (MSM)"><link rel="up" href="pt02.html" title="Part&nbsp;II.&nbsp;Reference"><link rel="prev" href="ch09.html" title="Chapter&nbsp;9.&nbsp;External references to MSM"><link rel="next" href="ch11.html" title="Chapter&nbsp;11.&nbsp; Functional programming"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter&nbsp;10.&nbsp;eUML operators and basic helpers</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch09.html">Prev</a>&nbsp;</td><th width="60%" align="center">Part&nbsp;II.&nbsp;Reference</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch11.html">Next</a></td></tr></table><h
r></div><div class="chapter" title="Chapter&nbsp;10.&nbsp;eUML operators and basic helpers"><div class="titlepage"><div><div><h2 class="title"><a name="d0e3670"></a>Chapter&nbsp;10.&nbsp;eUML operators and basic helpers</h2></div></div></div><p>The following table lists the supported operators: </p><p>
+ </p><div class="table"><a name="d0e3677"></a><p class="title"><b>Table&nbsp;10.1.&nbsp;Operators and state machine helpers</b></p><div class="table-contents"><table summary="Operators and state machine helpers" border="1"><colgroup><col><col><col></colgroup><thead><tr><th>eUML function / operator</th><th>Description</th><th>Functor</th></tr></thead><tbody><tr><td>&amp;&amp;</td><td>Calls lazily Action1&amp;&amp; Action2</td><td>And_</td></tr><tr><td>||</td><td>Calls lazily Action1|| Action2</td><td>Or_</td></tr><tr><td>!</td><td>Calls lazily !Action1</td><td>Not_</td></tr><tr><td>!=</td><td>Calls lazily Action1 != Action2</td><td>NotEqualTo_</td></tr><tr><td>==</td><td>Calls lazily Action1 == Action2</td><td>EqualTo_</td></tr><tr><td>&gt;</td><td>Calls lazily Action1 &gt; Action2</td><td>Greater_</td></tr><tr><td>&gt;=</td><td>Calls lazily Action1 &gt;= Action2</td><td>Greater_Equal_</td></tr><tr><td>&lt;</td><td>Calls lazily Action1 &lt; Action2</td><td>Less_</td></tr><tr><td>&lt;=</td><td>
Calls lazily Action1 &lt;= Action2</td><td>Less_Equal_</td></tr><tr><td>&amp;</td><td>Calls lazily Action1 &amp; Action2</td><td>Bitwise_And_</td></tr><tr><td>|</td><td>Calls lazily Action1 | Action2</td><td>Bitwise_Or_</td></tr><tr><td>^</td><td>Calls lazily Action1 ^ Action2</td><td>Bitwise_Xor_</td></tr><tr><td>--</td><td>Calls lazily --Action1 / Action1--</td><td>Pre_Dec_ / Post_Dec_</td></tr><tr><td>++</td><td>Calls lazily ++Action1 / Action1++</td><td>Pre_Inc_ / Post_Inc_</td></tr><tr><td>/</td><td>Calls lazily Action1 / Action2</td><td>Divides_</td></tr><tr><td>/=</td><td>Calls lazily Action1 /= Action2</td><td>Divides_Assign_</td></tr><tr><td>*</td><td>Calls lazily Action1 * Action2</td><td>Multiplies_</td></tr><tr><td>*=</td><td>Calls lazily Action1 *= Action2</td><td>Multiplies_Assign_</td></tr><tr><td>+ (binary)</td><td>Calls lazily Action1 + Action2</td><td>Plus_</td></tr><tr><td>+ (unary)</td><td>Calls lazily +Action1</td><td>Unary_Plus_</td></tr><tr><td>+=</td><td>Calls lazily Action1 += Action
2</td><td>Plus_Assign_</td></tr><tr><td>- (binary)</td><td>Calls lazily Action1 - Action2</td><td>Minus_</td></tr><tr><td>- (unary)</td><td>Calls lazily -Action1</td><td>Unary_Minus_</td></tr><tr><td>-=</td><td>Calls lazily Action1 -= Action2</td><td>Minus_Assign_</td></tr><tr><td>%</td><td>Calls lazily Action1 % Action2</td><td>Modulus_</td></tr><tr><td>%=</td><td>Calls lazily Action1 %= Action2</td><td>Modulus_Assign_</td></tr><tr><td>&gt;&gt;</td><td>Calls lazily Action1 &gt;&gt; Action2</td><td>ShiftRight_</td></tr><tr><td>&gt;&gt;=</td><td>Calls lazily Action1 &gt;&gt;= Action2</td><td>ShiftRight_Assign_</td></tr><tr><td>&lt;&lt;</td><td>Calls lazily Action1 &lt;&lt; Action2</td><td>ShiftLeft_</td></tr><tr><td>&lt;&lt;=</td><td>Calls lazily Action1 &lt;&lt;= Action2</td><td>ShiftLeft_Assign_</td></tr><tr><td>[] (works on vector, map, arrays)</td><td>Calls lazily Action1 [Action2]</td><td>Subscript_</td></tr><tr><td>if_then_else_(Condition,Action1,Action2)</td><td>Returns either the result of calling Act
ion1 or the result of
                                     calling Action2</td><td>If_Else_</td></tr><tr><td>if_then_(Condition,Action)</td><td>Returns the result of calling Action if Condition</td><td>If_Then_</td></tr><tr><td>while_(Condition, Body)</td><td>While Condition(), calls Body(). Returns nothing</td><td>While_Do_</td></tr><tr><td>do_while_(Condition, Body)</td><td>Calls Body() while Condition(). Returns nothing</td><td>Do_While_</td></tr><tr><td>for_(Begin,Stop,EndLoop,Body)</td><td>Calls for(Begin;Stop;EndLoop){Body;}</td><td>For_Loop_</td></tr><tr><td>process_(Event [,fsm1] [,fsm2] [,fsm3] [,fsm4])</td><td>Processes Event on the current state machine (if no fsm
                                     specified) or on up to 4 state machines returned by an
                                     appropriate functor.</td><td>Process_</td></tr><tr><td>process2_(Event, Data [,fsm1] [,fsm2] [,fsm3])</td><td>Processes Event on the current state machine (if no fsm

Modified: trunk/libs/msm/doc/HTML/ch11.html
==============================================================================
--- trunk/libs/msm/doc/HTML/ch11.html Sun Sep 22 06:12:20 2013 (r85820)
+++ trunk/libs/msm/doc/HTML/ch11.html 2013-09-22 06:27:26 EDT (Sun, 22 Sep 2013) (r85821)
@@ -1,33 +1,33 @@
 <html><head>
       <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title>Chapter&nbsp;11.&nbsp; Functional programming</title><link rel="stylesheet" href="boostbook.css" type="text/css"><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"><link rel="home" href="index.html" title="Meta State Machine (MSM)"><link rel="up" href="pt02.html" title="Part&nbsp;II.&nbsp;Reference"><link rel="prev" href="ch10.html" title="Chapter&nbsp;10.&nbsp;eUML operators and basic helpers"><link rel="next" href="re01.html" title="Common headers"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter&nbsp;11.&nbsp;
- Functional programming </th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch10.html">Prev</a>&nbsp;</td><th width="60%" align="center">Part&nbsp;II.&nbsp;Reference</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="re01.html">Next</a></td></tr></table><hr></div><div class="chapter" title="Chapter&nbsp;11.&nbsp; Functional programming"><div class="titlepage"><div><div><h2 class="title"><a name="d0e4001"></a>Chapter&nbsp;11.&nbsp;
+ Functional programming </th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch10.html">Prev</a>&nbsp;</td><th width="60%" align="center">Part&nbsp;II.&nbsp;Reference</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="re01.html">Next</a></td></tr></table><hr></div><div class="chapter" title="Chapter&nbsp;11.&nbsp; Functional programming"><div class="titlepage"><div><div><h2 class="title"><a name="d0e4014"></a>Chapter&nbsp;11.&nbsp;
                 <span class="command"><strong><a name="eUML-STL-all"></a></strong></span>Functional programming </h2></div></div></div><p>To use these functions, you need to include: </p><p><code class="code">#include &lt;msm/front/euml/stl.hpp&gt;</code></p><p>or the specified header in the following tables.</p><p>The following tables list the supported STL algorithms: </p><p>
                 <span class="command"><strong><a name="eUML-STL-querying"></a></strong></span>
- </p><div class="table"><a name="d0e4019"></a><p class="title"><b>Table&nbsp;11.1.&nbsp;STL algorithms</b></p><div class="table-contents"><table summary="STL algorithms" border="1"><colgroup><col><col></colgroup><thead><tr><th>STL algorithms in querying.hpp</th><th>Functor</th></tr></thead><tbody><tr><td>find_(first, last, value)</td><td>Find_</td></tr><tr><td>find_if_(first, last, value)</td><td>FindIf_</td></tr><tr><td>lower_bound_(first, last, value [,op&#7491;])</td><td>LowerBound_</td></tr><tr><td>upper_bound_(first, last, value [,op&#7491;])</td><td>UpperBound_</td></tr><tr><td>equal_range_(first, last, value [,op&#7491;])</td><td>EqualRange_</td></tr><tr><td>binary_search_(first, last, value [,op&#7491;])</td><td>BinarySearch_</td></tr><tr><td>min_element_(first, last[,op&#7491;])</td><td>MinElement_</td></tr><tr><td>max_element_(first, last[,op&#7491;])</td><td>MaxElement_</td></tr><tr><td>adjacent_find_(first, last[,op&#7491;])</td><td>AdjacentFind_</td></tr><tr><td>find_end_( first1
, last1, first2, last2 [,op &#7491;])</td><td>FindEnd_</td></tr><tr><td>find_first_of_( first1, last1, first2, last2 [,op &#7491;])</td><td>FindFirstOf_</td></tr><tr><td>equal_( first1, last1, first2 [,op &#7491;])</td><td>Equal_</td></tr><tr><td>search_( first1, last1, first2, last2 [,op &#7491;])</td><td>Search_</td></tr><tr><td>includes_( first1, last1, first2, last2 [,op &#7491;])</td><td>Includes_</td></tr><tr><td>lexicographical_compare_ ( first1, last1, first2, last2 [,op
+ </p><div class="table"><a name="d0e4032"></a><p class="title"><b>Table&nbsp;11.1.&nbsp;STL algorithms</b></p><div class="table-contents"><table summary="STL algorithms" border="1"><colgroup><col><col></colgroup><thead><tr><th>STL algorithms in querying.hpp</th><th>Functor</th></tr></thead><tbody><tr><td>find_(first, last, value)</td><td>Find_</td></tr><tr><td>find_if_(first, last, value)</td><td>FindIf_</td></tr><tr><td>lower_bound_(first, last, value [,op&#7491;])</td><td>LowerBound_</td></tr><tr><td>upper_bound_(first, last, value [,op&#7491;])</td><td>UpperBound_</td></tr><tr><td>equal_range_(first, last, value [,op&#7491;])</td><td>EqualRange_</td></tr><tr><td>binary_search_(first, last, value [,op&#7491;])</td><td>BinarySearch_</td></tr><tr><td>min_element_(first, last[,op&#7491;])</td><td>MinElement_</td></tr><tr><td>max_element_(first, last[,op&#7491;])</td><td>MaxElement_</td></tr><tr><td>adjacent_find_(first, last[,op&#7491;])</td><td>AdjacentFind_</td></tr><tr><td>find_end_( first1
, last1, first2, last2 [,op &#7491;])</td><td>FindEnd_</td></tr><tr><td>find_first_of_( first1, last1, first2, last2 [,op &#7491;])</td><td>FindFirstOf_</td></tr><tr><td>equal_( first1, last1, first2 [,op &#7491;])</td><td>Equal_</td></tr><tr><td>search_( first1, last1, first2, last2 [,op &#7491;])</td><td>Search_</td></tr><tr><td>includes_( first1, last1, first2, last2 [,op &#7491;])</td><td>Includes_</td></tr><tr><td>lexicographical_compare_ ( first1, last1, first2, last2 [,op
                                     &#7491;]) </td><td>LexicographicalCompare_</td></tr><tr><td>count_(first, last, value [,size])</td><td>Count_</td></tr><tr><td>count_if_(first, last, op &#7491; [,size])</td><td>CountIf_</td></tr><tr><td>distance_(first, last)</td><td>Distance_</td></tr><tr><td>mismatch _( first1, last1, first2 [,op &#7491;])</td><td>Mismatch_</td></tr></tbody></table></div></div><p><br class="table-break">
             </p><p>
                 <span class="command"><strong><a name="eUML-STL-iteration"></a></strong></span>
- </p><div class="table"><a name="d0e4132"></a><p class="title"><b>Table&nbsp;11.2.&nbsp;STL algorithms</b></p><div class="table-contents"><table summary="STL algorithms" border="1"><colgroup><col><col></colgroup><thead><tr><th>STL algorithms in iteration.hpp</th><th>Functor</th></tr></thead><tbody><tr><td>for_each_(first,last, unary op&#7491;)</td><td>ForEach_</td></tr><tr><td>accumulate_first, last, init [,op&#7491;])</td><td>Accumulate_</td></tr></tbody></table></div></div><p><br class="table-break">
+ </p><div class="table"><a name="d0e4145"></a><p class="title"><b>Table&nbsp;11.2.&nbsp;STL algorithms</b></p><div class="table-contents"><table summary="STL algorithms" border="1"><colgroup><col><col></colgroup><thead><tr><th>STL algorithms in iteration.hpp</th><th>Functor</th></tr></thead><tbody><tr><td>for_each_(first,last, unary op&#7491;)</td><td>ForEach_</td></tr><tr><td>accumulate_first, last, init [,op&#7491;])</td><td>Accumulate_</td></tr></tbody></table></div></div><p><br class="table-break">
             </p><p>
                 <span class="command"><strong><a name="eUML-STL-transformation"></a></strong></span>
- </p><div class="table"><a name="d0e4160"></a><p class="title"><b>Table&nbsp;11.3.&nbsp;STL algorithms</b></p><div class="table-contents"><table summary="STL algorithms" border="1"><colgroup><col><col></colgroup><thead><tr><th>STL algorithms in transformation.hpp</th><th>Functor</th></tr></thead><tbody><tr><td>copy_(first, last, result)</td><td>Copy_</td></tr><tr><td>copy_backward_(first, last, result)</td><td>CopyBackward_</td></tr><tr><td>reverse_(first, last)</td><td>Reverse_</td></tr><tr><td>reverse_copy_(first, last , result)</td><td>ReverseCopy_</td></tr><tr><td>remove_(first, last, value)</td><td>Remove_</td></tr><tr><td>remove_if_(first, last , op&#7491;)</td><td>RemoveIf_</td></tr><tr><td>remove_copy_(first, last , output, value)</td><td>RemoveCopy_</td></tr><tr><td>remove_copy_if_(first, last, output, op&#7491;)</td><td>RemoveCopyIf_</td></tr><tr><td>fill_(first, last, value)</td><td>Fill_</td></tr><tr><td>fill_n_(first, size, value)&#7495;</td><td>FillN_</td></tr><tr><td>generate_(
first, last, generator&#7491;)</td><td>Generate_</td></tr><tr><td>generate_(first, size, generator&#7491;)&#7495;</td><td>GenerateN_</td></tr><tr><td>unique_(first, last [,op&#7491;])</td><td>Unique_</td></tr><tr><td>unique_copy_(first, last, output [,op&#7491;])</td><td>UniqueCopy_</td></tr><tr><td>random_shuffle_(first, last [,op&#7491;])</td><td>RandomShuffle_</td></tr><tr><td>rotate_copy_(first, middle, last, output)</td><td>RotateCopy_</td></tr><tr><td>partition_ (first, last [,op&#7491;])</td><td>Partition_</td></tr><tr><td>stable_partition_ (first, last [,op&#7491;])</td><td>StablePartition_</td></tr><tr><td>stable_sort_(first, last [,op&#7491;])</td><td>StableSort_</td></tr><tr><td>sort_(first, last [,op&#7491;])</td><td>Sort_</td></tr><tr><td>partial_sort_(first, middle, last [,op&#7491;])</td><td>PartialSort_</td></tr><tr><td>partial_sort_copy_ (first, last, res_first, res_last [,op&#7491;]) </td><td>PartialSortCopy_</td></tr><tr><td>nth_element_(first, nth, last [,op&#7491;])</td><td>NthElement_</
td></tr><tr><td>merge_( first1, last1, first2, last2, output [,op &#7491;])</td><td>Merge_</td></tr><tr><td>inplace_merge_(first, middle, last [,op&#7491;])</td><td>InplaceMerge_</td></tr><tr><td>set_union_(first1, last1, first2, last2, output [,op
+ </p><div class="table"><a name="d0e4173"></a><p class="title"><b>Table&nbsp;11.3.&nbsp;STL algorithms</b></p><div class="table-contents"><table summary="STL algorithms" border="1"><colgroup><col><col></colgroup><thead><tr><th>STL algorithms in transformation.hpp</th><th>Functor</th></tr></thead><tbody><tr><td>copy_(first, last, result)</td><td>Copy_</td></tr><tr><td>copy_backward_(first, last, result)</td><td>CopyBackward_</td></tr><tr><td>reverse_(first, last)</td><td>Reverse_</td></tr><tr><td>reverse_copy_(first, last , result)</td><td>ReverseCopy_</td></tr><tr><td>remove_(first, last, value)</td><td>Remove_</td></tr><tr><td>remove_if_(first, last , op&#7491;)</td><td>RemoveIf_</td></tr><tr><td>remove_copy_(first, last , output, value)</td><td>RemoveCopy_</td></tr><tr><td>remove_copy_if_(first, last, output, op&#7491;)</td><td>RemoveCopyIf_</td></tr><tr><td>fill_(first, last, value)</td><td>Fill_</td></tr><tr><td>fill_n_(first, size, value)&#7495;</td><td>FillN_</td></tr><tr><td>generate_(
first, last, generator&#7491;)</td><td>Generate_</td></tr><tr><td>generate_(first, size, generator&#7491;)&#7495;</td><td>GenerateN_</td></tr><tr><td>unique_(first, last [,op&#7491;])</td><td>Unique_</td></tr><tr><td>unique_copy_(first, last, output [,op&#7491;])</td><td>UniqueCopy_</td></tr><tr><td>random_shuffle_(first, last [,op&#7491;])</td><td>RandomShuffle_</td></tr><tr><td>rotate_copy_(first, middle, last, output)</td><td>RotateCopy_</td></tr><tr><td>partition_ (first, last [,op&#7491;])</td><td>Partition_</td></tr><tr><td>stable_partition_ (first, last [,op&#7491;])</td><td>StablePartition_</td></tr><tr><td>stable_sort_(first, last [,op&#7491;])</td><td>StableSort_</td></tr><tr><td>sort_(first, last [,op&#7491;])</td><td>Sort_</td></tr><tr><td>partial_sort_(first, middle, last [,op&#7491;])</td><td>PartialSort_</td></tr><tr><td>partial_sort_copy_ (first, last, res_first, res_last [,op&#7491;]) </td><td>PartialSortCopy_</td></tr><tr><td>nth_element_(first, nth, last [,op&#7491;])</td><td>NthElement_</
td></tr><tr><td>merge_( first1, last1, first2, last2, output [,op &#7491;])</td><td>Merge_</td></tr><tr><td>inplace_merge_(first, middle, last [,op&#7491;])</td><td>InplaceMerge_</td></tr><tr><td>set_union_(first1, last1, first2, last2, output [,op
                                     &#7491;])</td><td>SetUnion_</td></tr><tr><td>push_heap_(first, last [,op &#7491;])</td><td>PushHeap_</td></tr><tr><td>pop_heap_(first, last [,op &#7491;])</td><td>PopHeap_</td></tr><tr><td>make_heap_(first, last [,op &#7491;])</td><td>MakeHeap_</td></tr><tr><td>sort_heap_(first, last [,op &#7491;])</td><td>SortHeap_</td></tr><tr><td>next_permutation_(first, last [,op &#7491;])</td><td>NextPermutation_</td></tr><tr><td>prev_permutation_(first, last [,op &#7491;])</td><td>PrevPermutation_</td></tr><tr><td>inner_product_(first1, last1, first2, init [,op1&#7491;] [,op2&#7491;]) </td><td>InnerProduct_</td></tr><tr><td>partial_sum_(first, last, output [,op&#7491;])</td><td>PartialSum_</td></tr><tr><td>adjacent_difference_(first, last, output [,op&#7491;])</td><td>AdjacentDifference_</td></tr><tr><td>replace_(first, last, old_value, new_value)</td><td>Replace_</td></tr><tr><td>replace_if_(first, last, op&#7491;, new_value)</td><td>ReplaceIf_</td></tr><tr><td>replace_copy_(first,
 last, result, old_value,
                                     new_value)</td><td>ReplaceCopy_</td></tr><tr><td>replace_copy_if_(first, last, result, op&#7491;, new_value)</td><td>ReplaceCopyIf_</td></tr><tr><td>rotate_(first, middle, last)&#7495;</td><td>Rotate_</td></tr></tbody></table></div></div><p><br class="table-break">
             </p><p>
                 <span class="command"><strong><a name="eUML-STL-container"></a></strong></span>
- </p><div class="table"><a name="d0e4378"></a><p class="title"><b>Table&nbsp;11.4.&nbsp;STL container methods</b></p><div class="table-contents"><table summary="STL container methods" border="1"><colgroup><col><col></colgroup><thead><tr><th>STL container methods(common) in container.hpp</th><th>Functor</th></tr></thead><tbody><tr><td>container::reference front_(container)</td><td>Front_</td></tr><tr><td>container::reference back_(container)</td><td>Back_</td></tr><tr><td>container::iterator begin_(container)</td><td>Begin_</td></tr><tr><td>container::iterator end_(container)</td><td>End_</td></tr><tr><td>container::reverse_iterator rbegin_(container)</td><td>RBegin_</td></tr><tr><td>container::reverse_iterator rend_(container)</td><td>REnd_</td></tr><tr><td>void push_back_(container, value)</td><td>Push_Back_</td></tr><tr><td>void pop_back_(container, value)</td><td>Pop_Back_</td></tr><tr><td>void push_front_(container, value)</td><td>Push_Front_</td></tr><tr><td>void pop_front_(container, va
lue)</td><td>Pop_Front_</td></tr><tr><td>void clear_(container)</td><td>Clear_</td></tr><tr><td>size_type capacity_(container)</td><td>Capacity_</td></tr><tr><td>size_type size_(container)</td><td>Size_</td></tr><tr><td>size_type max_size_(container)</td><td>Max_Size_</td></tr><tr><td>void reserve_(container, value)</td><td>Reserve _</td></tr><tr><td>void resize_(container, value)</td><td>Resize _</td></tr><tr><td>iterator insert_(container, pos, value)</td><td>Insert_</td></tr><tr><td>void insert_( container , pos, first, last)</td><td>Insert_</td></tr><tr><td>void insert_( container , pos, number, value)</td><td>Insert_</td></tr><tr><td>void swap_( container , other_container)</td><td>Swap_</td></tr><tr><td>void erase_( container , pos)</td><td>Erase_</td></tr><tr><td>void erase_( container , first, last) </td><td>Erase_</td></tr><tr><td>bool empty_( container)</td><td>Empty_</td></tr></tbody></table></div></div><p><br class="table-break">
+ </p><div class="table"><a name="d0e4391"></a><p class="title"><b>Table&nbsp;11.4.&nbsp;STL container methods</b></p><div class="table-contents"><table summary="STL container methods" border="1"><colgroup><col><col></colgroup><thead><tr><th>STL container methods(common) in container.hpp</th><th>Functor</th></tr></thead><tbody><tr><td>container::reference front_(container)</td><td>Front_</td></tr><tr><td>container::reference back_(container)</td><td>Back_</td></tr><tr><td>container::iterator begin_(container)</td><td>Begin_</td></tr><tr><td>container::iterator end_(container)</td><td>End_</td></tr><tr><td>container::reverse_iterator rbegin_(container)</td><td>RBegin_</td></tr><tr><td>container::reverse_iterator rend_(container)</td><td>REnd_</td></tr><tr><td>void push_back_(container, value)</td><td>Push_Back_</td></tr><tr><td>void pop_back_(container, value)</td><td>Pop_Back_</td></tr><tr><td>void push_front_(container, value)</td><td>Push_Front_</td></tr><tr><td>void pop_front_(container, va
lue)</td><td>Pop_Front_</td></tr><tr><td>void clear_(container)</td><td>Clear_</td></tr><tr><td>size_type capacity_(container)</td><td>Capacity_</td></tr><tr><td>size_type size_(container)</td><td>Size_</td></tr><tr><td>size_type max_size_(container)</td><td>Max_Size_</td></tr><tr><td>void reserve_(container, value)</td><td>Reserve _</td></tr><tr><td>void resize_(container, value)</td><td>Resize _</td></tr><tr><td>iterator insert_(container, pos, value)</td><td>Insert_</td></tr><tr><td>void insert_( container , pos, first, last)</td><td>Insert_</td></tr><tr><td>void insert_( container , pos, number, value)</td><td>Insert_</td></tr><tr><td>void swap_( container , other_container)</td><td>Swap_</td></tr><tr><td>void erase_( container , pos)</td><td>Erase_</td></tr><tr><td>void erase_( container , first, last) </td><td>Erase_</td></tr><tr><td>bool empty_( container)</td><td>Empty_</td></tr></tbody></table></div></div><p><br class="table-break">
             </p><p>
- </p><div class="table"><a name="d0e4509"></a><p class="title"><b>Table&nbsp;11.5.&nbsp;STL list methods</b></p><div class="table-contents"><table summary="STL list methods" border="1"><colgroup><col><col></colgroup><thead><tr><th>std::list methods in container.hpp</th><th>Functor</th></tr></thead><tbody><tr><td>void list_remove_(container, value)</td><td>ListRemove_</td></tr><tr><td>void list_remove_if_(container, op&#7491;)</td><td>ListRemove_If_</td></tr><tr><td>void list_merge_(container, other_list)</td><td>ListMerge_</td></tr><tr><td>void list_merge_(container, other_list, op&#7491;)</td><td>ListMerge_</td></tr><tr><td>void splice_(container, iterator, other_list)</td><td>Splice_</td></tr><tr><td>void splice_(container, iterator, other_list,
+ </p><div class="table"><a name="d0e4522"></a><p class="title"><b>Table&nbsp;11.5.&nbsp;STL list methods</b></p><div class="table-contents"><table summary="STL list methods" border="1"><colgroup><col><col></colgroup><thead><tr><th>std::list methods in container.hpp</th><th>Functor</th></tr></thead><tbody><tr><td>void list_remove_(container, value)</td><td>ListRemove_</td></tr><tr><td>void list_remove_if_(container, op&#7491;)</td><td>ListRemove_If_</td></tr><tr><td>void list_merge_(container, other_list)</td><td>ListMerge_</td></tr><tr><td>void list_merge_(container, other_list, op&#7491;)</td><td>ListMerge_</td></tr><tr><td>void splice_(container, iterator, other_list)</td><td>Splice_</td></tr><tr><td>void splice_(container, iterator, other_list,
                                     iterator)</td><td>Splice_</td></tr><tr><td>void splice_(container, iterator, other_list, first,
                                     last)</td><td>Splice_</td></tr><tr><td>void list_reverse_(container)</td><td>ListReverse_</td></tr><tr><td>void list_unique_(container)</td><td>ListUnique_</td></tr><tr><td>void list_unique_(container, op&#7491;)</td><td>ListUnique_</td></tr><tr><td>void list_sort_(container)</td><td>ListSort_</td></tr><tr><td>void list_sort_(container, op&#7491;)</td><td>ListSort_</td></tr></tbody></table></div></div><p><br class="table-break">
             </p><p>
- </p><div class="table"><a name="d0e4585"></a><p class="title"><b>Table&nbsp;11.6.&nbsp;STL associative container methods </b></p><div class="table-contents"><table summary="STL associative container methods " border="1"><colgroup><col><col></colgroup><thead><tr><th>Associative container methods in container.hpp</th><th>Functor</th></tr></thead><tbody><tr><td>iterator insert_(container, pos, value)</td><td>Insert_</td></tr><tr><td>void insert_( container , first, last)</td><td>Insert_</td></tr><tr><td>pair&lt;iterator, bool&gt; insert_( container , value)</td><td>Insert_</td></tr><tr><td>void associative_erase_( container , pos)</td><td>Associative_Erase_</td></tr><tr><td>void associative_erase_( container , first, last)</td><td>Associative_Erase_</td></tr><tr><td>size_type associative_erase_( container , key)</td><td>Associative_Erase_</td></tr><tr><td>iterator associative_find_( container , key)</td><td>Associative_Find_</td></tr><tr><td>size_type associative_count_( container , key)</td><t
d>AssociativeCount_</td></tr><tr><td>iterator associative_lower_bound_( container , key)</td><td>Associative_Lower_Bound_</td></tr><tr><td>iterator associative_upper_bound_( container , key)</td><td>Associative_Upper_Bound_</td></tr><tr><td>pair&lt;iterator, iterator&gt; associative_equal_range_(
+ </p><div class="table"><a name="d0e4598"></a><p class="title"><b>Table&nbsp;11.6.&nbsp;STL associative container methods </b></p><div class="table-contents"><table summary="STL associative container methods " border="1"><colgroup><col><col></colgroup><thead><tr><th>Associative container methods in container.hpp</th><th>Functor</th></tr></thead><tbody><tr><td>iterator insert_(container, pos, value)</td><td>Insert_</td></tr><tr><td>void insert_( container , first, last)</td><td>Insert_</td></tr><tr><td>pair&lt;iterator, bool&gt; insert_( container , value)</td><td>Insert_</td></tr><tr><td>void associative_erase_( container , pos)</td><td>Associative_Erase_</td></tr><tr><td>void associative_erase_( container , first, last)</td><td>Associative_Erase_</td></tr><tr><td>size_type associative_erase_( container , key)</td><td>Associative_Erase_</td></tr><tr><td>iterator associative_find_( container , key)</td><td>Associative_Find_</td></tr><tr><td>size_type associative_count_( container , key)</td><t
d>AssociativeCount_</td></tr><tr><td>iterator associative_lower_bound_( container , key)</td><td>Associative_Lower_Bound_</td></tr><tr><td>iterator associative_upper_bound_( container , key)</td><td>Associative_Upper_Bound_</td></tr><tr><td>pair&lt;iterator, iterator&gt; associative_equal_range_(
                                     container , key)</td><td>Associative_Equal_Range_</td></tr></tbody></table></div></div><p><br class="table-break">
             </p><p>
- </p><div class="table"><a name="d0e4656"></a><p class="title"><b>Table&nbsp;11.7.&nbsp;STL pair</b></p><div class="table-contents"><table summary="STL pair" border="1"><colgroup><col><col></colgroup><thead><tr><th>std::pair in container.hpp</th><th>Functor</th></tr></thead><tbody><tr><td>first_type first_(pair&lt;T1, T2&gt;)</td><td>First_</td></tr><tr><td>second_type second_(pair&lt;T1, T2&gt;)</td><td>Second_</td></tr></tbody></table></div></div><p><br class="table-break">
+ </p><div class="table"><a name="d0e4669"></a><p class="title"><b>Table&nbsp;11.7.&nbsp;STL pair</b></p><div class="table-contents"><table summary="STL pair" border="1"><colgroup><col><col></colgroup><thead><tr><th>std::pair in container.hpp</th><th>Functor</th></tr></thead><tbody><tr><td>first_type first_(pair&lt;T1, T2&gt;)</td><td>First_</td></tr><tr><td>second_type second_(pair&lt;T1, T2&gt;)</td><td>Second_</td></tr></tbody></table></div></div><p><br class="table-break">
             </p><p>
- </p><div class="table"><a name="d0e4682"></a><p class="title"><b>Table&nbsp;11.8.&nbsp;STL string</b></p><div class="table-contents"><table summary="STL string" border="1"><colgroup><col><col><col></colgroup><thead><tr><th>STL string method</th><th>std::string method in container.hpp</th><th>Functor</th></tr></thead><tbody><tr><td>substr (size_type pos, size_type size)</td><td>string substr_(container, pos, length)</td><td>Substr_</td></tr><tr><td>int compare(string)</td><td>int string_compare_(container, another_string)</td><td>StringCompare_</td></tr><tr><td>int compare(char*)</td><td>int string_compare_(container, another_string)</td><td>StringCompare_</td></tr><tr><td>int compare(size_type pos, size_type size, string)</td><td>int string_compare_(container, pos, size,
+ </p><div class="table"><a name="d0e4695"></a><p class="title"><b>Table&nbsp;11.8.&nbsp;STL string</b></p><div class="table-contents"><table summary="STL string" border="1"><colgroup><col><col><col></colgroup><thead><tr><th>STL string method</th><th>std::string method in container.hpp</th><th>Functor</th></tr></thead><tbody><tr><td>substr (size_type pos, size_type size)</td><td>string substr_(container, pos, length)</td><td>Substr_</td></tr><tr><td>int compare(string)</td><td>int string_compare_(container, another_string)</td><td>StringCompare_</td></tr><tr><td>int compare(char*)</td><td>int string_compare_(container, another_string)</td><td>StringCompare_</td></tr><tr><td>int compare(size_type pos, size_type size, string)</td><td>int string_compare_(container, pos, size,
                                     another_string)</td><td>StringCompare_</td></tr><tr><td>int compare (size_type pos, size_type size, string, size_type
                                     length)</td><td>int string_compare_(container, pos, size, another_string,
                                     length)</td><td>StringCompare_</td></tr><tr><td>string&amp; append(const string&amp;)</td><td>string&amp; append_(container, another_string)</td><td>Append_</td></tr><tr><td>string&amp; append (charT*)</td><td>string&amp; append_(container, another_string)</td><td>Append_</td></tr><tr><td>string&amp; append (string , size_type pos, size_type

Modified: trunk/libs/msm/doc/HTML/examples/Orthogonal-deferred.cpp
==============================================================================
--- trunk/libs/msm/doc/HTML/examples/Orthogonal-deferred.cpp Sun Sep 22 06:12:20 2013 (r85820)
+++ trunk/libs/msm/doc/HTML/examples/Orthogonal-deferred.cpp 2013-09-22 06:27:26 EDT (Sun, 22 Sep 2013) (r85821)
@@ -29,6 +29,7 @@
     struct PreviousSong {};
     struct error_found {};
     struct end_error {};
+ struct end_error2 {};
 
     // Flags. Allow information about a property of the current state
     struct PlayingPaused{};
@@ -170,7 +171,7 @@
         };
         // this state is also made terminal so that all the events are blocked
         struct ErrorMode : //public msm::front::terminate_state<> // ErrorMode terminates the state machine
- public msm::front::interrupt_state<end_error> // ErroMode just interrupts. Will resume if
+ public msm::front::interrupt_state<end_error/*mpl::vector<end_error,end_error2>*/ > // ErroMode just interrupts. Will resume if
                                                             // the event end_error is generated
         {
             template <class Event,class FSM>

Modified: trunk/libs/msm/doc/HTML/index.html
==============================================================================
--- trunk/libs/msm/doc/HTML/index.html Sun Sep 22 06:12:20 2013 (r85820)
+++ trunk/libs/msm/doc/HTML/index.html 2013-09-22 06:27:26 EDT (Sun, 22 Sep 2013) (r85821)
@@ -15,5 +15,5 @@
                         better compile-time / multi-TU compilation</a></span></dt><dt><span class="sect2">Compile-time state machine analysis </span></dt><dt><span class="sect2"><a href="ch03s05.html#d0e2668"> Enqueueing events for later
                         processing </a></span></dt><dt><span class="sect2"> Customizing the message queues </span></dt><dt><span class="sect2">Policy definition with Boost.Parameter </span></dt><dt><span class="sect2"><a href="ch03s05.html#d0e2711">Choosing when to switch active
                         states </a></span></dt></dl></dd></dl></dd><dt><span class="chapter">4. Performance / Compilers</span></dt><dd><dl><dt><span class="sect1">Speed</span></dt><dt><span class="sect1">Executable size</span></dt><dt><span class="sect1">Supported compilers</span></dt><dt><span class="sect1"> Limitations </span></dt><dt><span class="sect1"> Compilers corner </span></dt></dl></dd><dt><span class="chapter">5. Questions & Answers, tips</span></dt><dt><span class="chapter">6. Internals</span></dt><dd><dl><dt><span class="sect1">Backend: Run To Completion</span></dt><dt><span class="sect1"><a href="ch06s02.html">Frontend / Backend
- interface</a></span></dt><dt><span class="sect1"> Generated state ids </span></dt><dt><span class="sect1">Metaprogramming tools</span></dt></dl></dd><dt><span class="chapter">7. Acknowledgements</span></dt><dd><dl><dt><span class="sect1">MSM v2</span></dt><dt><span class="sect1"> MSM v1</span></dt></dl></dd><dt><span class="chapter">8. Version history</span></dt><dd><dl><dt><span class="sect1">From V2.24 to V2.25 (Boost 1.54)</span></dt><dt><span class="sect1">From V2.23 to V2.24 (Boost 1.51)</span></dt><dt><span class="sect1">From V2.22 to V2.23 (Boost 1.50)</span></dt><dt><span class="sect1">From V2.21 to V2.22 (Boost 1.48)</span></dt><dt><span class="sect1"><a href="ch08s05.html">From V2.20 to V2.21 (Boost 1.47)</a>
</span></dt><dt><span class="sect1">From V2.12 to V2.20 (Boost 1.46)</span></dt><dt><span class="sect1">From V2.10 to V2.12 (Boost 1.45)</span></dt><dt><span class="sect1">From V2.0 to V2.12 (Boost 1.44)</span></dt></dl></dd></dl></dd><dt><span class="part">II. Reference</span></dt><dd><dl><dt><span class="chapter">9. External references to MSM</span></dt><dt><span class="chapter">10. eUML operators and basic helpers</span></dt><dt><span class="chapter"><a href="ch11.html">11.
- Functional programming </a></span></dt><dt><span class="refentrytitle">Common headers</span><span class="refpurpose"> &#8212; The common types used by front- and back-ends</span></dt><dt><span class="refentrytitle">Back-end</span><span class="refpurpose"> &#8212; The back-end headers</span></dt><dt><span class="refentrytitle">Front-end</span><span class="refpurpose"> &#8212; The front-end headers</span></dt></dl></dd></dl></div><div class="list-of-tables"><p><b>List of Tables</b></p><dl><dt>10.1. Operators and state machine helpers</dt><dt>11.1. STL algorithms</dt><dt>11.2. STL algorithms</dt><dt>11.3. STL algorithms</dt><dt>11.4. STL container methods</dt><dt>11.5. STL list methods</dt><dt>11.6. <a href="ch11.html#d0e4585">STL asso
ciative container methods </a></dt><dt>11.7. STL pair</dt><dt>11.8. STL string</dt></dl></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left">&nbsp;</td><td width="20%" align="center">&nbsp;</td><td width="40%" align="right">&nbsp;<a accesskey="n" href="pr01.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">&nbsp;</td><td width="20%" align="center">&nbsp;</td><td width="40%" align="right" valign="top">&nbsp;Preface</td></tr></table></div></body></html>
\ No newline at end of file
+ interface</a></span></dt><dt><span class="sect1"> Generated state ids </span></dt><dt><span class="sect1">Metaprogramming tools</span></dt></dl></dd><dt><span class="chapter">7. Acknowledgements</span></dt><dd><dl><dt><span class="sect1">MSM v2</span></dt><dt><span class="sect1"> MSM v1</span></dt></dl></dd><dt><span class="chapter">8. Version history</span></dt><dd><dl><dt><span class="sect1">From V2.25 to V2.26 (Boost 1.55)</span></dt><dt><span class="sect1">From V2.24 to V2.25 (Boost 1.54)</span></dt><dt><span class="sect1">From V2.23 to V2.24 (Boost 1.51)</span></dt><dt><span class="sect1">From V2.22 to V2.23 (Boost 1.50)</span></dt><dt><span class="sect1"><a href="ch08s05.html">From V2.21 to V2.22 (Boost 1.48)</a>
</span></dt><dt><span class="sect1">From V2.20 to V2.21 (Boost 1.47)</span></dt><dt><span class="sect1">From V2.12 to V2.20 (Boost 1.46)</span></dt><dt><span class="sect1">From V2.10 to V2.12 (Boost 1.45)</span></dt><dt><span class="sect1">From V2.0 to V2.12 (Boost 1.44)</span></dt></dl></dd></dl></dd><dt><span class="part">II. Reference</span></dt><dd><dl><dt><span class="chapter">9. External references to MSM</span></dt><dt><span class="chapter">10. eUML operators and basic helpers</span></dt><dt><span class="chapter"><a href="ch11.html">11.
+ Functional programming </a></span></dt><dt><span class="refentrytitle">Common headers</span><span class="refpurpose"> &#8212; The common types used by front- and back-ends</span></dt><dt><span class="refentrytitle">Back-end</span><span class="refpurpose"> &#8212; The back-end headers</span></dt><dt><span class="refentrytitle">Front-end</span><span class="refpurpose"> &#8212; The front-end headers</span></dt></dl></dd></dl></div><div class="list-of-tables"><p><b>List of Tables</b></p><dl><dt>10.1. Operators and state machine helpers</dt><dt>11.1. STL algorithms</dt><dt>11.2. STL algorithms</dt><dt>11.3. STL algorithms</dt><dt>11.4. STL container methods</dt><dt>11.5. STL list methods</dt><dt>11.6. <a href="ch11.html#d0e4598">STL asso
ciative container methods </a></dt><dt>11.7. STL pair</dt><dt>11.8. STL string</dt></dl></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left">&nbsp;</td><td width="20%" align="center">&nbsp;</td><td width="40%" align="right">&nbsp;<a accesskey="n" href="pr01.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">&nbsp;</td><td width="20%" align="center">&nbsp;</td><td width="40%" align="right" valign="top">&nbsp;Preface</td></tr></table></div></body></html>
\ No newline at end of file

Modified: trunk/libs/msm/doc/HTML/pt01.html
==============================================================================
--- trunk/libs/msm/doc/HTML/pt01.html Sun Sep 22 06:12:20 2013 (r85820)
+++ trunk/libs/msm/doc/HTML/pt01.html 2013-09-22 06:27:26 EDT (Sun, 22 Sep 2013) (r85821)
@@ -12,4 +12,4 @@
                         better compile-time / multi-TU compilation</a></span></dt><dt><span class="sect2">Compile-time state machine analysis </span></dt><dt><span class="sect2"><a href="ch03s05.html#d0e2668"> Enqueueing events for later
                         processing </a></span></dt><dt><span class="sect2"> Customizing the message queues </span></dt><dt><span class="sect2">Policy definition with Boost.Parameter </span></dt><dt><span class="sect2"><a href="ch03s05.html#d0e2711">Choosing when to switch active
                         states </a></span></dt></dl></dd></dl></dd><dt><span class="chapter">4. Performance / Compilers</span></dt><dd><dl><dt><span class="sect1">Speed</span></dt><dt><span class="sect1">Executable size</span></dt><dt><span class="sect1">Supported compilers</span></dt><dt><span class="sect1"> Limitations </span></dt><dt><span class="sect1"> Compilers corner </span></dt></dl></dd><dt><span class="chapter">5. Questions & Answers, tips</span></dt><dt><span class="chapter">6. Internals</span></dt><dd><dl><dt><span class="sect1">Backend: Run To Completion</span></dt><dt><span class="sect1"><a href="ch06s02.html">Frontend / Backend
- interface</a></span></dt><dt><span class="sect1"> Generated state ids </span></dt><dt><span class="sect1">Metaprogramming tools</span></dt></dl></dd><dt><span class="chapter">7. Acknowledgements</span></dt><dd><dl><dt><span class="sect1">MSM v2</span></dt><dt><span class="sect1"> MSM v1</span></dt></dl></dd><dt><span class="chapter">8. Version history</span></dt><dd><dl><dt><span class="sect1">From V2.24 to V2.25 (Boost 1.54)</span></dt><dt><span class="sect1">From V2.23 to V2.24 (Boost 1.51)</span></dt><dt><span class="sect1">From V2.22 to V2.23 (Boost 1.50)</span></dt><dt><span class="sect1">From V2.21 to V2.22 (Boost 1.48)</span></dt><dt><span class="sect1"><a href="ch08s05.html">From V2.20 to V2.21 (Boost 1.47)</a>
</span></dt><dt><span class="sect1">From V2.12 to V2.20 (Boost 1.46)</span></dt><dt><span class="sect1">From V2.10 to V2.12 (Boost 1.45)</span></dt><dt><span class="sect1">From V2.0 to V2.12 (Boost 1.44)</span></dt></dl></dd></dl></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="pr01.html">Prev</a>&nbsp;</td><td width="20%" align="center">&nbsp;</td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch01.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Preface&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">&nbsp;Chapter&nbsp;1.&nbsp;Founding idea</td></tr></table></div></body></html>
\ No newline at end of file
+ interface</a></span></dt><dt><span class="sect1"> Generated state ids </span></dt><dt><span class="sect1">Metaprogramming tools</span></dt></dl></dd><dt><span class="chapter">7. Acknowledgements</span></dt><dd><dl><dt><span class="sect1">MSM v2</span></dt><dt><span class="sect1"> MSM v1</span></dt></dl></dd><dt><span class="chapter">8. Version history</span></dt><dd><dl><dt><span class="sect1">From V2.25 to V2.26 (Boost 1.55)</span></dt><dt><span class="sect1">From V2.24 to V2.25 (Boost 1.54)</span></dt><dt><span class="sect1">From V2.23 to V2.24 (Boost 1.51)</span></dt><dt><span class="sect1">From V2.22 to V2.23 (Boost 1.50)</span></dt><dt><span class="sect1"><a href="ch08s05.html">From V2.21 to V2.22 (Boost 1.48)</a>
</span></dt><dt><span class="sect1">From V2.20 to V2.21 (Boost 1.47)</span></dt><dt><span class="sect1">From V2.12 to V2.20 (Boost 1.46)</span></dt><dt><span class="sect1">From V2.10 to V2.12 (Boost 1.45)</span></dt><dt><span class="sect1">From V2.0 to V2.12 (Boost 1.44)</span></dt></dl></dd></dl></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="pr01.html">Prev</a>&nbsp;</td><td width="20%" align="center">&nbsp;</td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch01.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Preface&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">&nbsp;Chapter&nbsp;1.&nbsp;Founding idea</td></tr></table></div></body></html>
\ No newline at end of file

Modified: trunk/libs/msm/doc/HTML/pt02.html
==============================================================================
--- trunk/libs/msm/doc/HTML/pt02.html Sun Sep 22 06:12:20 2013 (r85820)
+++ trunk/libs/msm/doc/HTML/pt02.html 2013-09-22 06:27:26 EDT (Sun, 22 Sep 2013) (r85821)
@@ -1,4 +1,4 @@
 <html><head>
       <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
- <title>Part&nbsp;II.&nbsp;Reference</title><link rel="stylesheet" href="boostbook.css" type="text/css"><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"><link rel="home" href="index.html" title="Meta State Machine (MSM)"><link rel="up" href="index.html" title="Meta State Machine (MSM)"><link rel="prev" href="ch08s08.html" title="From V2.0 to V2.12 (Boost 1.44)"><link rel="next" href="ch09.html" title="Chapter&nbsp;9.&nbsp;External references to MSM"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Part&nbsp;II.&nbsp;Reference</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch08s08.html">Prev</a>&nbsp;</td><th width="60%" align="center">&nbsp;</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch09.html">Next</a></td></tr></table><hr></div><div class="part" title="Part&nbsp;II.&nbsp;Reference"><div class="titlepage"
><div><div><h1 class="title"><a name="d0e3645"></a>Part&nbsp;II.&nbsp;<span class="command"><strong><a name="Reference-begin"></a></strong></span>Reference</h1></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="chapter">9. External references to MSM</span></dt><dt><span class="chapter">10. eUML operators and basic helpers</span></dt><dt><span class="chapter"><a href="ch11.html">11.
- Functional programming </a></span></dt><dt><span class="refentrytitle">Common headers</span><span class="refpurpose"> &#8212; The common types used by front- and back-ends</span></dt><dt><span class="refentrytitle">Back-end</span><span class="refpurpose"> &#8212; The back-end headers</span></dt><dt><span class="refentrytitle">Front-end</span><span class="refpurpose"> &#8212; The front-end headers</span></dt></dl></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch08s08.html">Prev</a>&nbsp;</td><td width="20%" align="center">&nbsp;</td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch09.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">From V2.0 to V2.12 (Boost 1.44)&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">&
nbsp;Chapter&nbsp;9.&nbsp;External references to MSM</td></tr></table></div></body></html>
\ No newline at end of file
+ <title>Part&nbsp;II.&nbsp;Reference</title><link rel="stylesheet" href="boostbook.css" type="text/css"><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"><link rel="home" href="index.html" title="Meta State Machine (MSM)"><link rel="up" href="index.html" title="Meta State Machine (MSM)"><link rel="prev" href="ch08s09.html" title="From V2.0 to V2.12 (Boost 1.44)"><link rel="next" href="ch09.html" title="Chapter&nbsp;9.&nbsp;External references to MSM"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Part&nbsp;II.&nbsp;Reference</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch08s09.html">Prev</a>&nbsp;</td><th width="60%" align="center">&nbsp;</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch09.html">Next</a></td></tr></table><hr></div><div class="part" title="Part&nbsp;II.&nbsp;Reference"><div class="titlepage"
><div><div><h1 class="title"><a name="d0e3658"></a>Part&nbsp;II.&nbsp;<span class="command"><strong><a name="Reference-begin"></a></strong></span>Reference</h1></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="chapter">9. External references to MSM</span></dt><dt><span class="chapter">10. eUML operators and basic helpers</span></dt><dt><span class="chapter"><a href="ch11.html">11.
+ Functional programming </a></span></dt><dt><span class="refentrytitle">Common headers</span><span class="refpurpose"> &#8212; The common types used by front- and back-ends</span></dt><dt><span class="refentrytitle">Back-end</span><span class="refpurpose"> &#8212; The back-end headers</span></dt><dt><span class="refentrytitle">Front-end</span><span class="refpurpose"> &#8212; The front-end headers</span></dt></dl></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch08s09.html">Prev</a>&nbsp;</td><td width="20%" align="center">&nbsp;</td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch09.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">From V2.0 to V2.12 (Boost 1.44)&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">&
nbsp;Chapter&nbsp;9.&nbsp;External references to MSM</td></tr></table></div></body></html>
\ No newline at end of file

Modified: trunk/libs/msm/doc/HTML/re01.html
==============================================================================
--- trunk/libs/msm/doc/HTML/re01.html Sun Sep 22 06:12:20 2013 (r85820)
+++ trunk/libs/msm/doc/HTML/re01.html 2013-09-22 06:27:26 EDT (Sun, 22 Sep 2013) (r85821)
@@ -1,8 +1,8 @@
 <html><head>
       <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
- <title>Common headers</title><link rel="stylesheet" href="boostbook.css" type="text/css"><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"><link rel="home" href="index.html" title="Meta State Machine (MSM)"><link rel="up" href="pt02.html" title="Part&nbsp;II.&nbsp;Reference"><link rel="prev" href="ch11.html" title="Chapter&nbsp;11.&nbsp; Functional programming"><link rel="next" href="re02.html" title="Back-end"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Common headers</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch11.html">Prev</a>&nbsp;</td><th width="60%" align="center">Part&nbsp;II.&nbsp;Reference</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="re02.html">Next</a></td></tr></table><hr></div><div class="refentry" title="Common headers"><a name="d0e5124"></a><div class="titlepage"></div><div class="ref
namediv"><h2>Name</h2><p>Common headers &#8212; The common types used by front- and back-ends</p></div><div class="refsect1" title="msm/common.hpp"><a name="d0e5130"></a><h2>msm/common.hpp</h2><p>This header provides one type, wrap, which is an empty type whose only reason
+ <title>Common headers</title><link rel="stylesheet" href="boostbook.css" type="text/css"><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"><link rel="home" href="index.html" title="Meta State Machine (MSM)"><link rel="up" href="pt02.html" title="Part&nbsp;II.&nbsp;Reference"><link rel="prev" href="ch11.html" title="Chapter&nbsp;11.&nbsp; Functional programming"><link rel="next" href="re02.html" title="Back-end"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Common headers</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch11.html">Prev</a>&nbsp;</td><th width="60%" align="center">Part&nbsp;II.&nbsp;Reference</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="re02.html">Next</a></td></tr></table><hr></div><div class="refentry" title="Common headers"><a name="d0e5137"></a><div class="titlepage"></div><div class="ref
namediv"><h2>Name</h2><p>Common headers &#8212; The common types used by front- and back-ends</p></div><div class="refsect1" title="msm/common.hpp"><a name="d0e5143"></a><h2>msm/common.hpp</h2><p>This header provides one type, wrap, which is an empty type whose only reason
                     to exist is to be cheap to construct, so that it can be used with mpl::for_each,
- as shown in the Metaprogramming book, chapter 9.</p><pre class="classsynopsis"> <span class="ooclass"><span class="classname">template &lt;class Dummy&gt; wrap{};</span></span>&nbsp;{<br>}</pre></div><div class="refsect1" title="msm/row_tags.hpp"><a name="d0e5139"></a><h2>msm/row_tags.hpp</h2><p>This header contains the row type tags which front-ends can support partially
+ as shown in the Metaprogramming book, chapter 9.</p><pre class="classsynopsis"> <span class="ooclass"><span class="classname">template &lt;class Dummy&gt; wrap{};</span></span>&nbsp;{<br>}</pre></div><div class="refsect1" title="msm/row_tags.hpp"><a name="d0e5152"></a><h2>msm/row_tags.hpp</h2><p>This header contains the row type tags which front-ends can support partially
                     or totally. Please see the <span class="command"><strong><a class="command" href="ch06s02.html#internals-front-back-interface">Internals</a></strong></span> section for a description of the different
                     types.</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch11.html">Prev</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="pt02.html">Up</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="re02.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter&nbsp;11.&nbsp;
                 Functional programming &nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">&nbsp;Back-end</td></tr></table></div></body></html>
\ No newline at end of file

Modified: trunk/libs/msm/doc/HTML/re02.html
==============================================================================
--- trunk/libs/msm/doc/HTML/re02.html Sun Sep 22 06:12:20 2013 (r85820)
+++ trunk/libs/msm/doc/HTML/re02.html 2013-09-22 06:27:26 EDT (Sun, 22 Sep 2013) (r85821)
@@ -1,79 +1,79 @@
 <html><head>
       <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
- <title>Back-end</title><link rel="stylesheet" href="boostbook.css" type="text/css"><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"><link rel="home" href="index.html" title="Meta State Machine (MSM)"><link rel="up" href="pt02.html" title="Part&nbsp;II.&nbsp;Reference"><link rel="prev" href="re01.html" title="Common headers"><link rel="next" href="re03.html" title="Front-end"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Back-end</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="re01.html">Prev</a>&nbsp;</td><th width="60%" align="center">Part&nbsp;II.&nbsp;Reference</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="re03.html">Next</a></td></tr></table><hr></div><div class="refentry" title="Back-end"><a name="d0e5147"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>Back-end &#8212; The ba
ck-end headers</p></div><div class="refsect1" title="msm/back/state_machine.hpp"><a name="d0e5153"></a><h2>msm/back/state_machine.hpp</h2><p> This header provides one type, state_machine, MSM's state machine engine
+ <title>Back-end</title><link rel="stylesheet" href="boostbook.css" type="text/css"><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"><link rel="home" href="index.html" title="Meta State Machine (MSM)"><link rel="up" href="pt02.html" title="Part&nbsp;II.&nbsp;Reference"><link rel="prev" href="re01.html" title="Common headers"><link rel="next" href="re03.html" title="Front-end"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Back-end</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="re01.html">Prev</a>&nbsp;</td><th width="60%" align="center">Part&nbsp;II.&nbsp;Reference</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="re03.html">Next</a></td></tr></table><hr></div><div class="refentry" title="Back-end"><a name="d0e5160"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>Back-end &#8212; The ba
ck-end headers</p></div><div class="refsect1" title="msm/back/state_machine.hpp"><a name="d0e5166"></a><h2>msm/back/state_machine.hpp</h2><p> This header provides one type, state_machine, MSM's state machine engine
                     implementation.</p><pre class="classsynopsis"> <span class="ooclass"><span class="classname">template &lt;class Derived,class HistoryPolicy=NoHistory,class
- CompilePolicy=favor_runtime_speed&gt; state_machine</span></span>&nbsp;{<br>}</pre><div class="refsect2" title="Template arguments"><a name="d0e5162"></a><h3> Template arguments </h3><div class="refsect3" title="Derived"><a name="d0e5165"></a><h4> Derived </h4><p>The name of the front-end state machine definition. All three
- front-ends are possible.</p></div><div class="refsect3" title="HistoryPolicy"><a name="d0e5170"></a><h4> HistoryPolicy </h4><p>The desired history. This can be: AlwaysHistory, NoHistory,
- ShallowHistory. Default is NoHistory.</p></div><div class="refsect3" title="CompilePolicy"><a name="d0e5175"></a><h4> CompilePolicy </h4><p>The trade-off performance / compile-time. There are two predefined
+ CompilePolicy=favor_runtime_speed&gt; state_machine</span></span>&nbsp;{<br>}</pre><div class="refsect2" title="Template arguments"><a name="d0e5175"></a><h3> Template arguments </h3><div class="refsect3" title="Derived"><a name="d0e5178"></a><h4> Derived </h4><p>The name of the front-end state machine definition. All three
+ front-ends are possible.</p></div><div class="refsect3" title="HistoryPolicy"><a name="d0e5183"></a><h4> HistoryPolicy </h4><p>The desired history. This can be: AlwaysHistory, NoHistory,
+ ShallowHistory. Default is NoHistory.</p></div><div class="refsect3" title="CompilePolicy"><a name="d0e5188"></a><h4> CompilePolicy </h4><p>The trade-off performance / compile-time. There are two predefined
                             policies, favor_runtime_speed and favor_compile_time. Default is
- favor_runtime_speed, best performance, longer compile-time. See <a class="link" href="ch03s05.html#backend-tradeof-rt-ct">the backend</a>.</p></div></div><div class="refsect2" title="methods"><a name="d0e5183"></a><h3> methods </h3><div class="refsect3" title="start"><a name="d0e5186"></a><h4>start</h4><p> The start methods must be called before any call to process_event. It
+ favor_runtime_speed, best performance, longer compile-time. See <a class="link" href="ch03s05.html#backend-tradeof-rt-ct">the backend</a>.</p></div></div><div class="refsect2" title="methods"><a name="d0e5196"></a><h3> methods </h3><div class="refsect3" title="start"><a name="d0e5199"></a><h4>start</h4><p> The start methods must be called before any call to process_event. It
                             activates the entry action of the initial state(s). This allows you to
- choose when a state machine can start. See <a class="link" href="ch03s05.html#backend-start">backend</a>.</p><code class="methodsynopsis"><span class="methodname">void start</span>(<span class="methodparam"></span>);</code></div><div class="refsect3" title="process_event"><a name="d0e5199"></a><h4>process_event</h4><p>The event processing method implements the double-dispatch. Each call
+ choose when a state machine can start. See <a class="link" href="ch03s05.html#backend-start">backend</a>.</p><code class="methodsynopsis"><span class="methodname">void start</span>(<span class="methodparam"></span>);</code></div><div class="refsect3" title="process_event"><a name="d0e5212"></a><h4>process_event</h4><p>The event processing method implements the double-dispatch. Each call
                             to this function with a new event type instantiates a new dispatch
                             algorithm and increases compile-time.</p><code class="methodsynopsis"><span class="methodname">template &lt;class Event&gt; HandledEnum
- process_event</span>(<span class="methodparam">Event const&amp;</span>);</code></div><div class="refsect3" title="current_state"><a name="d0e5210"></a><h4>current_state</h4><p>Returns the ids of currently active states. You will typically need it
- only for debugging or logging purposes.</p><code class="methodsynopsis"><span class="methodname">const int* current_state const</span>(<span class="methodparam"></span>);</code></div><div class="refsect3" title="get_state_by_id"><a name="d0e5220"></a><h4>get_state_by_id</h4><p>Returns the state whose id is given. As all states of a concrete state
+ process_event</span>(<span class="methodparam">Event const&amp;</span>);</code></div><div class="refsect3" title="current_state"><a name="d0e5223"></a><h4>current_state</h4><p>Returns the ids of currently active states. You will typically need it
+ only for debugging or logging purposes.</p><code class="methodsynopsis"><span class="methodname">const int* current_state const</span>(<span class="methodparam"></span>);</code></div><div class="refsect3" title="get_state_by_id"><a name="d0e5233"></a><h4>get_state_by_id</h4><p>Returns the state whose id is given. As all states of a concrete state
                             machine share a common base state, the return value is a base state. If
- the id corresponds to no state, a null pointer is returned.</p><code class="methodsynopsis"><span class="methodname">const BaseState* get_state_by_id const</span>(<span class="methodparam">int id</span>);</code></div><div class="refsect3" title="is_contained"><a name="d0e5231"></a><h4>is_contained</h4><p>Helper returning true if the state machine is contained as a
- submachine of another state machine.</p><code class="methodsynopsis"><span class="methodname">bool is_contained const</span>(<span class="methodparam"></span>);</code></div><div class="refsect3" title="get_state"><a name="d0e5241"></a><h4>get_state</h4><p>Returns the required state of the state machine as a pointer. A
+ the id corresponds to no state, a null pointer is returned.</p><code class="methodsynopsis"><span class="methodname">const BaseState* get_state_by_id const</span>(<span class="methodparam">int id</span>);</code></div><div class="refsect3" title="is_contained"><a name="d0e5244"></a><h4>is_contained</h4><p>Helper returning true if the state machine is contained as a
+ submachine of another state machine.</p><code class="methodsynopsis"><span class="methodname">bool is_contained const</span>(<span class="methodparam"></span>);</code></div><div class="refsect3" title="get_state"><a name="d0e5254"></a><h4>get_state</h4><p>Returns the required state of the state machine as a pointer. A
                             compile error will occur if the state is not to be found in the state
- machine.</p><code class="methodsynopsis"><span class="methodname">template &lt;class State&gt; State* get_state</span>(<span class="methodparam"></span>);</code></div><div class="refsect3" title="get_state"><a name="d0e5251"></a><h4>get_state</h4><p>Returns the required state of the state machine as a reference. A
+ machine.</p><code class="methodsynopsis"><span class="methodname">template &lt;class State&gt; State* get_state</span>(<span class="methodparam"></span>);</code></div><div class="refsect3" title="get_state"><a name="d0e5264"></a><h4>get_state</h4><p>Returns the required state of the state machine as a reference. A
                             compile error will occur if the state is not to be found in the state
- machine.</p><code class="methodsynopsis"><span class="methodname">template &lt;class State&gt; State&amp; get_state</span>(<span class="methodparam"></span>);</code></div><div class="refsect3" title="is_flag_active"><a name="d0e5261"></a><h4>is_flag_active</h4><p>Returns true if the given flag is currently active. A flag is active
+ machine.</p><code class="methodsynopsis"><span class="methodname">template &lt;class State&gt; State&amp; get_state</span>(<span class="methodparam"></span>);</code></div><div class="refsect3" title="is_flag_active"><a name="d0e5274"></a><h4>is_flag_active</h4><p>Returns true if the given flag is currently active. A flag is active
                             if the active state of one region is tagged with this flag (using OR as
                             BinaryOp) or active states of <span class="underline">all</span>
                             regions (using AND as BinaryOp)</p><code class="methodsynopsis"><span class="methodname">template &lt;class Flag,class BinaryOp&gt; bool
- is_flag_active</span>(<span class="methodparam"></span>);</code></div><div class="refsect3" title="is_flag_active"><a name="d0e5274"></a><h4>is_flag_active</h4><p>Returns true if the given flag is currently active. A flag is active
- if the active state of one region is tagged with this flag.</p><code class="methodsynopsis"><span class="methodname">template &lt;class Flag&gt; bool is_flag_active</span>(<span class="methodparam"></span>);</code></div><div class="refsect3" title="visit_current_states"><a name="d0e5284"></a><h4>visit_current_states</h4><p>Visits all active states and their substates. A state is visited using
+ is_flag_active</span>(<span class="methodparam"></span>);</code></div><div class="refsect3" title="is_flag_active"><a name="d0e5287"></a><h4>is_flag_active</h4><p>Returns true if the given flag is currently active. A flag is active
+ if the active state of one region is tagged with this flag.</p><code class="methodsynopsis"><span class="methodname">template &lt;class Flag&gt; bool is_flag_active</span>(<span class="methodparam"></span>);</code></div><div class="refsect3" title="visit_current_states"><a name="d0e5297"></a><h4>visit_current_states</h4><p>Visits all active states and their substates. A state is visited using
                             the <code class="code">accept</code> method without argument. The base class of all
- states must provide an <code class="code">accept_sig</code> type.</p><code class="methodsynopsis"><span class="methodname">void visit_current_states</span>(<span class="methodparam"></span>);</code></div><div class="refsect3" title="visit_current_states"><a name="d0e5300"></a><h4>visit_current_states</h4><p>Visits all active states and their substates. A state is visited using
+ states must provide an <code class="code">accept_sig</code> type.</p><code class="methodsynopsis"><span class="methodname">void visit_current_states</span>(<span class="methodparam"></span>);</code></div><div class="refsect3" title="visit_current_states"><a name="d0e5313"></a><h4>visit_current_states</h4><p>Visits all active states and their substates. A state is visited using
                             the <code class="code">accept</code> method with arguments. The base class of all
                             states must provide an <code class="code">accept_sig</code> type defining the
- signature and thus the number and type of the parameters.</p><code class="methodsynopsis"><span class="methodname">void visit_current_states</span>(<span class="methodparam">any-type param1, any-type param2,...</span>);</code></div><div class="refsect3" title="defer_event"><a name="d0e5317"></a><h4>defer_event</h4><p> Defers the provided event. This method can be called only if at least
+ signature and thus the number and type of the parameters.</p><code class="methodsynopsis"><span class="methodname">void visit_current_states</span>(<span class="methodparam">any-type param1, any-type param2,...</span>);</code></div><div class="refsect3" title="defer_event"><a name="d0e5330"></a><h4>defer_event</h4><p> Defers the provided event. This method can be called only if at least
                             one state defers an event or if the state machine provides the
                                 <code class="code">activate_deferred_events</code>(see <a class="link" href="examples/Orthogonal-deferred2.cpp" target="_top">example</a>) type
                             either directly or using the deferred_events configuration of eUML
- (<code class="code">configure_ &lt;&lt; deferred_events</code>)</p><code class="methodsynopsis"><span class="methodname">template &lt;class Event&gt; void defer_event</span>(<span class="methodparam">Event const&amp;</span>);</code></div></div><div class="refsect2" title="Types"><a name="d0e5337"></a><h3>Types</h3><div class="refsect3" title="nr_regions"><a name="d0e5340"></a><h4>nr_regions </h4><p>The number of orthogonal regions contained in the state machine</p></div><div class="refsect3" title="entry_pt"><a name="d0e5345"></a><h4>entry_pt</h4><p>This nested type provides the necessary typedef for entry point
+ (<code class="code">configure_ &lt;&lt; deferred_events</code>)</p><code class="methodsynopsis"><span class="methodname">template &lt;class Event&gt; void defer_event</span>(<span class="methodparam">Event const&amp;</span>);</code></div></div><div class="refsect2" title="Types"><a name="d0e5350"></a><h3>Types</h3><div class="refsect3" title="nr_regions"><a name="d0e5353"></a><h4>nr_regions </h4><p>The number of orthogonal regions contained in the state machine</p></div><div class="refsect3" title="entry_pt"><a name="d0e5358"></a><h4>entry_pt</h4><p>This nested type provides the necessary typedef for entry point
                             pseudostates.
                                 <code class="code">state_machine&lt;...&gt;::entry_pt&lt;state_name&gt;</code> is a
                             transition's valid target inside the containing state machine's
- transition table.</p><pre class="classsynopsis"> <span class="ooclass"><span class="classname">entry_pt</span></span>&nbsp;{<br>}</pre></div><div class="refsect3" title="exit_pt"><a name="d0e5357"></a><h4>exit_pt</h4><p>This nested type provides the necessary typedef for exit point
+ transition table.</p><pre class="classsynopsis"> <span class="ooclass"><span class="classname">entry_pt</span></span>&nbsp;{<br>}</pre></div><div class="refsect3" title="exit_pt"><a name="d0e5370"></a><h4>exit_pt</h4><p>This nested type provides the necessary typedef for exit point
                             pseudostates. <code class="code">state_machine&lt;...&gt;::exit_pt&lt;state_name&gt;</code>
                             is a transition's valid source inside the containing state machine's
- transition table.</p><pre class="classsynopsis"> <span class="ooclass"><span class="classname">exit_pt</span></span>&nbsp;{<br>}</pre></div><div class="refsect3" title="direct"><a name="d0e5369"></a><h4>direct</h4><p>This nested type provides the necessary typedef for an explicit entry
+ transition table.</p><pre class="classsynopsis"> <span class="ooclass"><span class="classname">exit_pt</span></span>&nbsp;{<br>}</pre></div><div class="refsect3" title="direct"><a name="d0e5382"></a><h4>direct</h4><p>This nested type provides the necessary typedef for an explicit entry
                             inside a submachine.
                                 <code class="code">state_machine&lt;...&gt;::direct&lt;state_name&gt;</code> is a
                             transition's valid target inside the containing state machine's
- transition table.</p><pre class="classsynopsis"> <span class="ooclass"><span class="classname">direct</span></span>&nbsp;{<br>}</pre></div><div class="refsect3" title="stt"><a name="d0e5381"></a><h4>stt</h4><p>Calling state_machine&lt;frontend&gt;::stt returns a mpl::vector
+ transition table.</p><pre class="classsynopsis"> <span class="ooclass"><span class="classname">direct</span></span>&nbsp;{<br>}</pre></div><div class="refsect3" title="stt"><a name="d0e5394"></a><h4>stt</h4><p>Calling state_machine&lt;frontend&gt;::stt returns a mpl::vector
                             containing the transition table of the state machine. This type can then
- be used with generate_state_set or generate_event_set.</p></div></div></div><div class="refsect1" title="args.hpp"><a name="d0e5386"></a><h2>args.hpp</h2><p>This header provides one type, args. which provides the necessary types for a
- visitor implementation.</p></div><div class="refsect1" title="msm/back/history_policies.hpp"><a name="d0e5391"></a><h2><span class="command"><strong><a name="history-interface"></a></strong></span>msm/back/history_policies.hpp</h2><p>This header provides the out-of-the-box history policies supported by MSM.
- There are 3 such policies.</p><div class="refsect2" title="Every history policy must implement the following methods:"><a name="d0e5397"></a><h3>Every history policy must implement the following methods: </h3><div class="refsect3" title="set_initial_states"><a name="d0e5400"></a><h4> set_initial_states </h4><p> This method is called by msm::back::state_machine when constructed.
+ be used with generate_state_set or generate_event_set.</p></div></div></div><div class="refsect1" title="args.hpp"><a name="d0e5399"></a><h2>args.hpp</h2><p>This header provides one type, args. which provides the necessary types for a
+ visitor implementation.</p></div><div class="refsect1" title="msm/back/history_policies.hpp"><a name="d0e5404"></a><h2><span class="command"><strong><a name="history-interface"></a></strong></span>msm/back/history_policies.hpp</h2><p>This header provides the out-of-the-box history policies supported by MSM.
+ There are 3 such policies.</p><div class="refsect2" title="Every history policy must implement the following methods:"><a name="d0e5410"></a><h3>Every history policy must implement the following methods: </h3><div class="refsect3" title="set_initial_states"><a name="d0e5413"></a><h4> set_initial_states </h4><p> This method is called by msm::back::state_machine when constructed.
                             It gives the policy a chance to save the ids of all initial states
                             (passed as array).</p><div class="funcsynopsis"><table border="0" summary="Function synopsis" cellspacing="0" cellpadding="0" class="funcprototype-table"><tr><td><code class="funcdef">void set_initial_states(</code></td><td><code>)</code>;</td><td>&nbsp;</td></tr></table><div class="paramdef-list"><code>
                                     <code>(</code>int* const<code>)</code>
- </code>;</div><div class="funcprototype-spacer">&nbsp;</div></div></div><div class="refsect3" title="history_exit"><a name="d0e5414"></a><h4> history_exit </h4><p>This method is called by msm::back::state_machine when the submachine
+ </code>;</div><div class="funcprototype-spacer">&nbsp;</div></div></div><div class="refsect3" title="history_exit"><a name="d0e5427"></a><h4> history_exit </h4><p>This method is called by msm::back::state_machine when the submachine
                             is exited. It gives the policy a chance to remember the ids of the last
                             active substates of this submachine (passed as array).</p><div class="funcsynopsis"><table border="0" summary="Function synopsis" cellspacing="0" cellpadding="0" class="funcprototype-table"><tr><td><code class="funcdef">void history_exit(</code></td><td><code>)</code>;</td><td>&nbsp;</td></tr></table><div class="paramdef-list"><code>
                                     <code>(</code>int* const<code>)</code>
- </code>;</div><div class="funcprototype-spacer">&nbsp;</div></div></div><div class="refsect3" title="history_entry"><a name="d0e5428"></a><h4> history_entry </h4><p>This method is called by msm::back::state_machine when the submachine
+ </code>;</div><div class="funcprototype-spacer">&nbsp;</div></div></div><div class="refsect3" title="history_entry"><a name="d0e5441"></a><h4> history_entry </h4><p>This method is called by msm::back::state_machine when the submachine
                             is entered. It gives the policy a chance to set the active states
                             according to the policy's aim. The policy gets as parameter the event
                             which activated the submachine and returns an array of active states
                             ids.</p><div class="funcsynopsis"><table border="0" summary="Function synopsis" cellspacing="0" cellpadding="0" class="funcprototype-table"><tr><td><code class="funcdef">template &lt;class Event&gt; int* const history_exit(</code></td><td><code>)</code>;</td><td>&nbsp;</td></tr></table><div class="paramdef-list"><code>
                                     <code>(</code>Event const&amp;<code>)</code>
- </code>;</div><div class="funcprototype-spacer">&nbsp;</div></div></div></div><div class="refsect2" title="Out-of-the-box policies:"><a name="d0e5442"></a><h3>Out-of-the-box policies: </h3><div class="refsect3" title="NoHistory"><a name="d0e5445"></a><h4>NoHistory</h4><p>This policy is the default used by state_machine. No active state of a
+ </code>;</div><div class="funcprototype-spacer">&nbsp;</div></div></div></div><div class="refsect2" title="Out-of-the-box policies:"><a name="d0e5455"></a><h3>Out-of-the-box policies: </h3><div class="refsect3" title="NoHistory"><a name="d0e5458"></a><h4>NoHistory</h4><p>This policy is the default used by state_machine. No active state of a
                             submachine is remembered and at every new activation of the submachine,
- the initial state(s) are activated. </p></div><div class="refsect3" title="AlwaysHistory"><a name="d0e5450"></a><h4>AlwaysHistory</h4><p>This policy is a non-UML-standard extension. The active state(s) of a
+ the initial state(s) are activated. </p></div><div class="refsect3" title="AlwaysHistory"><a name="d0e5463"></a><h4>AlwaysHistory</h4><p>This policy is a non-UML-standard extension. The active state(s) of a
                             submachine is (are) always remembered at every new activation of the
- submachine. </p></div><div class="refsect3" title="ShallowHistory"><a name="d0e5455"></a><h4>ShallowHistory</h4><p>This policy activates the active state(s) of a submachine if the event
- is found in the policy's event list. </p></div></div></div><div class="refsect1" title="msm/back/default_compile_policy.hpp"><a name="d0e5460"></a><h2>msm/back/default_compile_policy.hpp</h2><p>This header contains the definition of favor_runtime_speed. This policy has
+ submachine. </p></div><div class="refsect3" title="ShallowHistory"><a name="d0e5468"></a><h4>ShallowHistory</h4><p>This policy activates the active state(s) of a submachine if the event
+ is found in the policy's event list. </p></div></div></div><div class="refsect1" title="msm/back/default_compile_policy.hpp"><a name="d0e5473"></a><h2>msm/back/default_compile_policy.hpp</h2><p>This header contains the definition of favor_runtime_speed. This policy has
                     two settings:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Submachines dispatch faster because their transitions are added
                                 into their containing machine's transition table instead of simply
- forwarding events.</p></li><li class="listitem"><p>It solves transition conflicts at compile-time</p></li></ul></div></div><div class="refsect1" title="msm/back/favor_compile_time.hpp"><a name="d0e5472"></a><h2>msm/back/favor_compile_time.hpp</h2><p>This header contains the definition of favor_compile_time. This policy has two settings:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Submachines dispatch is slower because all events, even those with
+ forwarding events.</p></li><li class="listitem"><p>It solves transition conflicts at compile-time</p></li></ul></div></div><div class="refsect1" title="msm/back/favor_compile_time.hpp"><a name="d0e5485"></a><h2>msm/back/favor_compile_time.hpp</h2><p>This header contains the definition of favor_compile_time. This policy has two settings:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Submachines dispatch is slower because all events, even those with
                                 no dispatch chance, are forwarded to submachines. In exchange, no
                                 row is added into the containing machine's transition table, which
- reduces compile-time.</p></li><li class="listitem"><p>It solves transition conflicts at run-time.</p></li></ul></div></div><div class="refsect1" title="msm/back/metafunctions.hpp"><a name="d0e5484"></a><h2>msm/back/metafunctions.hpp </h2><p>This header contains metafunctions for use by the library. Three metafunctions
+ reduces compile-time.</p></li><li class="listitem"><p>It solves transition conflicts at run-time.</p></li></ul></div></div><div class="refsect1" title="msm/back/metafunctions.hpp"><a name="d0e5497"></a><h2>msm/back/metafunctions.hpp </h2><p>This header contains metafunctions for use by the library. Three metafunctions
                     can be useful for the user:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><code class="code">generate_state_set&lt; stt &gt;</code>: generates the list of
                                 all states referenced by the transition table stt. If stt is a
                                 recursive table (generated by
@@ -86,10 +86,10 @@
                                 finds recursively all events of the submachines. A non-recursive
                                 table can be obtained with some_backend_fsm::stt.</p></li><li class="listitem"><p><code class="code">recursive_get_transition_table&lt;fsm&gt;</code>: recursively
                                 extends the transition table of the state machine fsm with tables
- from the submachines.</p></li></ul></div></div><div class="refsect1" title="msm/back/tools.hpp"><a name="d0e5511"></a><h2>msm/back/tools.hpp </h2><p> This header contains a few metaprogramming tools to get some information out
- of a state machine.</p><div class="refsect2" title="fill_state_names"><a name="d0e5516"></a><h3>fill_state_names </h3><div class="refsect3" title="attributes"><a name="d0e5519"></a><h4>attributes </h4><p> fill_state_names has for attribute:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><code class="code">char const** m_names</code>: an already allocated
+ from the submachines.</p></li></ul></div></div><div class="refsect1" title="msm/back/tools.hpp"><a name="d0e5524"></a><h2>msm/back/tools.hpp </h2><p> This header contains a few metaprogramming tools to get some information out
+ of a state machine.</p><div class="refsect2" title="fill_state_names"><a name="d0e5529"></a><h3>fill_state_names </h3><div class="refsect3" title="attributes"><a name="d0e5532"></a><h4>attributes </h4><p> fill_state_names has for attribute:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><code class="code">char const** m_names</code>: an already allocated
                                         array of const char* where the typeid-generated names of a
- state machine states will be witten.</p></li></ul></div></div><div class="refsect3" title="constructor"><a name="d0e5530"></a><h4>constructor </h4><code class="constructorsynopsis"><span class="methodparam">char const** names_to_fill</span>(<span class="methodparam">char const** names_to_fill</span>);</code></div><div class="refsect3" title="usage"><a name="d0e5537"></a><h4>usage</h4><p> fill_state_names is made for use in a mpl::for_each iterating on a
+ state machine states will be witten.</p></li></ul></div></div><div class="refsect3" title="constructor"><a name="d0e5543"></a><h4>constructor </h4><code class="constructorsynopsis"><span class="methodparam">char const** names_to_fill</span>(<span class="methodparam">char const** names_to_fill</span>);</code></div><div class="refsect3" title="usage"><a name="d0e5550"></a><h4>usage</h4><p> fill_state_names is made for use in a mpl::for_each iterating on a
                             state list and writing inside a pre-allocated array the state names.
                             Example:</p><pre class="programlisting">typedef some_fsm::stt Stt;
 typedef msm::back::generate_state_set&lt;Stt&gt;::type all_states; //states
@@ -104,9 +104,9 @@
     std::cout &lt;&lt; " -&gt; "
               &lt;&lt; state_names[my_fsm_instance.current_state()[i]]
               &lt;&lt; std::endl;
-}</pre></div></div><div class="refsect2" title="get_state_name"><a name="d0e5544"></a><h3>get_state_name </h3><div class="refsect3" title="attributes"><a name="d0e5547"></a><h4> attributes </h4><p>get_state_name has for attributes:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>std::string&amp; m_name: the return value of the
- iteration</p></li><li class="listitem"><p>int m_state_id: the searched state's id</p></li></ul></div></div><div class="refsect3" title="constructor"><a name="d0e5559"></a><h4>constructor</h4><p>The constructor takes as argument a reference to the string to fill
- with the state name and the id which must be searched.</p><code class="constructorsynopsis"><span class="methodparam">string&amp; name_to_fill,int state_id</span>(<span class="methodparam">string&amp; name_to_fill,int state_id</span>);</code></div><div class="refsect3" title="usage"><a name="d0e5568"></a><h4> usage</h4><p>This type is made for the same search as in the previous example,
+}</pre></div></div><div class="refsect2" title="get_state_name"><a name="d0e5557"></a><h3>get_state_name </h3><div class="refsect3" title="attributes"><a name="d0e5560"></a><h4> attributes </h4><p>get_state_name has for attributes:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>std::string&amp; m_name: the return value of the
+ iteration</p></li><li class="listitem"><p>int m_state_id: the searched state's id</p></li></ul></div></div><div class="refsect3" title="constructor"><a name="d0e5572"></a><h4>constructor</h4><p>The constructor takes as argument a reference to the string to fill
+ with the state name and the id which must be searched.</p><code class="constructorsynopsis"><span class="methodparam">string&amp; name_to_fill,int state_id</span>(<span class="methodparam">string&amp; name_to_fill,int state_id</span>);</code></div><div class="refsect3" title="usage"><a name="d0e5581"></a><h4> usage</h4><p>This type is made for the same search as in the previous example,
                             using a mpl::for_each to iterate on states. After the iteration, the
                             state name reference has been set.</p><pre class="programlisting">// we need a fsm's table
 typedef player::stt Stt;
@@ -115,6 +115,6 @@
 // fill name_of_open for state of id 1
 boost::mpl::for_each&lt;all_states,boost::msm::wrap&lt;mpl::placeholders::_1&gt; &gt;
           (msm::back::get_state_name&lt;Stt&gt;(name_of_open,1));
-std::cout &lt;&lt; "typeid-generated name Open is: " &lt;&lt; name_of_open &lt;&lt; std::endl;</pre></div></div><div class="refsect2" title="display_type"><a name="d0e5575"></a><h3>display_type </h3><div class="refsect3" title="attributes"><a name="d0e5578"></a><h4> attributes </h4><p>none</p></div><div class="refsect3" title="usage"><a name="d0e5583"></a><h4> usage</h4><p>Reusing the state list from the previous example, we can output all
+std::cout &lt;&lt; "typeid-generated name Open is: " &lt;&lt; name_of_open &lt;&lt; std::endl;</pre></div></div><div class="refsect2" title="display_type"><a name="d0e5588"></a><h3>display_type </h3><div class="refsect3" title="attributes"><a name="d0e5591"></a><h4> attributes </h4><p>none</p></div><div class="refsect3" title="usage"><a name="d0e5596"></a><h4> usage</h4><p>Reusing the state list from the previous example, we can output all
                             state names:</p><p><code class="code">mpl::for_each&lt;all_states,boost::msm::wrap&lt;mpl::placeholders::_1&gt;
                                 &gt;(msm::back::display_type ());</code></p></div></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="re01.html">Prev</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="pt02.html">Up</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="re03.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Common headers&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">&nbsp;Front-end</td></tr></table></div></body></html>
\ No newline at end of file

Modified: trunk/libs/msm/doc/HTML/re03.html
==============================================================================
--- trunk/libs/msm/doc/HTML/re03.html Sun Sep 22 06:12:20 2013 (r85820)
+++ trunk/libs/msm/doc/HTML/re03.html 2013-09-22 06:27:26 EDT (Sun, 22 Sep 2013) (r85821)
@@ -1,11 +1,11 @@
 <html><head>
       <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
- <title>Front-end</title><link rel="stylesheet" href="boostbook.css" type="text/css"><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"><link rel="home" href="index.html" title="Meta State Machine (MSM)"><link rel="up" href="pt02.html" title="Part&nbsp;II.&nbsp;Reference"><link rel="prev" href="re02.html" title="Back-end"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Front-end</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="re02.html">Prev</a>&nbsp;</td><th width="60%" align="center">Part&nbsp;II.&nbsp;Reference</th><td width="20%" align="right">&nbsp;</td></tr></table><hr></div><div class="refentry" title="Front-end"><a name="d0e5591"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>Front-end &#8212; The front-end headers</p></div><div class="refsect1" title="msm/front/common_states.hpp"><a name="d0e5
597"></a><h2>msm/front/common_states.hpp</h2><p>This header contains the predefined types to serve as base for states or state machines:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>default_base_state: non-polymorphic empty type.</p></li><li class="listitem"><p>polymorphic_state: type with a virtual destructor, which makes all
- states polymorphic.</p></li></ul></div></div><div class="refsect1" title="msm/front/completion_event.hpp"><a name="d0e5609"></a><h2>msm/front/completion_event.hpp</h2><p>This header contains one type, <code class="code">none</code>. This type has several
+ <title>Front-end</title><link rel="stylesheet" href="boostbook.css" type="text/css"><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"><link rel="home" href="index.html" title="Meta State Machine (MSM)"><link rel="up" href="pt02.html" title="Part&nbsp;II.&nbsp;Reference"><link rel="prev" href="re02.html" title="Back-end"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Front-end</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="re02.html">Prev</a>&nbsp;</td><th width="60%" align="center">Part&nbsp;II.&nbsp;Reference</th><td width="20%" align="right">&nbsp;</td></tr></table><hr></div><div class="refentry" title="Front-end"><a name="d0e5604"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>Front-end &#8212; The front-end headers</p></div><div class="refsect1" title="msm/front/common_states.hpp"><a name="d0e5
610"></a><h2>msm/front/common_states.hpp</h2><p>This header contains the predefined types to serve as base for states or state machines:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>default_base_state: non-polymorphic empty type.</p></li><li class="listitem"><p>polymorphic_state: type with a virtual destructor, which makes all
+ states polymorphic.</p></li></ul></div></div><div class="refsect1" title="msm/front/completion_event.hpp"><a name="d0e5622"></a><h2>msm/front/completion_event.hpp</h2><p>This header contains one type, <code class="code">none</code>. This type has several
                     meanings inside a transition table:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>as action or guard: that there is no action or guard</p></li><li class="listitem"><p>as target state: that the transition is an internal
                                 transition</p></li><li class="listitem"><p>as event: the transition is an anonymous (completion)
- transition</p></li></ul></div></div><div class="refsect1" title="msm/front/functor_row.hpp"><a name="d0e5627"></a><h2>msm/front/functor_row.hpp</h2><p>This header implements the functor front-end's transitions and helpers.</p><div class="refsect2" title="Row"><a name="d0e5632"></a><h3>Row</h3><div class="refsect3" title="definition"><a name="d0e5635"></a><h4>definition</h4><pre class="classsynopsis"> <span class="ooclass"><span class="classname">template &lt;class Source,class Event,class Target,class
- Action,class Guard&gt; Row</span></span>&nbsp;{<br>}</pre></div><div class="refsect3" title="tags"><a name="d0e5642"></a><h4>tags</h4><p>row_type_tag is defined differently for every specialization:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>all 5 template parameters means a normal transition with
+ transition</p></li></ul></div></div><div class="refsect1" title="msm/front/functor_row.hpp"><a name="d0e5640"></a><h2>msm/front/functor_row.hpp</h2><p>This header implements the functor front-end's transitions and helpers.</p><div class="refsect2" title="Row"><a name="d0e5645"></a><h3>Row</h3><div class="refsect3" title="definition"><a name="d0e5648"></a><h4>definition</h4><pre class="classsynopsis"> <span class="ooclass"><span class="classname">template &lt;class Source,class Event,class Target,class
+ Action,class Guard&gt; Row</span></span>&nbsp;{<br>}</pre></div><div class="refsect3" title="tags"><a name="d0e5655"></a><h4>tags</h4><p>row_type_tag is defined differently for every specialization:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>all 5 template parameters means a normal transition with
                                         action and guard: <code class="code">typedef row_tag
                                         row_type_tag;</code></p></li><li class="listitem"><p>Row&lt;Source,Event,Target,none,none&gt; a normal transition
                                         without action or guard: <code class="code">typedef _row_tag
@@ -21,7 +21,7 @@
                                         transition with action and guard: <code class="code">typedef irow_tag
                                             row_type_tag;</code></p></li><li class="listitem"><p>Row&lt;Source,Event,none,none,none&gt; an internal transition
                                         without action or guard: <code class="code">typedef _irow_tag
- row_type_tag;</code></p></li></ul></div></div><div class="refsect3" title="methods"><a name="d0e5688"></a><h4>methods</h4><p>Like any other front-end, Row implements the two necessary static
+ row_type_tag;</code></p></li></ul></div></div><div class="refsect3" title="methods"><a name="d0e5701"></a><h4>methods</h4><p>Like any other front-end, Row implements the two necessary static
                             functions for action and guard call. Each function receives as parameter
                             the (deepest-level) state machine processsing the event, the event
                             itself, the source and target states and all the states contained in a
@@ -33,8 +33,8 @@
                                     class AllStates&gt; static bool guard_call(</code></td><td><code>)</code>;</td><td>&nbsp;</td></tr></table><div class="paramdef-list"><code>
                                     <code>(</code>Fsm&amp; fsm,Event const&amp;
                                         evt,SourceState&amp;,TargetState,AllStates&amp;<code>)</code>
- </code>;</div><div class="funcprototype-spacer">&nbsp;</div></div></div></div><div class="refsect2" title="Internal"><a name="d0e5711"></a><h3>Internal</h3><div class="refsect3" title="definition"><a name="d0e5714"></a><h4>definition</h4><pre class="classsynopsis"> <span class="ooclass"><span class="classname">template &lt;class Event,class Action,class Guard&gt;
- Internal</span></span>&nbsp;{<br>}</pre></div><div class="refsect3" title="tags"><a name="d0e5721"></a><h4>tags</h4><p>row_type_tag is defined differently for every specialization:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>all 3 template parameters means an internal transition
+ </code>;</div><div class="funcprototype-spacer">&nbsp;</div></div></div></div><div class="refsect2" title="Internal"><a name="d0e5724"></a><h3>Internal</h3><div class="refsect3" title="definition"><a name="d0e5727"></a><h4>definition</h4><pre class="classsynopsis"> <span class="ooclass"><span class="classname">template &lt;class Event,class Action,class Guard&gt;
+ Internal</span></span>&nbsp;{<br>}</pre></div><div class="refsect3" title="tags"><a name="d0e5734"></a><h4>tags</h4><p>row_type_tag is defined differently for every specialization:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>all 3 template parameters means an internal transition
                                         with action and guard: <code class="code">typedef sm_i_row_tag
                                             row_type_tag;</code></p></li><li class="listitem"><p>Internal&lt;Event,none,none&gt; an internal transition
                                         without action or guard: <code class="code">typedef sm__i_row_tag
@@ -42,7 +42,7 @@
                                         without guard: <code class="code">typedef sm_a_i_row_tag
                                             row_type_tag;</code></p></li><li class="listitem"><p>Internal&lt;Event,none,Guard&gt; an internal transition
                                         without action: <code class="code">typedef sm_g_i_row_tag
- row_type_tag;</code></p></li></ul></div></div><div class="refsect3" title="methods"><a name="d0e5747"></a><h4>methods</h4><p>Like any other front-end, Internal implements the two necessary static
+ row_type_tag;</code></p></li></ul></div></div><div class="refsect3" title="methods"><a name="d0e5760"></a><h4>methods</h4><p>Like any other front-end, Internal implements the two necessary static
                             functions for action and guard call. Each function receives as parameter
                             the (deepest-level) state machine processsing the event, the event
                             itself, the source and target states and all the states contained in a
@@ -54,9 +54,9 @@
                                     class AllStates&gt; static bool guard_call(</code></td><td><code>)</code>;</td><td>&nbsp;</td></tr></table><div class="paramdef-list"><code>
                                     <code>(</code>Fsm&amp; fsm,Event const&amp;
                                         evt,SourceState&amp;,TargetState,AllStates&amp;<code>)</code>
- </code>;</div><div class="funcprototype-spacer">&nbsp;</div></div></div></div><div class="refsect2" title="ActionSequence_"><a name="d0e5770"></a><h3>ActionSequence_</h3><p>This functor calls every element of the template Sequence (which are also
+ </code>;</div><div class="funcprototype-spacer">&nbsp;</div></div></div></div><div class="refsect2" title="ActionSequence_"><a name="d0e5783"></a><h3>ActionSequence_</h3><p>This functor calls every element of the template Sequence (which are also
                         callable functors) in turn. It is also the underlying implementation of the
- eUML sequence grammar (action1,action2,...).</p><div class="refsect3" title="definition"><a name="d0e5775"></a><h4>definition</h4><pre class="classsynopsis"> <span class="ooclass"><span class="classname">template &lt;class Sequence&gt; ActionSequence_</span></span>&nbsp;{<br>}</pre></div><div class="refsect3" title="methods"><a name="d0e5782"></a><h4>methods</h4><p>This helper functor is made for use in a transition table and in a
+ eUML sequence grammar (action1,action2,...).</p><div class="refsect3" title="definition"><a name="d0e5788"></a><h4>definition</h4><pre class="classsynopsis"> <span class="ooclass"><span class="classname">template &lt;class Sequence&gt; ActionSequence_</span></span>&nbsp;{<br>}</pre></div><div class="refsect3" title="methods"><a name="d0e5795"></a><h4>methods</h4><p>This helper functor is made for use in a transition table and in a
                             state behavior and therefore implements an operator() with 3 and with 4
                             arguments:</p><p>
                             </p><div class="funcsynopsis"><table border="0" summary="Function synopsis" cellspacing="0" cellpadding="0" class="funcprototype-table"><tr><td><code class="funcdef">template &lt;class Evt,class Fsm,class
@@ -65,13 +65,13 @@
                         </p><p>
                             </p><div class="funcsynopsis"><table border="0" summary="Function synopsis" cellspacing="0" cellpadding="0" class="funcprototype-table"><tr><td><code class="funcdef">template &lt;class Evt,class Fsm,class State&gt;
                                         operator()(</code></td><td><code>)</code>;</td><td>&nbsp;</td></tr></table><div class="paramdef-list"><code>Evt const&amp;, Fsm&amp;, State&amp;</code>;</div><div class="funcprototype-spacer">&nbsp;</div></div><p>
- </p></div></div><div class="refsect2" title="Defer"><a name="d0e5805"></a><h3>Defer</h3><div class="refsect3" title="definition"><a name="d0e5808"></a><h4>definition</h4><pre class="classsynopsis"> <span class="ooclass"><span class="classname">Defer</span></span>&nbsp;{<br>}</pre></div><div class="refsect3" title="methods"><a name="d0e5815"></a><h4>methods</h4><p>This helper functor is made for use in a transition table and
+ </p></div></div><div class="refsect2" title="Defer"><a name="d0e5818"></a><h3>Defer</h3><div class="refsect3" title="definition"><a name="d0e5821"></a><h4>definition</h4><pre class="classsynopsis"> <span class="ooclass"><span class="classname">Defer</span></span>&nbsp;{<br>}</pre></div><div class="refsect3" title="methods"><a name="d0e5828"></a><h4>methods</h4><p>This helper functor is made for use in a transition table and
                             therefore implements an operator() with 4 arguments:</p><div class="funcsynopsis"><table border="0" summary="Function synopsis" cellspacing="0" cellpadding="0" class="funcprototype-table"><tr><td><code class="funcdef">template &lt;class Evt,class Fsm,class SourceState,class
                                     TargetState&gt; operator()(</code></td><td><code>)</code>;</td><td>&nbsp;</td></tr></table><div class="paramdef-list"><code>Evt const&amp;, Fsm&amp; , SourceState&amp;,
- TargetState&amp;</code>;</div><div class="funcprototype-spacer">&nbsp;</div></div></div></div></div><div class="refsect1" title="msm/front/internal_row.hpp"><a name="d0e5826"></a><h2>msm/front/internal_row.hpp</h2><p>This header implements the internal transition rows for use inside an
+ TargetState&amp;</code>;</div><div class="funcprototype-spacer">&nbsp;</div></div></div></div></div><div class="refsect1" title="msm/front/internal_row.hpp"><a name="d0e5839"></a><h2>msm/front/internal_row.hpp</h2><p>This header implements the internal transition rows for use inside an
                     internal_transition_table. All these row types have no source or target state,
                     as the backend will recognize internal transitions from this
- internal_transition_table.</p><div class="refsect2" title="methods"><a name="d0e5831"></a><h3>methods</h3><p>Like any other front-end, the following transition row types implements
+ internal_transition_table.</p><div class="refsect2" title="methods"><a name="d0e5844"></a><h3>methods</h3><p>Like any other front-end, the following transition row types implements
                         the two necessary static functions for action and guard call. Each function
                         receives as parameter the (deepest-level) state machine processsing the
                         event, the event itself, the source and target states and all the states
@@ -83,30 +83,30 @@
                                 class AllStates&gt; static bool guard_call(</code></td><td><code>)</code>;</td><td>&nbsp;</td></tr></table><div class="paramdef-list"><code>
                                 <code>(</code>Fsm&amp; fsm,Event const&amp;
                                     evt,SourceState&amp;,TargetState,AllStates&amp;<code>)</code>
- </code>;</div><div class="funcprototype-spacer">&nbsp;</div></div></div><div class="refsect2" title="a_internal"><a name="d0e5854"></a><h3>a_internal</h3><div class="refsect3" title="definition"><a name="d0e5857"></a><h4>definition</h4><p>This is an internal transition with an action called during the
+ </code>;</div><div class="funcprototype-spacer">&nbsp;</div></div></div><div class="refsect2" title="a_internal"><a name="d0e5867"></a><h3>a_internal</h3><div class="refsect3" title="definition"><a name="d0e5870"></a><h4>definition</h4><p>This is an internal transition with an action called during the
                             transition.</p><pre class="classsynopsis"> <span class="ooclass"><span class="classname">template&lt; class Event, class CalledForAction, void
                                     (CalledForAction::*action)(Event const&amp;)&gt;
- a_internal</span></span>&nbsp;{<br>}</pre></div><div class="refsect3" title="template parameters"><a name="d0e5866"></a><h4>template parameters</h4><p>
+ a_internal</span></span>&nbsp;{<br>}</pre></div><div class="refsect3" title="template parameters"><a name="d0e5879"></a><h4>template parameters</h4><p>
                             </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Event: the event triggering the internal
                                         transition.</p></li><li class="listitem"><p>CalledForAction: the type on which the action method will
                                         be called. It can be either a state of the containing state
                                         machine or the state machine itself.</p></li><li class="listitem"><p>action: a pointer to the method which CalledForAction
                                         provides.</p></li></ul></div><p>
- </p></div></div><div class="refsect2" title="g_internal"><a name="d0e5882"></a><h3>g_internal</h3><p>This is an internal transition with a guard called before the transition
- and allowing the transition if returning true.</p><div class="refsect3" title="definition"><a name="d0e5887"></a><h4>definition</h4><pre class="classsynopsis"> <span class="ooclass"><span class="classname">template&lt; class Event, class CalledForGuard, bool
+ </p></div></div><div class="refsect2" title="g_internal"><a name="d0e5895"></a><h3>g_internal</h3><p>This is an internal transition with a guard called before the transition
+ and allowing the transition if returning true.</p><div class="refsect3" title="definition"><a name="d0e5900"></a><h4>definition</h4><pre class="classsynopsis"> <span class="ooclass"><span class="classname">template&lt; class Event, class CalledForGuard, bool
                                     (CalledForGuard::*guard)(Event const&amp;)&gt;
- g_internal</span></span>&nbsp;{<br>}</pre></div><div class="refsect3" title="template parameters"><a name="d0e5894"></a><h4>template parameters</h4><p>
+ g_internal</span></span>&nbsp;{<br>}</pre></div><div class="refsect3" title="template parameters"><a name="d0e5907"></a><h4>template parameters</h4><p>
                             </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Event: the event triggering the internal
                                         transition.</p></li><li class="listitem"><p>CalledForGuard: the type on which the guard method will be
                                         called. It can be either a state of the containing state
                                         machine or the state machine itself.</p></li><li class="listitem"><p>guard: a pointer to the method which CalledForGuard
                                         provides.</p></li></ul></div><p>
- </p></div></div><div class="refsect2" title="internal"><a name="d0e5910"></a><h3>internal</h3><p>This is an internal transition with a guard called before the transition
+ </p></div></div><div class="refsect2" title="internal"><a name="d0e5923"></a><h3>internal</h3><p>This is an internal transition with a guard called before the transition
                         and allowing the transition if returning true. It also calls an action
- called during the transition.</p><div class="refsect3" title="definition"><a name="d0e5915"></a><h4>definition</h4><pre class="classsynopsis"> <span class="ooclass"><span class="classname">template&lt; class Event, class CalledForAction, void
+ called during the transition.</p><div class="refsect3" title="definition"><a name="d0e5928"></a><h4>definition</h4><pre class="classsynopsis"> <span class="ooclass"><span class="classname">template&lt; class Event, class CalledForAction, void
                                     (CalledForAction::*action)(Event const&amp;), class
                                     CalledForGuard, bool (CalledForGuard::*guard)(Event const&amp;)&gt;
- internal</span></span>&nbsp;{<br>}</pre></div><div class="refsect3" title="template parameters"><a name="d0e5922"></a><h4>template parameters</h4><p>
+ internal</span></span>&nbsp;{<br>}</pre></div><div class="refsect3" title="template parameters"><a name="d0e5935"></a><h4>template parameters</h4><p>
                             </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Event: the event triggering the internal transition</p></li><li class="listitem"><p>CalledForAction: the type on which the action method will
                                         be called. It can be either a state of the containing state
                                         machine or the state machine itself.</p></li><li class="listitem"><p>action: a pointer to the method which CalledForAction
@@ -114,15 +114,15 @@
                                         called. It can be either a state of the containing state
                                         machine or the state machine itself.</p></li><li class="listitem"><p>guard: a pointer to the method which CalledForGuard
                                         provides.</p></li></ul></div><p>
- </p></div></div><div class="refsect2" title="_internal"><a name="d0e5944"></a><h3>_internal</h3><p>This is an internal transition without action or guard. This is equivalent
- to an explicit "ignore event".</p><div class="refsect3" title="definition"><a name="d0e5949"></a><h4>definition</h4><pre class="classsynopsis"> <span class="ooclass"><span class="classname">template&lt; class Event &gt; _internal</span></span>&nbsp;{<br>}</pre></div><div class="refsect3" title="template parameters"><a name="d0e5956"></a><h4>template parameters</h4><p>
+ </p></div></div><div class="refsect2" title="_internal"><a name="d0e5957"></a><h3>_internal</h3><p>This is an internal transition without action or guard. This is equivalent
+ to an explicit "ignore event".</p><div class="refsect3" title="definition"><a name="d0e5962"></a><h4>definition</h4><pre class="classsynopsis"> <span class="ooclass"><span class="classname">template&lt; class Event &gt; _internal</span></span>&nbsp;{<br>}</pre></div><div class="refsect3" title="template parameters"><a name="d0e5969"></a><h4>template parameters</h4><p>
                             </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Event: the event triggering the internal
                                         transition.</p></li></ul></div><p>
- </p></div></div></div><div class="refsect1" title="msm/front/row2.hpp"><a name="d0e5966"></a><h2>msm/front/row2.hpp</h2><p>This header contains the variants of row2, which are an extension of the
+ </p></div></div></div><div class="refsect1" title="msm/front/row2.hpp"><a name="d0e5979"></a><h2>msm/front/row2.hpp</h2><p>This header contains the variants of row2, which are an extension of the
                     standard row transitions for use in the transition table. They offer the
                     possibility to define action and guard not only in the state machine, but in any
                     state of the state machine. They can also be used in internal transition tables
- through their irow2 variants.</p><div class="refsect2" title="methods"><a name="d0e5971"></a><h3>methods</h3><p>Like any other front-end, the following transition row types implements
+ through their irow2 variants.</p><div class="refsect2" title="methods"><a name="d0e5984"></a><h3>methods</h3><p>Like any other front-end, the following transition row types implements
                         the two necessary static functions for action and guard call. Each function
                         receives as parameter the (deepest-level) state machine processsing the
                         event, the event itself, the source and target states and all the states
@@ -134,28 +134,28 @@
                                 class AllStates&gt; static bool guard_call(</code></td><td><code>)</code>;</td><td>&nbsp;</td></tr></table><div class="paramdef-list"><code>
                                 <code>(</code>Fsm&amp; fsm,Event const&amp;
                                     evt,SourceState&amp;,TargetState,AllStates&amp;<code>)</code>
- </code>;</div><div class="funcprototype-spacer">&nbsp;</div></div></div><div class="refsect2" title="_row2"><a name="d0e5994"></a><h3>_row2</h3><p>This is a transition without action or guard. The state machine only
- changes active state.</p><div class="refsect3" title="definition"><a name="d0e5999"></a><h4>definition</h4><pre class="classsynopsis"> <span class="ooclass"><span class="classname">template&lt; class Source, class Event, class Target &gt;
- _row2</span></span>&nbsp;{<br>}</pre></div><div class="refsect3" title="template parameters"><a name="d0e6006"></a><h4>template parameters</h4><p>
+ </code>;</div><div class="funcprototype-spacer">&nbsp;</div></div></div><div class="refsect2" title="_row2"><a name="d0e6007"></a><h3>_row2</h3><p>This is a transition without action or guard. The state machine only
+ changes active state.</p><div class="refsect3" title="definition"><a name="d0e6012"></a><h4>definition</h4><pre class="classsynopsis"> <span class="ooclass"><span class="classname">template&lt; class Source, class Event, class Target &gt;
+ _row2</span></span>&nbsp;{<br>}</pre></div><div class="refsect3" title="template parameters"><a name="d0e6019"></a><h4>template parameters</h4><p>
                             </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Event: the event triggering the transition.</p></li><li class="listitem"><p>Source: the source state of the transition.</p></li><li class="listitem"><p>Target: the target state of the transition.</p></li></ul></div><p>
- </p></div></div><div class="refsect2" title="a_row2"><a name="d0e6022"></a><h3>a_row2</h3><p>This is a transition with action and without guard.</p><div class="refsect3" title="definition"><a name="d0e6027"></a><h4>definition</h4><pre class="classsynopsis"> <span class="ooclass"><span class="classname">template&lt; class Source, class Event, class Target,
+ </p></div></div><div class="refsect2" title="a_row2"><a name="d0e6035"></a><h3>a_row2</h3><p>This is a transition with action and without guard.</p><div class="refsect3" title="definition"><a name="d0e6040"></a><h4>definition</h4><pre class="classsynopsis"> <span class="ooclass"><span class="classname">template&lt; class Source, class Event, class Target,
                                 </span></span>&nbsp;{<br>}</pre><pre class="classsynopsis"> <span class="ooclass"><span class="classname">class CalledForAction, void
- (CalledForAction::*action)(Event const&amp;) &gt; _row2</span></span>&nbsp;{<br>}</pre></div><div class="refsect3" title="template parameters"><a name="d0e6038"></a><h4>template parameters</h4><p>
+ (CalledForAction::*action)(Event const&amp;) &gt; _row2</span></span>&nbsp;{<br>}</pre></div><div class="refsect3" title="template parameters"><a name="d0e6051"></a><h4>template parameters</h4><p>
                             </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Event: the event triggering the transition.</p></li><li class="listitem"><p>Source: the source state of the transition.</p></li><li class="listitem"><p>Target: the target state of the transition.</p></li><li class="listitem"><p>CalledForAction: the type on which the action method will
                                         be called. It can be either a state of the containing state
                                         machine or the state machine itself.</p></li><li class="listitem"><p>action: a pointer to the method which CalledForAction
                                         provides.</p></li></ul></div><p>
- </p></div></div><div class="refsect2" title="g_row2"><a name="d0e6060"></a><h3>g_row2</h3><p>This is a transition with guard and without action.</p><div class="refsect3" title="definition"><a name="d0e6065"></a><h4>definition</h4><pre class="classsynopsis"> <span class="ooclass"><span class="classname">template&lt; class Source, class Event, class Target,
+ </p></div></div><div class="refsect2" title="g_row2"><a name="d0e6073"></a><h3>g_row2</h3><p>This is a transition with guard and without action.</p><div class="refsect3" title="definition"><a name="d0e6078"></a><h4>definition</h4><pre class="classsynopsis"> <span class="ooclass"><span class="classname">template&lt; class Source, class Event, class Target,
                                 </span></span>&nbsp;{<br>}</pre><pre class="classsynopsis"> <span class="ooclass"><span class="classname">class CalledForGuard, bool (CalledForGuard::*guard)(Event
- const&amp;) &gt; _row2</span></span>&nbsp;{<br>}</pre></div><div class="refsect3" title="template parameters"><a name="d0e6076"></a><h4>template parameters</h4><p>
+ const&amp;) &gt; _row2</span></span>&nbsp;{<br>}</pre></div><div class="refsect3" title="template parameters"><a name="d0e6089"></a><h4>template parameters</h4><p>
                             </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Event: the event triggering the transition.</p></li><li class="listitem"><p>Source: the source state of the transition.</p></li><li class="listitem"><p>Target: the target state of the transition.</p></li><li class="listitem"><p>CalledForGuard: the type on which the guard method will be
                                         called. It can be either a state of the containing state
                                         machine or the state machine itself.</p></li><li class="listitem"><p>guard: a pointer to the method which CalledForGuard
                                         provides.</p></li></ul></div><p>
- </p></div></div><div class="refsect2" title="row2"><a name="d0e6098"></a><h3>row2</h3><p>This is a transition with guard and action.</p><div class="refsect3" title="definition"><a name="d0e6103"></a><h4>definition</h4><pre class="classsynopsis"> <span class="ooclass"><span class="classname">template&lt; class Source, class Event, class Target,
+ </p></div></div><div class="refsect2" title="row2"><a name="d0e6111"></a><h3>row2</h3><p>This is a transition with guard and action.</p><div class="refsect3" title="definition"><a name="d0e6116"></a><h4>definition</h4><pre class="classsynopsis"> <span class="ooclass"><span class="classname">template&lt; class Source, class Event, class Target,
                                 </span></span>&nbsp;{<br>}</pre><pre class="classsynopsis"> <span class="ooclass"><span class="classname">class CalledForAction, void
                                     (CalledForAction::*action)(Event const&amp;), </span></span>&nbsp;{<br>}</pre><pre class="classsynopsis"> <span class="ooclass"><span class="classname">class CalledForGuard, bool (CalledForGuard::*guard)(Event
- const&amp;) &gt; _row2</span></span>&nbsp;{<br>}</pre></div><div class="refsect3" title="template parameters"><a name="d0e6118"></a><h4>template parameters</h4><p>
+ const&amp;) &gt; _row2</span></span>&nbsp;{<br>}</pre></div><div class="refsect3" title="template parameters"><a name="d0e6131"></a><h4>template parameters</h4><p>
                             </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Event: the event triggering the transition.</p></li><li class="listitem"><p>Source: the source state of the transition.</p></li><li class="listitem"><p>Target: the target state of the transition.</p></li><li class="listitem"><p>CalledForAction: the type on which the action method will
                                         be called. It can be either a state of the containing state
                                         machine or the state machine itself.</p></li><li class="listitem"><p>action: a pointer to the method which CalledForAction
@@ -163,24 +163,24 @@
                                         called. It can be either a state of the containing state
                                         machine or the state machine itself.</p></li><li class="listitem"><p>guard: a pointer to the method which CalledForGuard
                                         provides.</p></li></ul></div><p>
- </p></div></div><div class="refsect2" title="a_irow2"><a name="d0e6146"></a><h3>a_irow2</h3><p>This is an internal transition for use inside a transition table, with
- action and without guard.</p><div class="refsect3" title="definition"><a name="d0e6151"></a><h4>definition</h4><pre class="classsynopsis"> <span class="ooclass"><span class="classname">template&lt; class Source, class Event, </span></span>&nbsp;{<br>}</pre><pre class="classsynopsis"> <span class="ooclass"><span class="classname">class CalledForAction, void
- (CalledForAction::*action)(Event const&amp;) &gt; _row2</span></span>&nbsp;{<br>}</pre></div><div class="refsect3" title="template parameters"><a name="d0e6162"></a><h4>template parameters</h4><p>
+ </p></div></div><div class="refsect2" title="a_irow2"><a name="d0e6159"></a><h3>a_irow2</h3><p>This is an internal transition for use inside a transition table, with
+ action and without guard.</p><div class="refsect3" title="definition"><a name="d0e6164"></a><h4>definition</h4><pre class="classsynopsis"> <span class="ooclass"><span class="classname">template&lt; class Source, class Event, </span></span>&nbsp;{<br>}</pre><pre class="classsynopsis"> <span class="ooclass"><span class="classname">class CalledForAction, void
+ (CalledForAction::*action)(Event const&amp;) &gt; _row2</span></span>&nbsp;{<br>}</pre></div><div class="refsect3" title="template parameters"><a name="d0e6175"></a><h4>template parameters</h4><p>
                             </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Event: the event triggering the transition.</p></li><li class="listitem"><p>Source: the source state of the transition.</p></li><li class="listitem"><p>CalledForAction: the type on which the action method will
                                         be called. It can be either a state of the containing state
                                         machine or the state machine itself.</p></li><li class="listitem"><p>action: a pointer to the method which CalledForAction
                                         provides.</p></li></ul></div><p>
- </p></div></div><div class="refsect2" title="g_irow2"><a name="d0e6181"></a><h3>g_irow2</h3><p>This is an internal transition for use inside a transition table, with
- guard and without action.</p><div class="refsect3" title="definition"><a name="d0e6186"></a><h4>definition</h4><pre class="classsynopsis"> <span class="ooclass"><span class="classname">template&lt; class Source, class Event, </span></span>&nbsp;{<br>}</pre><pre class="classsynopsis"> <span class="ooclass"><span class="classname">class CalledForGuard, bool (CalledForGuard::*guard)(Event
- const&amp;) &gt; _row2</span></span>&nbsp;{<br>}</pre></div><div class="refsect3" title="template parameters"><a name="d0e6197"></a><h4>template parameters</h4><p>
+ </p></div></div><div class="refsect2" title="g_irow2"><a name="d0e6194"></a><h3>g_irow2</h3><p>This is an internal transition for use inside a transition table, with
+ guard and without action.</p><div class="refsect3" title="definition"><a name="d0e6199"></a><h4>definition</h4><pre class="classsynopsis"> <span class="ooclass"><span class="classname">template&lt; class Source, class Event, </span></span>&nbsp;{<br>}</pre><pre class="classsynopsis"> <span class="ooclass"><span class="classname">class CalledForGuard, bool (CalledForGuard::*guard)(Event
+ const&amp;) &gt; _row2</span></span>&nbsp;{<br>}</pre></div><div class="refsect3" title="template parameters"><a name="d0e6210"></a><h4>template parameters</h4><p>
                             </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Event: the event triggering the transition.</p></li><li class="listitem"><p>Source: the source state of the transition.</p></li><li class="listitem"><p>CalledForGuard: the type on which the guard method will be
                                         called. It can be either a state of the containing state
                                         machine or the state machine itself.</p></li><li class="listitem"><p>guard: a pointer to the method which CalledForGuard
                                         provides.</p></li></ul></div><p>
- </p></div></div><div class="refsect2" title="irow2"><a name="d0e6216"></a><h3>irow2</h3><p>This is an internal transition for use inside a transition table, with
- guard and action.</p><div class="refsect3" title="definition"><a name="d0e6221"></a><h4>definition</h4><pre class="classsynopsis"> <span class="ooclass"><span class="classname">template&lt; class Source, class Event, </span></span>&nbsp;{<br>}</pre><pre class="classsynopsis"> <span class="ooclass"><span class="classname">class CalledForAction, void
+ </p></div></div><div class="refsect2" title="irow2"><a name="d0e6229"></a><h3>irow2</h3><p>This is an internal transition for use inside a transition table, with
+ guard and action.</p><div class="refsect3" title="definition"><a name="d0e6234"></a><h4>definition</h4><pre class="classsynopsis"> <span class="ooclass"><span class="classname">template&lt; class Source, class Event, </span></span>&nbsp;{<br>}</pre><pre class="classsynopsis"> <span class="ooclass"><span class="classname">class CalledForAction, void
                                     (CalledForAction::*action)(Event const&amp;), </span></span>&nbsp;{<br>}</pre><pre class="classsynopsis"> <span class="ooclass"><span class="classname">class CalledForGuard, bool (CalledForGuard::*guard)(Event
- const&amp;) &gt; _row2</span></span>&nbsp;{<br>}</pre></div><div class="refsect3" title="template parameters"><a name="d0e6236"></a><h4>template parameters</h4><p>
+ const&amp;) &gt; _row2</span></span>&nbsp;{<br>}</pre></div><div class="refsect3" title="template parameters"><a name="d0e6249"></a><h4>template parameters</h4><p>
                             </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Event: the event triggering the transition.</p></li><li class="listitem"><p>Source: the source state of the transition.</p></li><li class="listitem"><p>CalledForAction: the type on which the action method will
                                         be called. It can be either a state of the containing state
                                         machine or the state machine itself.</p></li><li class="listitem"><p>action: a pointer to the method which CalledForAction
@@ -188,16 +188,16 @@
                                         called. It can be either a state of the containing state
                                         machine or the state machine itself.</p></li><li class="listitem"><p>guard: a pointer to the method which CalledForGuard
                                         provides.</p></li></ul></div><p>
- </p></div></div></div><div class="refsect1" title="msm/front/state_machine_def.hpp"><a name="d0e6261"></a><h2>msm/front/state_machine_def.hpp</h2><p>This header provides the implementation of the <span class="command"><strong><a class="command" href="ch03s02.html#basic-front-end">basic front-end</a></strong></span>. It contains one
- type, <code class="code">state_machine_def</code></p><div class="refsect2" title="state_machine_def definition"><a name="d0e6271"></a><h3>state_machine_def definition</h3><p>This type is the basic class for a basic (or possibly any other)
+ </p></div></div></div><div class="refsect1" title="msm/front/state_machine_def.hpp"><a name="d0e6274"></a><h2>msm/front/state_machine_def.hpp</h2><p>This header provides the implementation of the <span class="command"><strong><a class="command" href="ch03s02.html#basic-front-end">basic front-end</a></strong></span>. It contains one
+ type, <code class="code">state_machine_def</code></p><div class="refsect2" title="state_machine_def definition"><a name="d0e6284"></a><h3>state_machine_def definition</h3><p>This type is the basic class for a basic (or possibly any other)
                         front-end. It provides the standard row types (which includes internal
                         transitions) and a default implementation of the required methods and
                         typedefs.</p><pre class="classsynopsis"> <span class="ooclass"><span class="classname">template &lt;class Derived,class BaseState =
- default_base_state&gt; state_machine_def</span></span>&nbsp;{<br>}</pre><div class="refsect3" title="typedefs"><a name="d0e6280"></a><h4>typedefs</h4><p>
+ default_base_state&gt; state_machine_def</span></span>&nbsp;{<br>}</pre><div class="refsect3" title="typedefs"><a name="d0e6293"></a><h4>typedefs</h4><p>
                             </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>flag_list: by default, no flag is set in the state
                                         machine</p></li><li class="listitem"><p>deferred_events: by default, no event is deferred.</p></li><li class="listitem"><p>configuration: by default, no configuration customization
                                         is done.</p></li></ul></div><p>
- </p></div><div class="refsect3" title="row methods"><a name="d0e6296"></a><h4>row methods</h4><p>Like any other front-end, the following transition row types
+ </p></div><div class="refsect3" title="row methods"><a name="d0e6309"></a><h4>row methods</h4><p>Like any other front-end, the following transition row types
                             implements the two necessary static functions for action and guard call.
                             Each function receives as parameter the (deepest-level) state machine
                             processsing the event, the event itself, the source and target states
@@ -209,30 +209,30 @@
                                     class AllStates&gt; static bool guard_call(</code></td><td><code>)</code>;</td><td>&nbsp;</td></tr></table><div class="paramdef-list"><code>
                                     <code>(</code>Fsm&amp; fsm,Event const&amp;
                                         evt,SourceState&amp;,TargetState,AllStates&amp;<code>)</code>
- </code>;</div><div class="funcprototype-spacer">&nbsp;</div></div></div><div class="refsect3" title="a_row"><a name="d0e6319"></a><h4>a_row</h4><p>This is a transition with action and without guard.</p><p><code class="classname">template&lt; class Source, class Event, class Target,
+ </code>;</div><div class="funcprototype-spacer">&nbsp;</div></div></div><div class="refsect3" title="a_row"><a name="d0e6332"></a><h4>a_row</h4><p>This is a transition with action and without guard.</p><p><code class="classname">template&lt; class Source, class Event, class Target,
                                     void (Derived::*action)(Event const&amp;) &gt; a_row</code></p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Event: the event triggering the transition.</p></li><li class="listitem"><p>Source: the source state of the transition.</p></li><li class="listitem"><p>Target: the target state of the transition.</p></li><li class="listitem"><p>action: a pointer to the method provided by the concrete
- front-end (represented by <code class="code">Derived</code>).</p></li></ul></div></div><div class="refsect3" title="g_row"><a name="d0e6344"></a><h4>g_row</h4><p>This is a transition with guard and without action.</p><p><code class="classname">template&lt; class Source, class Event, class Target,
+ front-end (represented by <code class="code">Derived</code>).</p></li></ul></div></div><div class="refsect3" title="g_row"><a name="d0e6357"></a><h4>g_row</h4><p>This is a transition with guard and without action.</p><p><code class="classname">template&lt; class Source, class Event, class Target,
                                     bool (Derived::*guard)(Event const&amp;) &gt; g_row</code></p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Event: the event triggering the transition.</p></li><li class="listitem"><p>Source: the source state of the transition.</p></li><li class="listitem"><p>Target: the target state of the transition.</p></li><li class="listitem"><p>guard: a pointer to the method provided by the concrete
- front-end (represented by <code class="code">Derived</code>).</p></li></ul></div></div><div class="refsect3" title="row"><a name="d0e6369"></a><h4>row</h4><p>This is a transition with guard and action.</p><p><code class="classname">template&lt; class Source, class Event, class Target,
+ front-end (represented by <code class="code">Derived</code>).</p></li></ul></div></div><div class="refsect3" title="row"><a name="d0e6382"></a><h4>row</h4><p>This is a transition with guard and action.</p><p><code class="classname">template&lt; class Source, class Event, class Target,
                                     void (Derived::*action)(Event const&amp;), bool
                                     (Derived::*guard)(Event const&amp;) &gt; row</code></p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Event: the event triggering the transition.</p></li><li class="listitem"><p>Source: the source state of the transition.</p></li><li class="listitem"><p>Target: the target state of the transition.</p></li><li class="listitem"><p>action: a pointer to the method provided by the concrete
                                         front-end (represented by <code class="code">Derived</code>).</p></li><li class="listitem"><p>guard: a pointer to the method provided by the concrete
- front-end (represented by <code class="code">Derived</code>).</p></li></ul></div></div><div class="refsect3" title="_row"><a name="d0e6400"></a><h4>_row</h4><p>This is a transition without action or guard. The state machine only
+ front-end (represented by <code class="code">Derived</code>).</p></li></ul></div></div><div class="refsect3" title="_row"><a name="d0e6413"></a><h4>_row</h4><p>This is a transition without action or guard. The state machine only
                             changes active state.</p><p><code class="classname">template&lt; class Source, class Event, class Target &gt;
- _row</code></p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Event: the event triggering the transition.</p></li><li class="listitem"><p>Source: the source state of the transition.</p></li><li class="listitem"><p>Target: the target state of the transition.</p></li></ul></div></div><div class="refsect3" title="a_irow"><a name="d0e6419"></a><h4>a_irow</h4><p>This is an internal transition for use inside a transition table, with
+ _row</code></p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Event: the event triggering the transition.</p></li><li class="listitem"><p>Source: the source state of the transition.</p></li><li class="listitem"><p>Target: the target state of the transition.</p></li></ul></div></div><div class="refsect3" title="a_irow"><a name="d0e6432"></a><h4>a_irow</h4><p>This is an internal transition for use inside a transition table, with
                             action and without guard.</p><p><code class="classname">template&lt; class Source, class Event, void
                                     (Derived::*action)(Event const&amp;) &gt; a_irow</code></p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Event: the event triggering the transition.</p></li><li class="listitem"><p>Source: the source state of the transition.</p></li><li class="listitem"><p>action: a pointer to the method provided by the concrete
- front-end (represented by <code class="code">Derived</code>).</p></li></ul></div></div><div class="refsect3" title="g_irow"><a name="d0e6441"></a><h4>g_irow</h4><p>This is an internal transition for use inside a transition table, with
+ front-end (represented by <code class="code">Derived</code>).</p></li></ul></div></div><div class="refsect3" title="g_irow"><a name="d0e6454"></a><h4>g_irow</h4><p>This is an internal transition for use inside a transition table, with
                             guard and without action.</p><p><code class="classname">template&lt; class Source, class Event, bool
                                     (Derived::*guard)(Event const&amp;) &gt; g_irow</code></p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Event: the event triggering the transition.</p></li><li class="listitem"><p>Source: the source state of the transition.</p></li><li class="listitem"><p>guard: a pointer to the method provided by the concrete
- front-end (represented by <code class="code">Derived</code>).</p></li></ul></div></div><div class="refsect3" title="irow"><a name="d0e6463"></a><h4>irow</h4><p>This is an internal transition for use inside a transition table, with
+ front-end (represented by <code class="code">Derived</code>).</p></li></ul></div></div><div class="refsect3" title="irow"><a name="d0e6476"></a><h4>irow</h4><p>This is an internal transition for use inside a transition table, with
                             guard and action.</p><p><code class="classname">template&lt; class Source, class Event, void
                                     (Derived::*action)(Event const&amp;), bool
                                     (Derived::*guard)(Event const&amp;) &gt; irow</code></p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Event: the event triggering the transition.</p></li><li class="listitem"><p>Source: the source state of the transition.</p></li><li class="listitem"><p>action: a pointer to the method provided by the concrete
                                         front-end (represented by <code class="code">Derived</code>).</p></li><li class="listitem"><p>guard: a pointer to the method provided by the concrete
- front-end (represented by <code class="code">Derived</code>).</p></li></ul></div></div><div class="refsect3" title="_irow"><a name="d0e6491"></a><h4>_irow</h4><p>This is an internal transition without action or guard. As it does
+ front-end (represented by <code class="code">Derived</code>).</p></li></ul></div></div><div class="refsect3" title="_irow"><a name="d0e6504"></a><h4>_irow</h4><p>This is an internal transition without action or guard. As it does
                             nothing, it means "ignore event".</p><p><code class="classname">template&lt; class Source, class Event &gt;
- _irow</code></p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Event: the event triggering the transition.</p></li><li class="listitem"><p>Source: the source state of the transition.</p></li></ul></div></div><div class="refsect3" title="methods"><a name="d0e6507"></a><h4>methods</h4><p><code class="code">state_machine_def</code> provides a default implementation in
+ _irow</code></p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Event: the event triggering the transition.</p></li><li class="listitem"><p>Source: the source state of the transition.</p></li></ul></div></div><div class="refsect3" title="methods"><a name="d0e6520"></a><h4>methods</h4><p><code class="code">state_machine_def</code> provides a default implementation in
                             case of an event which cannot be processed by a state machine (no
                             transition found). The implementation is using a
                                 <code class="code">BOOST_ASSERT</code> so that the error will only be noticed in
@@ -256,30 +256,31 @@
                                         <code>(</code>Event const&amp; ,Fsm&amp;,
                                             std::exception&amp;<code>)</code>
                                     </code>;</div><div class="funcprototype-spacer">&nbsp;</div></div><p>
- </p></div></div></div><div class="refsect1" title="msm/front/states.hpp"><a name="d0e6551"></a><h2>msm/front/states.hpp </h2><p>This header provides the different states (except state machines) for the
- basic front-end (or mixed with other front-ends).</p><div class="refsect2" title="types"><a name="d0e6556"></a><h3>types</h3><p>This header provides the following types:</p><div class="refsect3" title="no_sm_ptr"><a name="d0e6561"></a><h4>no_sm_ptr</h4><p>deprecated: default policy for states. It means that states do not
- need to save a pointer to their containing state machine.</p></div><div class="refsect3" title="sm_ptr"><a name="d0e6566"></a><h4>sm_ptr</h4><p>deprecated: state policy. It means that states need to save a pointer
+ </p></div></div></div><div class="refsect1" title="msm/front/states.hpp"><a name="d0e6564"></a><h2>msm/front/states.hpp </h2><p>This header provides the different states (except state machines) for the
+ basic front-end (or mixed with other front-ends).</p><div class="refsect2" title="types"><a name="d0e6569"></a><h3>types</h3><p>This header provides the following types:</p><div class="refsect3" title="no_sm_ptr"><a name="d0e6574"></a><h4>no_sm_ptr</h4><p>deprecated: default policy for states. It means that states do not
+ need to save a pointer to their containing state machine.</p></div><div class="refsect3" title="sm_ptr"><a name="d0e6579"></a><h4>sm_ptr</h4><p>deprecated: state policy. It means that states need to save a pointer
                             to their containing state machine. When seeing this flag, the back-end
- will call set_sm_ptr(fsm*) and give itself as argument.</p></div><div class="refsect3" title="state"><a name="d0e6571"></a><h4>state</h4><p>Basic type for simple states. Inherit from this type to define a
+ will call set_sm_ptr(fsm*) and give itself as argument.</p></div><div class="refsect3" title="state"><a name="d0e6584"></a><h4>state</h4><p>Basic type for simple states. Inherit from this type to define a
                             simple state. The first argument is needed if you want your state (and
                             all others used in a concrete state machine) to inherit a basic type for
                             logging or providing a common behavior.</p><pre class="classsynopsis"> <span class="ooclass"><span class="classname">template&lt;class Base = default_base_state,class
- SMPtrPolicy = no_sm_ptr&gt; state</span></span>&nbsp;{<br>}</pre></div><div class="refsect3" title="terminate_state"><a name="d0e6580"></a><h4>terminate_state</h4><p>Basic type for terminate states. Inherit from this type to define a
+ SMPtrPolicy = no_sm_ptr&gt; state</span></span>&nbsp;{<br>}</pre></div><div class="refsect3" title="terminate_state"><a name="d0e6593"></a><h4>terminate_state</h4><p>Basic type for terminate states. Inherit from this type to define a
                             terminate state. The first argument is needed if you want your state
                             (and all others used in a concrete state machine) to inherit a basic
                             type for logging or providing a common behavior.</p><pre class="classsynopsis"> <span class="ooclass"><span class="classname">template&lt;class Base = default_base_state,class
- SMPtrPolicy = no_sm_ptr&gt; terminate_state</span></span>&nbsp;{<br>}</pre></div><div class="refsect3" title="interrupt_state"><a name="d0e6589"></a><h4>interrupt_state</h4><p>Basic type for interrupt states. Interrupt states prevent any further
+ SMPtrPolicy = no_sm_ptr&gt; terminate_state</span></span>&nbsp;{<br>}</pre></div><div class="refsect3" title="interrupt_state"><a name="d0e6602"></a><h4>interrupt_state</h4><p>Basic type for interrupt states. Interrupt states prevent any further
                             event handling until EndInterruptEvent is sent. Inherit from this type
                             to define a terminate state. The first argument is the name of the event
                             ending the interrupt. The second argument is needed if you want your
                             state (and all others used in a concrete state machine) to inherit a
- basic type for logging or providing a common behavior.</p><pre class="classsynopsis"> <span class="ooclass"><span class="classname">template&lt;class EndInterruptEvent,class Base =
+ basic type for logging or providing a common behavior.</p><p>The EndInterruptEvent can also be a sequence of events:
+ mpl::vector&lt;EndInterruptEvent,EndInterruptEvent2&gt;.</p><pre class="classsynopsis"> <span class="ooclass"><span class="classname">template&lt;class EndInterruptEvent,class Base =
                                     default_base_state,</span></span>&nbsp;{<br>}</pre><pre class="classsynopsis"> <span class="ooclass"><span class="classname">class SMPtrPolicy = no_sm_ptr&gt;
- interrupt_state</span></span>&nbsp;{<br>}</pre></div><div class="refsect3" title="explicit_entry"><a name="d0e6602"></a><h4>explicit_entry</h4><p>Inherit from this type <span class="underline">in
+ interrupt_state</span></span>&nbsp;{<br>}</pre></div><div class="refsect3" title="explicit_entry"><a name="d0e6617"></a><h4>explicit_entry</h4><p>Inherit from this type <span class="underline">in
                                 addition</span> to the desired state type to enable this state
                             for direct entering. The template parameter gives the region id of the
                             state (regions are numbered in the order of the
- <code class="code">initial_state</code> typedef).</p><pre class="classsynopsis"> <span class="ooclass"><span class="classname">template &lt;int ZoneIndex=-1&gt; explicit_entry</span></span>&nbsp;{<br>}</pre></div><div class="refsect3" title="entry_pseudo_state"><a name="d0e6617"></a><h4>entry_pseudo_state</h4><p>Basic type for entry pseudo states. Entry pseudo states are an
+ <code class="code">initial_state</code> typedef).</p><pre class="classsynopsis"> <span class="ooclass"><span class="classname">template &lt;int ZoneIndex=-1&gt; explicit_entry</span></span>&nbsp;{<br>}</pre></div><div class="refsect3" title="entry_pseudo_state"><a name="d0e6632"></a><h4>entry_pseudo_state</h4><p>Basic type for entry pseudo states. Entry pseudo states are an
                             predefined entry into a submachine and connect two transitions. The
                             first argument is the id of the region entered by this state (regions
                             are numbered in the order of the <code class="code">initial_state</code> typedef).
@@ -287,7 +288,7 @@
                             used in a concrete state machine) to inherit a basic type for logging or
                             providing a common behavior.</p><pre class="classsynopsis"> <span class="ooclass"><span class="classname">template&lt;int RegionIndex=-1,class Base =
                                     default_base_state,</span></span>&nbsp;{<br>}</pre><pre class="classsynopsis"> <span class="ooclass"><span class="classname">class SMPtrPolicy = no_sm_ptr&gt;
- entry_pseudo_state</span></span>&nbsp;{<br>}</pre></div><div class="refsect3" title="exit_pseudo_state"><a name="d0e6633"></a><h4>exit_pseudo_state</h4><p>Basic type for exit pseudo states. Exit pseudo states are an
+ entry_pseudo_state</span></span>&nbsp;{<br>}</pre></div><div class="refsect3" title="exit_pseudo_state"><a name="d0e6648"></a><h4>exit_pseudo_state</h4><p>Basic type for exit pseudo states. Exit pseudo states are an
                             predefined exit from a submachine and connect two transitions. The first
                             argument is the name of the event which will be "thrown" out of the exit
                             point. This event does not need to be the same as the one sent by the
@@ -296,32 +297,32 @@
                             machine) to inherit a basic type for logging or providing a common
                             behavior.</p><pre class="classsynopsis"> <span class="ooclass"><span class="classname">template&lt;class Event,class Base =
                                     default_base_state,</span></span>&nbsp;{<br>}</pre><pre class="classsynopsis"> <span class="ooclass"><span class="classname">class SMPtrPolicy = no_sm_ptr&gt;
- exit_pseudo_state</span></span>&nbsp;{<br>}</pre></div></div></div><div class="refsect1" title="msm/front/euml/euml.hpp"><a name="d0e6646"></a><h2>msm/front/euml/euml.hpp</h2><p>This header includes all of eUML except the STL functors.</p></div><div class="refsect1" title="msm/front/euml/stl.hpp"><a name="d0e6651"></a><h2>msm/front/euml/stl.hpp</h2><p>This header includes all the functors for STL support in eUML. These <span class="command"><strong><a class="command" href="ch11.html#eUML-STL-all">tables</a></strong></span> show a full description.</p></div><div class="refsect1" title="msm/front/euml/algorithm.hpp"><a name="d0e6659"></a><h2>msm/front/euml/algorithm.hpp</h2><p>This header includes all the functors for STL algorithms support in eUML.
+ exit_pseudo_state</span></span>&nbsp;{<br>}</pre></div></div></div><div class="refsect1" title="msm/front/euml/euml.hpp"><a name="d0e6661"></a><h2>msm/front/euml/euml.hpp</h2><p>This header includes all of eUML except the STL functors.</p></div><div class="refsect1" title="msm/front/euml/stl.hpp"><a name="d0e6666"></a><h2>msm/front/euml/stl.hpp</h2><p>This header includes all the functors for STL support in eUML. These <span class="command"><strong><a class="command" href="ch11.html#eUML-STL-all">tables</a></strong></span> show a full description.</p></div><div class="refsect1" title="msm/front/euml/algorithm.hpp"><a name="d0e6674"></a><h2>msm/front/euml/algorithm.hpp</h2><p>This header includes all the functors for STL algorithms support in eUML.
                     These <span class="command"><strong><a class="command" href="ch11.html#eUML-STL-all">tables</a></strong></span> show a full
- description.</p></div><div class="refsect1" title="msm/front/euml/iteration.hpp"><a name="d0e6667"></a><h2>msm/front/euml/iteration.hpp</h2><p>This header includes iteration functors for STL support in eUML. This <span class="command"><strong><a class="command" href="ch11.html#eUML-STL-iteration">tables</a></strong></span> shows a full
- description.</p></div><div class="refsect1" title="msm/front/euml/querying.hpp"><a name="d0e6675"></a><h2>msm/front/euml/querying.hpp</h2><p>This header includes querying functors for STL support in eUML. This <span class="command"><strong><a class="command" href="ch11.html#eUML-STL-querying">tables</a></strong></span> shows a full
- description.</p></div><div class="refsect1" title="msm/front/euml/transformation.hpp"><a name="d0e6683"></a><h2>msm/front/euml/transformation.hpp</h2><p>This header includes transformation functors for STL support in eUML. This
+ description.</p></div><div class="refsect1" title="msm/front/euml/iteration.hpp"><a name="d0e6682"></a><h2>msm/front/euml/iteration.hpp</h2><p>This header includes iteration functors for STL support in eUML. This <span class="command"><strong><a class="command" href="ch11.html#eUML-STL-iteration">tables</a></strong></span> shows a full
+ description.</p></div><div class="refsect1" title="msm/front/euml/querying.hpp"><a name="d0e6690"></a><h2>msm/front/euml/querying.hpp</h2><p>This header includes querying functors for STL support in eUML. This <span class="command"><strong><a class="command" href="ch11.html#eUML-STL-querying">tables</a></strong></span> shows a full
+ description.</p></div><div class="refsect1" title="msm/front/euml/transformation.hpp"><a name="d0e6698"></a><h2>msm/front/euml/transformation.hpp</h2><p>This header includes transformation functors for STL support in eUML. This
                         <span class="command"><strong><a class="command" href="ch11.html#eUML-STL-transformation">tables</a></strong></span> shows a full
- description.</p></div><div class="refsect1" title="msm/front/euml/container.hpp"><a name="d0e6691"></a><h2>msm/front/euml/container.hpp</h2><p>This header includes container functors for STL support in eUML (functors
+ description.</p></div><div class="refsect1" title="msm/front/euml/container.hpp"><a name="d0e6706"></a><h2>msm/front/euml/container.hpp</h2><p>This header includes container functors for STL support in eUML (functors
                     calling container methods). This <span class="command"><strong><a class="command" href="ch11.html#eUML-STL-container">tables</a></strong></span> shows a full description. It also provides npos for
- strings.</p><div class="refsect2" title="Npos_<container type&gt;"><a name="d0e6699"></a><h3>Npos_&lt;container type&gt;</h3><p>Functor returning npos for transition or state behaviors. Like all
+ strings.</p><div class="refsect2" title="Npos_<container type&gt;"><a name="d0e6714"></a><h3>Npos_&lt;container type&gt;</h3><p>Functor returning npos for transition or state behaviors. Like all
                         constants, only the functor form exists, so parenthesis are necessary.
                         Example:</p><p><code class="code">string_find_(event_(m_song),Char_&lt;'S'&gt;(),Size_t_&lt;0&gt;()) !=
                             Npos_&lt;string&gt;() // compare result of string::find with
- npos</code></p></div></div><div class="refsect1" title="msm/front/euml/stt_grammar.hpp"><a name="d0e6707"></a><h2>msm/front/euml/stt_grammar.hpp</h2><p>This header provides the transition table grammars. This includes internal
- transition tables.</p><div class="refsect2" title="functions"><a name="d0e6712"></a><h3>functions</h3><div class="refsect3" title="build_stt"><a name="d0e6715"></a><h4>build_stt</h4><p>The function build_stt evaluates the grammar-conform expression as
+ npos</code></p></div></div><div class="refsect1" title="msm/front/euml/stt_grammar.hpp"><a name="d0e6722"></a><h2>msm/front/euml/stt_grammar.hpp</h2><p>This header provides the transition table grammars. This includes internal
+ transition tables.</p><div class="refsect2" title="functions"><a name="d0e6727"></a><h3>functions</h3><div class="refsect3" title="build_stt"><a name="d0e6730"></a><h4>build_stt</h4><p>The function build_stt evaluates the grammar-conform expression as
                             parameter. It returns a transition table, which is a mpl::vector of
                             transitions (rows) or, if the expression is ill-formed (does not match
                             the grammar), the type <code class="code">invalid_type</code>, which will lead to a
                             compile-time static assertion when this transition table is passed to a
                             state machine. </p><div class="funcsynopsis"><table border="0" summary="Function synopsis" cellspacing="0" cellpadding="0" class="funcprototype-table"><tr><td><code class="funcdef">template&lt;class Expr&gt; [mpl::vector&lt;...&gt; /
- msm::front::euml::invalid_type] build_stt(</code></td><td><code>)</code>;</td><td>&nbsp;</td></tr></table><div class="paramdef-list"><code>Expr const&amp; expr</code>;</div><div class="funcprototype-spacer">&nbsp;</div></div></div><div class="refsect3" title="build_internal_stt"><a name="d0e6729"></a><h4>build_internal_stt</h4><p>The function build_internal_stt evaluates the grammar-conform
+ msm::front::euml::invalid_type] build_stt(</code></td><td><code>)</code>;</td><td>&nbsp;</td></tr></table><div class="paramdef-list"><code>Expr const&amp; expr</code>;</div><div class="funcprototype-spacer">&nbsp;</div></div></div><div class="refsect3" title="build_internal_stt"><a name="d0e6744"></a><h4>build_internal_stt</h4><p>The function build_internal_stt evaluates the grammar-conform
                             expression as parameter. It returns a transition table, which is a
                             mpl::vector of transitions (rows) or, if the expression is ill-formed
                             (does not match the grammar), the type <code class="code">invalid_type</code>, which
                             will lead to a compile-time static assertion when this transition table
                             is passed to a state machine. </p><div class="funcsynopsis"><table border="0" summary="Function synopsis" cellspacing="0" cellpadding="0" class="funcprototype-table"><tr><td><code class="funcdef">template&lt;class Expr&gt; [mpl::vector&lt;...&gt; /
- msm::front::euml::invalid_type] build_internal_stt(</code></td><td><code>)</code>;</td><td>&nbsp;</td></tr></table><div class="paramdef-list"><code>Expr const&amp; expr</code>;</div><div class="funcprototype-spacer">&nbsp;</div></div></div></div><div class="refsect2" title="grammars"><a name="d0e6743"></a><h3>grammars</h3><div class="refsect3" title="transition table"><a name="d0e6746"></a><h4><span class="command"><strong><a name="reference-stt-grammar"></a>transition
+ msm::front::euml::invalid_type] build_internal_stt(</code></td><td><code>)</code>;</td><td>&nbsp;</td></tr></table><div class="paramdef-list"><code>Expr const&amp; expr</code>;</div><div class="funcprototype-spacer">&nbsp;</div></div></div></div><div class="refsect2" title="grammars"><a name="d0e6758"></a><h3>grammars</h3><div class="refsect3" title="transition table"><a name="d0e6761"></a><h4><span class="command"><strong><a name="reference-stt-grammar"></a>transition
                             table</strong></span></h4><p>The transition table accepts the following grammar:</p><pre class="programlisting">Stt := Row | (Stt ',' Stt)
 Row := (Target '==' (SourcePlusEvent)) /* first syntax*/
        | ( (SourcePlusEvent) '==' Target ) /* second syntax*/
@@ -346,15 +347,15 @@
 source + event /action == target,
 source / action == target, /*anonymous transition*/
 target == source / action, /*anonymous transition*/
-source + event /action, /* internal transition*/</pre></div><div class="refsect3" title="internal transition table"><a name="d0e6758"></a><h4>internal transition table</h4><p>The internal transition table accepts the following grammar:</p><pre class="programlisting">IStt := BuildEvent | (IStt ',' IStt)</pre><p>BuildEvent being defined for both internal and standard transition
- tables.</p></div></div></div><div class="refsect1" title="msm/front/euml/guard_grammar.hpp"><a name="d0e6767"></a><h2>msm/front/euml/guard_grammar.hpp</h2><p>This header contains the <code class="code">Guard</code> grammar used in the previous
+source + event /action, /* internal transition*/</pre></div><div class="refsect3" title="internal transition table"><a name="d0e6773"></a><h4>internal transition table</h4><p>The internal transition table accepts the following grammar:</p><pre class="programlisting">IStt := BuildEvent | (IStt ',' IStt)</pre><p>BuildEvent being defined for both internal and standard transition
+ tables.</p></div></div></div><div class="refsect1" title="msm/front/euml/guard_grammar.hpp"><a name="d0e6782"></a><h2>msm/front/euml/guard_grammar.hpp</h2><p>This header contains the <code class="code">Guard</code> grammar used in the previous
                     section. This grammar is long but pretty simple:</p><pre class="programlisting">Guard := action_tag | (Guard '&amp;&amp;' Guard)
         | (Guard '||' Guard) | ... /* operators*/
         | (if_then_else_(Guard,Guard,Guard)) | (function (Action,...Action))</pre><p>Most C++ operators are supported (address-of is not). With
                         <code class="code">function</code> is meant any eUML predefined function or any self-made
                     (using <code class="code">MSM_EUML_METHOD</code> or <code class="code">MSM_EUML_FUNCTION</code>). Action
- is a grammar defined in state_grammar.hpp.</p></div><div class="refsect1" title="msm/front/euml/state_grammar.hpp"><a name="d0e6788"></a><h2>msm/front/euml/state_grammar.hpp</h2><p>This header provides the grammar for actions and the different grammars and
- functions to build states using eUML.</p><div class="refsect2" title="action grammar"><a name="d0e6793"></a><h3>action grammar</h3><p>Like the guard grammar, this grammar supports relevant C++ operators and
+ is a grammar defined in state_grammar.hpp.</p></div><div class="refsect1" title="msm/front/euml/state_grammar.hpp"><a name="d0e6803"></a><h2>msm/front/euml/state_grammar.hpp</h2><p>This header provides the grammar for actions and the different grammars and
+ functions to build states using eUML.</p><div class="refsect2" title="action grammar"><a name="d0e6808"></a><h3>action grammar</h3><p>Like the guard grammar, this grammar supports relevant C++ operators and
                         eUML functions:</p><pre class="programlisting">Action := action_tag | (Action '+' Action)
           | ('--' Action) | ... /* operators*/
           | if_then_else_(Guard,Action,Action) | if_then_(Action)
@@ -363,10 +364,10 @@
           | (function(Action,...Action))
 ActionSequence := Action | (Action ',' Action)</pre><p>Relevant operators are: ++ (post/pre), -- (post/pre), dereferencing, +
                         (unary/binary), - (unary/binary), *, /, %, &amp;(bitwise), | (bitwise),
- ^(bitwise), +=, -=, *=, /=, %=, &lt;&lt;=, &gt;&gt;=, &lt;&lt;, &gt;&gt;, =, [].</p></div><div class="refsect2" title="attributes"><a name="d0e6802"></a><h3>attributes</h3><p>This grammar is used to add attributes to states (or state machines) or
+ ^(bitwise), +=, -=, *=, /=, %=, &lt;&lt;=, &gt;&gt;=, &lt;&lt;, &gt;&gt;, =, [].</p></div><div class="refsect2" title="attributes"><a name="d0e6817"></a><h3>attributes</h3><p>This grammar is used to add attributes to states (or state machines) or
                         events: It evaluates to a fusion::map. You can use two forms:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><code class="code">attributes_ &lt;&lt; no_attributes_</code></p></li><li class="listitem"><p><code class="code">attributes_ &lt;&lt; attribute_1 &lt;&lt; ... &lt;&lt;
                                         attribute_n</code></p></li></ul></div><p>Attributes can be of any default-constructible type (fusion
- requirement).</p></div><div class="refsect2" title="configure"><a name="d0e6818"></a><h3>configure</h3><p>This grammar also has two forms:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><code class="code">configure_ &lt;&lt; no_configure_</code></p></li><li class="listitem"><p><code class="code">configure_ &lt;&lt; type_1 &lt;&lt; ... &lt;&lt;
+ requirement).</p></div><div class="refsect2" title="configure"><a name="d0e6833"></a><h3>configure</h3><p>This grammar also has two forms:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><code class="code">configure_ &lt;&lt; no_configure_</code></p></li><li class="listitem"><p><code class="code">configure_ &lt;&lt; type_1 &lt;&lt; ... &lt;&lt;
                                         type_n</code></p></li></ul></div><p>This grammar is used to create inside one syntax:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>flags: <code class="code">configure_ &lt;&lt; some_flag</code> where
                                     some_flag inherits from <code class="code">euml_flag&lt;some_flag&gt;</code> or
                                     is defined using BOOST_MSM_EUML_FLAG.</p></li><li class="listitem"><p>deferred events: <code class="code">configure_ &lt;&lt; some_event</code>
@@ -378,12 +379,12 @@
                                     some_config inherits from
                                         <code class="code">euml_config&lt;some_config&gt;</code>. At the moment,
                                     three predefined objects exist (in msm//front/euml/common.hpp):</p><div class="itemizedlist"><ul class="itemizedlist" type="circle"><li class="listitem"><p>no_exception: disable catching exceptions</p></li><li class="listitem"><p>no_msg_queue: disable message queue</p></li><li class="listitem"><p>deferred_events: manually enable handling of
- deferred events</p></li></ul></div></li></ul></div></div><div class="refsect2" title="initial states"><a name="d0e6872"></a><h3>initial states</h3><p>The grammar to define initial states for a state machine is: <code class="code">init_
+ deferred events</p></li></ul></div></li></ul></div></div><div class="refsect2" title="initial states"><a name="d0e6887"></a><h3>initial states</h3><p>The grammar to define initial states for a state machine is: <code class="code">init_
                             &lt;&lt; state_1 &lt;&lt; ... &lt;&lt; state_n</code> where
                         state_1...state_n inherit from euml_state or is defined using
                         BOOST_MSM_EUML_STATE, BOOST_MSM_EUML_INTERRUPT_STATE,
                         BOOST_MSM_EUML_TERMINATE_STATE, BOOST_MSM_EUML_EXPLICIT_ENTRY_STATE,
- BOOST_MSM_EUML_ENTRY_STATE or BOOST_MSM_EUML_EXIT_STATE.</p></div><div class="refsect2" title="functions"><a name="d0e6880"></a><h3>functions</h3><div class="refsect3" title="build_sm"><a name="d0e6883"></a><h4>build_sm</h4><p>This function has several overloads. The return type is not relevant
+ BOOST_MSM_EUML_ENTRY_STATE or BOOST_MSM_EUML_EXIT_STATE.</p></div><div class="refsect2" title="functions"><a name="d0e6895"></a><h3>functions</h3><div class="refsect3" title="build_sm"><a name="d0e6898"></a><h4>build_sm</h4><p>This function has several overloads. The return type is not relevant
                             to you as only decltype (return type) is what one needs.</p><p>Defines a state machine without entry or exit:</p><div class="funcsynopsis"><table border="0" summary="Function synopsis" cellspacing="0" cellpadding="0" class="funcprototype-table"><tr><td><code class="funcdef">template &lt;class StateNameTag,class Stt,class Init&gt;
                                     func_state_machine&lt;...&gt; build_sm(</code></td><td><code>)</code>;</td><td>&nbsp;</td></tr></table><div class="paramdef-list"><code>Stt ,Init</code>;</div><div class="funcprototype-spacer">&nbsp;</div></div><p>Defines a state machine with entry behavior:</p><div class="funcsynopsis"><table border="0" summary="Function synopsis" cellspacing="0" cellpadding="0" class="funcprototype-table"><tr><td><code class="funcdef">template &lt;class StateNameTag,class Stt,class Init,class
                                     Expr1&gt; func_state_machine&lt;...&gt; build_sm(</code></td><td><code>)</code>;</td><td>&nbsp;</td></tr></table><div class="paramdef-list"><code>Stt ,Init,Expr1 const&amp;</code>;</div><div class="funcprototype-spacer">&nbsp;</div></div><p>Defines a state machine with entry and exit behaviors:</p><div class="funcsynopsis"><table border="0" summary="Function synopsis" cellspacing="0" cellpadding="0" class="funcprototype-table"><tr><td><code class="funcdef">template &lt;class StateNameTag,class Stt,class Init,class
@@ -402,7 +403,7 @@
                                     Base&gt; func_state_machine&lt;...&gt; build_sm(</code></td><td><code>)</code>;</td><td>&nbsp;</td></tr></table><div class="paramdef-list"><code>Stt ,Init,Expr1 const&amp;, Expr2 const&amp;, Attributes
                                     const&amp;, Configure const&amp;, Base</code>;</div><div class="funcprototype-spacer">&nbsp;</div></div><p>Notice that this function requires the extra parameter class
                             StateNameTag to disambiguate state machines having the same parameters
- but still being different.</p></div><div class="refsect3" title="build_state"><a name="d0e6938"></a><h4>build_state</h4><p>This function has several overloads. The return type is not relevant
+ but still being different.</p></div><div class="refsect3" title="build_state"><a name="d0e6953"></a><h4>build_state</h4><p>This function has several overloads. The return type is not relevant
                             to you as only decltype (return type) is what one needs.</p><p>Defines a simple state without entry or exit:</p><div class="funcsynopsis"><table border="0" summary="Function synopsis" cellspacing="0" cellpadding="0" class="funcprototype-table"><tr><td><code class="funcdef">func_state&lt;class StateNameTag,...&gt; build_state(</code></td><td><code>)</code>;</td><td>&nbsp;</td></tr></table><div class="paramdef-list"><code></code>;</div><div class="funcprototype-spacer">&nbsp;</div></div><p>Defines a simple state with entry behavior:</p><div class="funcsynopsis"><table border="0" summary="Function synopsis" cellspacing="0" cellpadding="0" class="funcprototype-table"><tr><td><code class="funcdef">template &lt;class StateNameTag,class Expr1&gt;
                                     func_state&lt;...&gt; build_state(</code></td><td><code>)</code>;</td><td>&nbsp;</td></tr></table><div class="paramdef-list"><code>Expr1 const&amp;</code>;</div><div class="funcprototype-spacer">&nbsp;</div></div><p>Defines a simple state with entry and exit behaviors:</p><div class="funcsynopsis"><table border="0" summary="Function synopsis" cellspacing="0" cellpadding="0" class="funcprototype-table"><tr><td><code class="funcdef">template &lt;class StateNameTag,class Expr1, class Expr2&gt;
                                     func_state&lt;...&gt; build_state(</code></td><td><code>)</code>;</td><td>&nbsp;</td></tr></table><div class="paramdef-list"><code>Expr1 const&amp;,Expr2 const&amp;</code>;</div><div class="funcprototype-spacer">&nbsp;</div></div><p>Defines a simple state with entry, exit behaviors and
@@ -418,7 +419,7 @@
                                     func_state&lt;...&gt; build_state(</code></td><td><code>)</code>;</td><td>&nbsp;</td></tr></table><div class="paramdef-list"><code>Expr1 const&amp;, Expr2 const&amp;, Attributes const&amp;,
                                     Configure const&amp;, Base</code>;</div><div class="funcprototype-spacer">&nbsp;</div></div><p>Notice that this function requires the extra parameter class
                             StateNameTag to disambiguate states having the same parameters but still
- being different.</p></div><div class="refsect3" title="build_terminate_state"><a name="d0e6992"></a><h4>build_terminate_state</h4><p>This function has the same overloads as build_state.</p></div><div class="refsect3" title="build_interrupt_state"><a name="d0e6997"></a><h4>build_interrupt_state</h4><p>This function has several overloads. The return type is not relevant
+ being different.</p></div><div class="refsect3" title="build_terminate_state"><a name="d0e7007"></a><h4>build_terminate_state</h4><p>This function has the same overloads as build_state.</p></div><div class="refsect3" title="build_interrupt_state"><a name="d0e7012"></a><h4>build_interrupt_state</h4><p>This function has several overloads. The return type is not relevant
                             to you as only decltype (return type) is what one needs.</p><p>Defines an interrupt state without entry or exit:</p><div class="funcsynopsis"><table border="0" summary="Function synopsis" cellspacing="0" cellpadding="0" class="funcprototype-table"><tr><td><code class="funcdef">template &lt;class StateNameTag,class EndInterruptEvent&gt;
                                     func_state&lt;...&gt; build_interrupt_state(</code></td><td><code>)</code>;</td><td>&nbsp;</td></tr></table><div class="paramdef-list"><code>EndInterruptEvent const&amp;</code>;</div><div class="funcprototype-spacer">&nbsp;</div></div><p>Defines an interrupt state with entry behavior:</p><div class="funcsynopsis"><table border="0" summary="Function synopsis" cellspacing="0" cellpadding="0" class="funcprototype-table"><tr><td><code class="funcdef">template &lt;class StateNameTag,class
                                     EndInterruptEvent,class Expr1&gt; func_state&lt;...&gt;
@@ -443,7 +444,7 @@
                                     const&amp;, Attributes const&amp;, Configure const&amp;,
                                     Base</code>;</div><div class="funcprototype-spacer">&nbsp;</div></div><p>Notice that this function requires the extra parameter class
                             StateNameTag to disambiguate states having the same parameters but still
- being different.</p></div><div class="refsect3" title="build_entry_state"><a name="d0e7052"></a><h4>build_entry_state</h4><p>This function has several overloads. The return type is not relevant
+ being different.</p></div><div class="refsect3" title="build_entry_state"><a name="d0e7067"></a><h4>build_entry_state</h4><p>This function has several overloads. The return type is not relevant
                             to you as only decltype (return type) is what one needs.</p><p>Defines an entry pseudo state without entry or exit:</p><div class="funcsynopsis"><table border="0" summary="Function synopsis" cellspacing="0" cellpadding="0" class="funcprototype-table"><tr><td><code class="funcdef">template &lt;class StateNameTag,int RegionIndex&gt;
                                     entry_func_state&lt;...&gt; build_entry_state(</code></td><td><code>)</code>;</td><td>&nbsp;</td></tr></table><div class="paramdef-list"><code></code>;</div><div class="funcprototype-spacer">&nbsp;</div></div><p>Defines an entry pseudo state with entry behavior:</p><div class="funcsynopsis"><table border="0" summary="Function synopsis" cellspacing="0" cellpadding="0" class="funcprototype-table"><tr><td><code class="funcdef">template &lt;class StateNameTag,int RegionIndex,class
                                     Expr1&gt; entry_func_state&lt;...&gt; build_entry_state(</code></td><td><code>)</code>;</td><td>&nbsp;</td></tr></table><div class="paramdef-list"><code>Expr1 const&amp;</code>;</div><div class="funcprototype-spacer">&nbsp;</div></div><p>Defines an entry pseudo state with entry and exit behaviors:</p><div class="funcsynopsis"><table border="0" summary="Function synopsis" cellspacing="0" cellpadding="0" class="funcprototype-table"><tr><td><code class="funcdef">template &lt;class StateNameTag,int RegionIndex,class
@@ -462,7 +463,7 @@
                                     Base&gt; entry_func_state&lt;...&gt; build_entry_state(</code></td><td><code>)</code>;</td><td>&nbsp;</td></tr></table><div class="paramdef-list"><code>Expr1 const&amp;, Expr2 const&amp;, Attributes const&amp;,
                                     Configure const&amp;, Base</code>;</div><div class="funcprototype-spacer">&nbsp;</div></div><p>Notice that this function requires the extra parameter class
                             StateNameTag to disambiguate states having the same parameters but still
- being different.</p></div><div class="refsect3" title="build_exit_state"><a name="d0e7106"></a><h4>build_exit_state</h4><p>This function has several overloads. The return type is not relevant
+ being different.</p></div><div class="refsect3" title="build_exit_state"><a name="d0e7121"></a><h4>build_exit_state</h4><p>This function has several overloads. The return type is not relevant
                             to you as only decltype (return type) is what one needs.</p><p>Defines an exit pseudo state without entry or exit:</p><div class="funcsynopsis"><table border="0" summary="Function synopsis" cellspacing="0" cellpadding="0" class="funcprototype-table"><tr><td><code class="funcdef">template &lt;class StateNameTag,class Event&gt;
                                     exit_func_state&lt;...&gt; build_exit_state(</code></td><td><code>)</code>;</td><td>&nbsp;</td></tr></table><div class="paramdef-list"><code>Event const&amp;</code>;</div><div class="funcprototype-spacer">&nbsp;</div></div><p>Defines an exit pseudo state with entry behavior:</p><div class="funcsynopsis"><table border="0" summary="Function synopsis" cellspacing="0" cellpadding="0" class="funcprototype-table"><tr><td><code class="funcdef">template &lt;class StateNameTag,class Event,class Expr1&gt;
                                     exit_func_state&lt;...&gt; build_exit_state(</code></td><td><code>)</code>;</td><td>&nbsp;</td></tr></table><div class="paramdef-list"><code>Event const&amp;,Expr1 const&amp;</code>;</div><div class="funcprototype-spacer">&nbsp;</div></div><p>Defines an exit pseudo state with entry and exit behaviors:</p><div class="funcsynopsis"><table border="0" summary="Function synopsis" cellspacing="0" cellpadding="0" class="funcprototype-table"><tr><td><code class="funcdef">template &lt;class StateNameTag,class Event,class Expr1,
@@ -481,8 +482,8 @@
                                     exit_func_state&lt;...&gt; build_exit_state(</code></td><td><code>)</code>;</td><td>&nbsp;</td></tr></table><div class="paramdef-list"><code>Event const&amp;,Expr1 const&amp;, Expr2 const&amp;,
                                     Attributes const&amp;, Configure const&amp;, Base</code>;</div><div class="funcprototype-spacer">&nbsp;</div></div><p>Notice that this function requires the extra parameter class
                             StateNameTag to disambiguate states having the same parameters but still
- being different.</p></div><div class="refsect3" title="build_explicit_entry_state"><a name="d0e7161"></a><h4>build_explicit_entry_state</h4><p>This function has the same overloads as build_entry_state and
- explicit_entry_func_state as return type.</p></div></div></div><div class="refsect1" title="msm/front/euml/common.hpp"><a name="d0e7166"></a><h2>msm/front/euml/common.hpp</h2><div class="refsect2" title="types"><a name="d0e7169"></a><h3>types</h3><div class="refsect3" title="euml_event"><a name="d0e7172"></a><h4>euml_event</h4><p>The basic type for events with eUML.</p><pre class="classsynopsis"> <span class="ooclass"><span class="classname">template &lt;class EventName&gt; euml_event;</span></span>&nbsp;{<br>}</pre><pre class="programlisting">struct play : euml_event&lt;play&gt;{};</pre></div><div class="refsect3" title="euml_state"><a name="d0e7183"></a><h4>euml_state</h4><p>The basic type for states with eUML. You will usually not use this
+ being different.</p></div><div class="refsect3" title="build_explicit_entry_state"><a name="d0e7176"></a><h4>build_explicit_entry_state</h4><p>This function has the same overloads as build_entry_state and
+ explicit_entry_func_state as return type.</p></div></div></div><div class="refsect1" title="msm/front/euml/common.hpp"><a name="d0e7181"></a><h2>msm/front/euml/common.hpp</h2><div class="refsect2" title="types"><a name="d0e7184"></a><h3>types</h3><div class="refsect3" title="euml_event"><a name="d0e7187"></a><h4>euml_event</h4><p>The basic type for events with eUML.</p><pre class="classsynopsis"> <span class="ooclass"><span class="classname">template &lt;class EventName&gt; euml_event;</span></span>&nbsp;{<br>}</pre><pre class="programlisting">struct play : euml_event&lt;play&gt;{};</pre></div><div class="refsect3" title="euml_state"><a name="d0e7198"></a><h4>euml_state</h4><p>The basic type for states with eUML. You will usually not use this
                             type directly as it is easier to use BOOST_MSM_EUML_STATE,
                             BOOST_MSM_EUML_INTERRUPT_STATE, BOOST_MSM_EUML_TERMINATE_STATE,
                             BOOST_MSM_EUML_EXPLICIT_ENTRY_STATE, BOOST_MSM_EUML_ENTRY_STATE or
@@ -493,7 +494,7 @@
     void foo() {...}
     template &lt;class Event,class Fsm&gt;
     void on_entry(Event const&amp; evt,Fsm&amp; fsm){...}
-};</pre></div><div class="refsect3" title="euml_flag"><a name="d0e7196"></a><h4>euml_flag</h4><p>The basic type for flags with eUML.</p><pre class="classsynopsis"> <span class="ooclass"><span class="classname">template &lt;class FlagName&gt; euml_flag;</span></span>&nbsp;{<br>}</pre><pre class="programlisting">struct PlayingPaused: euml_flag&lt;PlayingPaused&gt;{};</pre></div><div class="refsect3" title="euml_action"><a name="d0e7207"></a><h4>euml_action</h4><p>The basic type for state or transition behaviors and guards with
+};</pre></div><div class="refsect3" title="euml_flag"><a name="d0e7211"></a><h4>euml_flag</h4><p>The basic type for flags with eUML.</p><pre class="classsynopsis"> <span class="ooclass"><span class="classname">template &lt;class FlagName&gt; euml_flag;</span></span>&nbsp;{<br>}</pre><pre class="programlisting">struct PlayingPaused: euml_flag&lt;PlayingPaused&gt;{};</pre></div><div class="refsect3" title="euml_action"><a name="d0e7222"></a><h4>euml_action</h4><p>The basic type for state or transition behaviors and guards with
                             eUML.</p><pre class="classsynopsis"> <span class="ooclass"><span class="classname">template &lt;class AcionName&gt; euml_action;</span></span>&nbsp;{<br>}</pre><pre class="programlisting">struct close_drawer : euml_action&lt;close_drawer&gt;
 {
     template &lt;class Fsm,class Evt,class SourceState,class TargetState&gt;
@@ -502,41 +503,41 @@
 {
     template &lt;class Event,class Fsm,class State&gt;
     void operator()(Event const&amp;,Fsm&amp; fsm,State&amp; ){...}
-};</pre></div><div class="refsect3" title="euml_config"><a name="d0e7222"></a><h4>euml_config</h4><p>The basic type for configuration possibilities with eUML.</p><pre class="classsynopsis"> <span class="ooclass"><span class="classname">template &lt;class ConfigName&gt; euml_config;</span></span>&nbsp;{<br>}</pre><p>You normally do not use this type directly but instead the instances
+};</pre></div><div class="refsect3" title="euml_config"><a name="d0e7237"></a><h4>euml_config</h4><p>The basic type for configuration possibilities with eUML.</p><pre class="classsynopsis"> <span class="ooclass"><span class="classname">template &lt;class ConfigName&gt; euml_config;</span></span>&nbsp;{<br>}</pre><p>You normally do not use this type directly but instead the instances
                             of predefined configuration:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>no_exception: disable catching exceptions</p></li><li class="listitem"><p>no_msg_queue: disable message queue. The message queue
                                         allows you to send an event for procesing while in an event
                                         processing.</p></li><li class="listitem"><p>deferred_events: manually enable handling of deferred
- events</p></li></ul></div></div><div class="refsect3" title="invalid_type"><a name="d0e7243"></a><h4>invalid_type</h4><p>Type returned by grammar parsers if the grammar is invalid. Seeing
- this type will result in a static assertion.</p></div><div class="refsect3" title="no_action"><a name="d0e7248"></a><h4>no_action</h4><p>Placeholder type for use in entry/exit or transition behaviors, which
- does absolutely nothing.</p></div><div class="refsect3" title="source_"><a name="d0e7253"></a><h4>source_</h4><p>Generic object or function for the source state of a given transition:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>as object: returns by reference the source state of a
+ events</p></li></ul></div></div><div class="refsect3" title="invalid_type"><a name="d0e7258"></a><h4>invalid_type</h4><p>Type returned by grammar parsers if the grammar is invalid. Seeing
+ this type will result in a static assertion.</p></div><div class="refsect3" title="no_action"><a name="d0e7263"></a><h4>no_action</h4><p>Placeholder type for use in entry/exit or transition behaviors, which
+ does absolutely nothing.</p></div><div class="refsect3" title="source_"><a name="d0e7268"></a><h4>source_</h4><p>Generic object or function for the source state of a given transition:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>as object: returns by reference the source state of a
                                         transition, usually to be used by another function (usually
                                         one created by MSM_EUML_METHOD or MSM_EUML_FUNCTION).</p><p>Example:
                                         </p><pre class="programlisting">some_user_function_(source_)</pre></li><li class="listitem"><p>as function: returns by reference the attribute passed as
                                         parameter.</p><p>Example:
- </p><pre class="programlisting">source_(m_counter)++</pre></li></ul></div></div><div class="refsect3" title="target_"><a name="d0e7273"></a><h4>target_</h4><p>Generic object or function for the target state of a given transition:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>as object: returns by reference the target state of a
+ </p><pre class="programlisting">source_(m_counter)++</pre></li></ul></div></div><div class="refsect3" title="target_"><a name="d0e7288"></a><h4>target_</h4><p>Generic object or function for the target state of a given transition:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>as object: returns by reference the target state of a
                                         transition, usually to be used by another function (usually
                                         one created by MSM_EUML_METHOD or MSM_EUML_FUNCTION).</p><p>Example:
                                         </p><pre class="programlisting">some_user_function_(target_)</pre></li><li class="listitem"><p>as function: returns by reference the attribute passed as
                                         parameter.</p><p>Example:
- </p><pre class="programlisting">target_(m_counter)++</pre></li></ul></div></div><div class="refsect3" title="state_"><a name="d0e7293"></a><h4>state_</h4><p>Generic object or function for the state of a given entry / exit
+ </p><pre class="programlisting">target_(m_counter)++</pre></li></ul></div></div><div class="refsect3" title="state_"><a name="d0e7308"></a><h4>state_</h4><p>Generic object or function for the state of a given entry / exit
                             behavior. state_ means source_ while in the context of an exit behavior
                             and target_ in the context of an entry behavior:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>as object: returns by reference the current state, usually
                                         to be used by another function (usually one created by
                                         MSM_EUML_METHOD or MSM_EUML_FUNCTION).</p><p>Example:
                                         </p><pre class="programlisting">some_user_function_(state_) // calls some_user_function on the current state</pre></li><li class="listitem"><p>as function: returns by reference the attribute passed as
                                         parameter.</p><p>Example:
- </p><pre class="programlisting">state_(m_counter)++</pre></li></ul></div></div><div class="refsect3" title="event_"><a name="d0e7313"></a><h4>event_</h4><p>Generic object or function for the event triggering a given transition
+ </p><pre class="programlisting">state_(m_counter)++</pre></li></ul></div></div><div class="refsect3" title="event_"><a name="d0e7328"></a><h4>event_</h4><p>Generic object or function for the event triggering a given transition
                             (valid in a transition behavior, as well as in state entry/exit behaviors):</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>as object: returns by reference the event of a transition,
                                         usually to be used by another function (usually one created
                                         by MSM_EUML_METHOD or MSM_EUML_FUNCTION).</p><p>Example:
                                         </p><pre class="programlisting">some_user_function_(event_)</pre></li><li class="listitem"><p>as function: returns by reference the attribute passed as
                                         parameter.</p><p>Example:
- </p><pre class="programlisting">event_(m_counter)++</pre></li></ul></div></div><div class="refsect3" title="fsm_"><a name="d0e7333"></a><h4>fsm_</h4><p>Generic object or function for the state machine containing a given transition:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>as object: returns by reference the event of a transition,
+ </p><pre class="programlisting">event_(m_counter)++</pre></li></ul></div></div><div class="refsect3" title="fsm_"><a name="d0e7348"></a><h4>fsm_</h4><p>Generic object or function for the state machine containing a given transition:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>as object: returns by reference the event of a transition,
                                         usually to be used by another function (usually one created
                                         by MSM_EUML_METHOD or MSM_EUML_FUNCTION).</p><p>Example:
                                         </p><pre class="programlisting">some_user_function_(fsm_)</pre></li><li class="listitem"><p>as function: returns by reference the attribute passed as
                                         parameter.</p><p>Example:
- </p><pre class="programlisting">fsm_(m_counter)++</pre></li></ul></div></div><div class="refsect3" title="substate_"><a name="d0e7353"></a><h4>substate_</h4><p>Generic object or function returning a state of a given state machine:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>with 1 parameter: returns by reference the state passed as
+ </p><pre class="programlisting">fsm_(m_counter)++</pre></li></ul></div></div><div class="refsect3" title="substate_"><a name="d0e7368"></a><h4>substate_</h4><p>Generic object or function returning a state of a given state machine:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>with 1 parameter: returns by reference the state passed as
                                         parameter, usually to be used by another function (usually
                                         one created by MSM_EUML_METHOD or MSM_EUML_FUNCTION).</p><p>Example:
                                         </p><pre class="programlisting">some_user_function_(substate_(my_state))</pre></li><li class="listitem"><p>with 2 parameters: returns by reference the state passed
@@ -544,46 +545,46 @@
                                         parameter, usually to be used by another function (usually
                                         one created by MSM_EUML_METHOD or MSM_EUML_FUNCTION). This
                                         makes sense when used in combination with attribute_.</p><p>Example (equivalent to the previous example):
- </p><pre class="programlisting">some_user_function_(substate_(my_state,fsm_))</pre></li></ul></div></div><div class="refsect3" title="attribute_"><a name="d0e7373"></a><h4>attribute_</h4><p>Generic object or function returning the attribute passed (by name) as
+ </p><pre class="programlisting">some_user_function_(substate_(my_state,fsm_))</pre></li></ul></div></div><div class="refsect3" title="attribute_"><a name="d0e7388"></a><h4>attribute_</h4><p>Generic object or function returning the attribute passed (by name) as
                             second parameter of the thing passed as first (a state, event or state
                             machine). Example: </p><p>
                             </p><pre class="programlisting">attribute_(substate_(my_state),cd_name_attribute)++</pre><p>
- </p></div><div class="refsect3" title="True_"><a name="d0e7383"></a><h4>True_</h4><p>Functor returning true for transition or state behaviors. Like all
+ </p></div><div class="refsect3" title="True_"><a name="d0e7398"></a><h4>True_</h4><p>Functor returning true for transition or state behaviors. Like all
                             constants, only the functor form exists, so parenthesis are necessary.
                             Example:</p><p>
                             </p><pre class="programlisting">if_then_(True_(),/* some action always called*/)</pre><p>
- </p></div><div class="refsect3" title="False_"><a name="d0e7393"></a><h4>False_</h4><p>Functor returning false for transition or state behaviors. Like all
+ </p></div><div class="refsect3" title="False_"><a name="d0e7408"></a><h4>False_</h4><p>Functor returning false for transition or state behaviors. Like all
                             constants, only the functor form exists, so parenthesis are necessary.
                             Example:</p><p>
                             </p><pre class="programlisting">if_then_(False_(),/* some action never called */)</pre><p>
- </p></div><div class="refsect3" title="Int_<int value&gt;"><a name="d0e7403"></a><h4>Int_&lt;int value&gt;</h4><p>Functor returning an integer value for transition or state behaviors.
+ </p></div><div class="refsect3" title="Int_<int value&gt;"><a name="d0e7418"></a><h4>Int_&lt;int value&gt;</h4><p>Functor returning an integer value for transition or state behaviors.
                             Like all constants, only the functor form exists, so parenthesis are
                             necessary. Example:</p><p>
                             </p><pre class="programlisting">target_(m_ringing_cpt) = Int_&lt;RINGING_TIME&gt;() // RINGING_TIME is a constant</pre><p>
- </p></div><div class="refsect3" title="Char_<char value&gt;"><a name="d0e7413"></a><h4>Char_&lt;char value&gt;</h4><p>Functor returning a char value for transition or state behaviors. Like
+ </p></div><div class="refsect3" title="Char_<char value&gt;"><a name="d0e7428"></a><h4>Char_&lt;char value&gt;</h4><p>Functor returning a char value for transition or state behaviors. Like
                             all constants, only the functor form exists, so parenthesis are
                             necessary. Example:</p><p>
                             </p><pre class="programlisting">// look for 'S' in event.m_song
 [string_find_(event_(m_song),Char_&lt;'S'&gt;(),Size_t_&lt;0&gt;()) != Npos_&lt;string&gt;()]</pre><p>
- </p></div><div class="refsect3" title="Size_t_<size_t value&gt;"><a name="d0e7423"></a><h4>Size_t_&lt;size_t value&gt;</h4><p>Functor returning a size_t value for transition or state behaviors.
+ </p></div><div class="refsect3" title="Size_t_<size_t value&gt;"><a name="d0e7438"></a><h4>Size_t_&lt;size_t value&gt;</h4><p>Functor returning a size_t value for transition or state behaviors.
                             Like all constants, only the functor form exists, so parenthesis are
                             necessary. Example:</p><p>
                             </p><pre class="programlisting">substr_(event_(m_song),Size_t_&lt;1&gt;()) // returns a substring of event.m_song</pre><p>
- </p></div><div class="refsect3" title="String_ < mpl::string &gt;"><a name="d0e7433"></a><h4>String_ &lt; mpl::string &gt;</h4><p>Functor returning a string for transition or state behaviors. Like all
+ </p></div><div class="refsect3" title="String_ < mpl::string &gt;"><a name="d0e7448"></a><h4>String_ &lt; mpl::string &gt;</h4><p>Functor returning a string for transition or state behaviors. Like all
                             constants, only the functor form exists, so parenthesis are necessary.
                             Requires boost &gt;= 1.40 for mpl::string.</p><p>Example:</p><p>
                             </p><pre class="programlisting">// adds "Let it be" to fsm.m_src_container
 push_back_(fsm_(m_src_container), String_&lt;mpl::string&lt;'Let','it ','be'&gt; &gt;())</pre><p>
- </p></div><div class="refsect3" title="Predicate_ < some_stl_compatible_functor &gt;"><a name="d0e7445"></a><h4>Predicate_ &lt; some_stl_compatible_functor &gt;</h4><p>This functor eUML-enables a STL functor (for use in an algorithm).
+ </p></div><div class="refsect3" title="Predicate_ < some_stl_compatible_functor &gt;"><a name="d0e7460"></a><h4>Predicate_ &lt; some_stl_compatible_functor &gt;</h4><p>This functor eUML-enables a STL functor (for use in an algorithm).
                             This is necessary because all what is in the transition table must be a
                             eUML terminal.</p><p>Example:</p><pre class="programlisting">//equivalent to:
 //std::accumulate(fsm.m_vec.begin(),fsm.m_vec.end(),1,std::plus&lt;int&gt;())== 1
 accumulate_(begin_(fsm_(m_vec)),end_(fsm_(m_vec)),Int_&lt;1&gt;(),
- Predicate_&lt;std::plus&lt;int&gt; &gt;()) == Int_&lt;1&gt;())</pre></div><div class="refsect3" title="process_"><a name="d0e7454"></a><h4>process_</h4><p>This function sends an event to up to 4 state machines by calling
+ Predicate_&lt;std::plus&lt;int&gt; &gt;()) == Int_&lt;1&gt;())</pre></div><div class="refsect3" title="process_"><a name="d0e7469"></a><h4>process_</h4><p>This function sends an event to up to 4 state machines by calling
                                 <code class="code">process_event</code> on them:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><code class="code">process_(some_event)</code> : processes an event in
                                         the current (containing) state machine.</p></li><li class="listitem"><p><code class="code">process_(some_event [,fsm1...fsm4] )</code> :
                                         processes the same event in the 1-4 state machines passed as
- argument.</p></li></ul></div></div><div class="refsect3" title="process2_"><a name="d0e7473"></a><h4>process2_</h4><p>This function sends an event to up to 3 state machines by calling
+ argument.</p></li></ul></div></div><div class="refsect3" title="process2_"><a name="d0e7488"></a><h4>process2_</h4><p>This function sends an event to up to 3 state machines by calling
                                 <code class="code">process_event</code> on them and copy-constructing the event
                             from the data passed as second parameter:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><code class="code">process2_(some_event, some_data)</code> : processes
                                         an event in the current (containing) state machine.</p></li><li class="listitem"><p><code class="code">process2_(some_event, some_data [,fsm1...fsm3]
@@ -593,24 +594,24 @@
 // copy-constructed with event.m_song
 process2_(NotFound,event_(m_song))</pre><p>
                         </p><p>With the following definitions:</p><pre class="programlisting">BOOST_MSM_EUML_DECLARE_ATTRIBUTE(std::string,m_song)//declaration of m_song
-NotFound (const string&amp; data) // copy-constructor of NotFound</pre></div><div class="refsect3" title="is_flag_"><a name="d0e7503"></a><h4>is_flag_</h4><p>This function tells if a flag is active by calling
+NotFound (const string&amp; data) // copy-constructor of NotFound</pre></div><div class="refsect3" title="is_flag_"><a name="d0e7518"></a><h4>is_flag_</h4><p>This function tells if a flag is active by calling
                                 <code class="code">is_flag_active</code> on the current state machine or one
                             passed as parameter:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><code class="code">is_flag_(some_flag)</code> : calls
                                             <code class="code">is_flag_active</code> on the current (containing)
                                         state machine.</p></li><li class="listitem"><p><code class="code">is_flag_(some_flag, some_fsm)</code> :calls
                                             <code class="code">is_flag_active</code> on the state machine.passed
- as argument.</p></li></ul></div></div><div class="refsect3" title="defer_"><a name="d0e7528"></a><h4>defer_</h4><p>This object defers the current event by calling
+ as argument.</p></li></ul></div></div><div class="refsect3" title="defer_"><a name="d0e7543"></a><h4>defer_</h4><p>This object defers the current event by calling
                                 <code class="code">defer_event</code> on the current state machine.
- Example:</p><pre class="programlisting">Empty() + play() / defer_</pre></div><div class="refsect3" title="explicit_(submachine-name,state-name)"><a name="d0e7538"></a><h4>explicit_(submachine-name,state-name)</h4><p>Used as transition's target, causes an explicit entry into the given
+ Example:</p><pre class="programlisting">Empty() + play() / defer_</pre></div><div class="refsect3" title="explicit_(submachine-name,state-name)"><a name="d0e7553"></a><h4>explicit_(submachine-name,state-name)</h4><p>Used as transition's target, causes an explicit entry into the given
                             state from the given submachine. Several explicit_ as targets, separated
                             by commas, means a fork. The state must have been declared as such using
- BOOST_MSM_EUML_EXPLICIT_ENTRY_STATE.</p></div><div class="refsect3" title="entry_pt_(submachine-name,state-name)"><a name="d0e7543"></a><h4>entry_pt_(submachine-name,state-name)</h4><p>Used as transition's target from a containing state machine, causes
+ BOOST_MSM_EUML_EXPLICIT_ENTRY_STATE.</p></div><div class="refsect3" title="entry_pt_(submachine-name,state-name)"><a name="d0e7558"></a><h4>entry_pt_(submachine-name,state-name)</h4><p>Used as transition's target from a containing state machine, causes
                             submachine-name to be entered using the given entry pseudo-state. This
                             state must have been declared as pseudo entry using
- BOOST_MSM_EUML_ENTRY_STATE.</p></div><div class="refsect3" title="exit_pt_(submachine-name,state-name)"><a name="d0e7548"></a><h4>exit_pt_(submachine-name,state-name)</h4><p>Used as transition's source from a containing state machine, causes
+ BOOST_MSM_EUML_ENTRY_STATE.</p></div><div class="refsect3" title="exit_pt_(submachine-name,state-name)"><a name="d0e7563"></a><h4>exit_pt_(submachine-name,state-name)</h4><p>Used as transition's source from a containing state machine, causes
                             submachine-name to be left using the given exit pseudo-state. This state
                             must have been declared as pseudo exit using
- BOOST_MSM_EUML_EXIT_STATE.</p></div><div class="refsect3" title="MSM_EUML_FUNCTION"><a name="d0e7553"></a><h4>MSM_EUML_FUNCTION</h4><p>This macro creates a eUML function and a functor for use with the
+ BOOST_MSM_EUML_EXIT_STATE.</p></div><div class="refsect3" title="MSM_EUML_FUNCTION"><a name="d0e7568"></a><h4>MSM_EUML_FUNCTION</h4><p>This macro creates a eUML function and a functor for use with the
                             functor front-end, based on a free function:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>first parameter: the name of the functor</p></li><li class="listitem"><p>second parameter: the underlying function</p></li><li class="listitem"><p>third parameter: the eUML function name</p></li><li class="listitem"><p>fourth parameter: the return type if used in a transition
                                         behavior</p></li><li class="listitem"><p>fifth parameter: the return type if used in a state
                                         behavior (entry/exit)</p></li></ul></div><p> Note that the function itself can take up to 5
@@ -618,7 +619,7 @@
                             </p><pre class="programlisting">MSM_EUML_FUNCTION(BinarySearch_,std::binary_search,binary_search_,bool,bool)</pre><p>
                         </p><p>Can be used like:</p><p>
                             </p><pre class="programlisting">binary_search_(begin_(fsm_(m_var)),end_(fsm_(m_var)),Int_&lt;9&gt;())</pre><p>
- </p></div><div class="refsect3" title="MSM_EUML_METHOD"><a name="d0e7589"></a><h4>MSM_EUML_METHOD</h4><p>This macro creates a eUML function and a functor for use with the
+ </p></div><div class="refsect3" title="MSM_EUML_METHOD"><a name="d0e7604"></a><h4>MSM_EUML_METHOD</h4><p>This macro creates a eUML function and a functor for use with the
                             functor front-end, based on a method:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>first parameter: the name of the functor</p></li><li class="listitem"><p>second parameter: the underlying function</p></li><li class="listitem"><p>third parameter: the eUML function name</p></li><li class="listitem"><p>fourth parameter: the return type if used in a transition
                                         behavior</p></li><li class="listitem"><p>fifth parameter: the return type if used in a state
                                         behavior (entry/exit)</p></li></ul></div><p> Note that the method itself can take up to 4 arguments
@@ -630,40 +631,40 @@
 };
 MSM_EUML_METHOD(ActivateEmpty_,activate_empty,activate_empty_,void,void)</pre><p>Can be used like:</p><p>
                             </p><pre class="programlisting">Empty == Open + open_close / (close_drawer , activate_empty_(target_))</pre><p>
- </p></div><div class="refsect3" title="BOOST_MSM_EUML_ACTION(action-instance-name)"><a name="d0e7622"></a><h4>BOOST_MSM_EUML_ACTION(action-instance-name)</h4><p>This macro declares a behavior type and a const instance for use in
+ </p></div><div class="refsect3" title="BOOST_MSM_EUML_ACTION(action-instance-name)"><a name="d0e7637"></a><h4>BOOST_MSM_EUML_ACTION(action-instance-name)</h4><p>This macro declares a behavior type and a const instance for use in
                             state or transition behaviors. The action implementation itself follows
                             the macro declaration, for example:</p><pre class="programlisting">BOOST_MSM_EUML_ACTION(good_disk_format)
 {
      template &lt;class Fsm,class Evt,class SourceState,class TargetState&gt;
      void/bool operator()(Evt const&amp; evt,Fsm&amp;,SourceState&amp; ,TargetState&amp; ){...}
-};</pre></div><div class="refsect3" title="BOOST_MSM_EUML_FLAG(flag-instance-name)"><a name="d0e7629"></a><h4>BOOST_MSM_EUML_FLAG(flag-instance-name)</h4><p>This macro declares a flag type and a const instance for use in
- behaviors.</p></div><div class="refsect3" title="BOOST_MSM_EUML_FLAG_NAME(flag-instance-name)"><a name="d0e7634"></a><h4>BOOST_MSM_EUML_FLAG_NAME(flag-instance-name)</h4><p>This macro returns the name of the flag type generated by
+};</pre></div><div class="refsect3" title="BOOST_MSM_EUML_FLAG(flag-instance-name)"><a name="d0e7644"></a><h4>BOOST_MSM_EUML_FLAG(flag-instance-name)</h4><p>This macro declares a flag type and a const instance for use in
+ behaviors.</p></div><div class="refsect3" title="BOOST_MSM_EUML_FLAG_NAME(flag-instance-name)"><a name="d0e7649"></a><h4>BOOST_MSM_EUML_FLAG_NAME(flag-instance-name)</h4><p>This macro returns the name of the flag type generated by
                             BOOST_MSM_EUML_FLAG. You need this where the type is required (usually
- with the back-end method is_flag_active). For example:</p><pre class="programlisting">fsm.is_flag_active&lt;BOOST_MSM_EUML_FLAG_NAME(CDLoaded)&gt;()</pre></div><div class="refsect3" title="BOOST_MSM_EUML_DECLARE_ATTRIBUTE(event-type,event-name)"><a name="d0e7641"></a><h4>BOOST_MSM_EUML_DECLARE_ATTRIBUTE(event-type,event-name)</h4><p>This macro declares an attribute called event-name of type event-type.
+ with the back-end method is_flag_active). For example:</p><pre class="programlisting">fsm.is_flag_active&lt;BOOST_MSM_EUML_FLAG_NAME(CDLoaded)&gt;()</pre></div><div class="refsect3" title="BOOST_MSM_EUML_DECLARE_ATTRIBUTE(event-type,event-name)"><a name="d0e7656"></a><h4>BOOST_MSM_EUML_DECLARE_ATTRIBUTE(event-type,event-name)</h4><p>This macro declares an attribute called event-name of type event-type.
                             This attribute can then be made part of an attribute list using
- BOOST_MSM_EUML_ATTRIBUTES.</p></div><div class="refsect3" title="BOOST_MSM_EUML_ATTRIBUTES(attributes-expression,attributes-name)"><a name="d0e7646"></a><h4>BOOST_MSM_EUML_ATTRIBUTES(attributes-expression,attributes-name)</h4><p>This macro declares an attribute list called attributes-name based on
+ BOOST_MSM_EUML_ATTRIBUTES.</p></div><div class="refsect3" title="BOOST_MSM_EUML_ATTRIBUTES(attributes-expression,attributes-name)"><a name="d0e7661"></a><h4>BOOST_MSM_EUML_ATTRIBUTES(attributes-expression,attributes-name)</h4><p>This macro declares an attribute list called attributes-name based on
                             the expression as first argument. These attributes can then be made part
                             of an event using BOOST_MSM_EUML_EVENT_WITH_ATTRIBUTES, of a state as
                             3rd parameter of BOOST_MSM_EUML_STATE or of a state machine as 5th
                             parameter of BOOST_MSM_EUML_DECLARE_STATE_MACHINE.</p><p>Attributes are added using left-shift, for example:</p><pre class="programlisting">// m_song is of type std::string
 BOOST_MSM_EUML_DECLARE_ATTRIBUTE(std::string,m_song)
 // contains one attribute, m_song
-BOOST_MSM_EUML_ATTRIBUTES((attributes_ &lt;&lt; m_song ), FoundDef)</pre></div><div class="refsect3" title="BOOST_MSM_EUML_EVENT(event-instance name)"><a name="d0e7655"></a><h4>BOOST_MSM_EUML_EVENT(event-instance name)</h4><p>This macro defines an event type (event-instance-name_helper) and
+BOOST_MSM_EUML_ATTRIBUTES((attributes_ &lt;&lt; m_song ), FoundDef)</pre></div><div class="refsect3" title="BOOST_MSM_EUML_EVENT(event-instance name)"><a name="d0e7670"></a><h4>BOOST_MSM_EUML_EVENT(event-instance name)</h4><p>This macro defines an event type (event-instance-name_helper) and
                             declares a const instance of this event type called event-instance-name
- for use in a transition table or state behaviors.</p></div><div class="refsect3" title="BOOST_MSM_EUML_EVENT_WITH_ATTRIBUTES(event-instance-name,attributes)"><a name="d0e7660"></a><h4>BOOST_MSM_EUML_EVENT_WITH_ATTRIBUTES(event-instance-name,attributes)</h4><p>This macro defines an event type (event-instance-name_helper) and
+ for use in a transition table or state behaviors.</p></div><div class="refsect3" title="BOOST_MSM_EUML_EVENT_WITH_ATTRIBUTES(event-instance-name,attributes)"><a name="d0e7675"></a><h4>BOOST_MSM_EUML_EVENT_WITH_ATTRIBUTES(event-instance-name,attributes)</h4><p>This macro defines an event type (event-instance-name_helper) and
                             declares a const instance of this event type called event-instance-name
                             for use in a transition table or state behaviors. The event will have as
                             attributes the ones passed by the second argument:</p><p><code class="code">BOOST_MSM_EUML_EVENT_WITH_ATTRIBUTES(Found,FoundDef)</code>
                         </p><p>The created event instance supports operator()(attributes) so that
                             </p><pre class="programlisting">my_back_end.process_event(Found(some_string))</pre><p>
- is possible.</p></div><div class="refsect3" title="BOOST_MSM_EUML_EVENT_NAME(event-instance-name)"><a name="d0e7674"></a><h4>BOOST_MSM_EUML_EVENT_NAME(event-instance-name)</h4><p>This macro returns the name of the event type generated by
+ is possible.</p></div><div class="refsect3" title="BOOST_MSM_EUML_EVENT_NAME(event-instance-name)"><a name="d0e7689"></a><h4>BOOST_MSM_EUML_EVENT_NAME(event-instance-name)</h4><p>This macro returns the name of the event type generated by
                             BOOST_MSM_EUML_EVENT or BOOST_MSM_EUML_EVENT_WITH_ATTRIBUTES. You need
                             this where the type is required (usually inside a back-end definition).
                             For example:</p><p>
                             </p><pre class="programlisting">typedef msm::back::state_machine&lt;Playing_,
 msm::back::ShallowHistory&lt;mpl::vector&lt;BOOST_MSM_EUML_EVENT_NAME(end_pause)
 &gt; &gt; &gt; Playing_type;</pre><p>
- </p></div><div class="refsect3" title="BOOST_MSM_EUML_STATE(build-expression,state-instance-name)"><a name="d0e7684"></a><h4>BOOST_MSM_EUML_STATE(build-expression,state-instance-name)</h4><p>This macro defines a state type (state-instance-name_helper) and
+ </p></div><div class="refsect3" title="BOOST_MSM_EUML_STATE(build-expression,state-instance-name)"><a name="d0e7699"></a><h4>BOOST_MSM_EUML_STATE(build-expression,state-instance-name)</h4><p>This macro defines a state type (state-instance-name_helper) and
                             declares a const instance of this state type called state-instance-name
                             for use in a transition table or state behaviors.</p><p>There are several possibilitites for the expression syntax:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>(): state without entry or exit action.</p></li><li class="listitem"><p>(Expr1): state with entry but no exit action.</p></li><li class="listitem"><p>(Expr1,Expr2): state with entry and exit action.</p></li><li class="listitem"><p>(Expr1,Expr2,Attributes): state with entry and exit
                                         action, defining some attributes.</p></li><li class="listitem"><p>(Expr1,Expr2,Attributes,Configure): state with entry and
@@ -672,7 +673,7 @@
                                         events).</p></li><li class="listitem"><p>(Expr1,Expr2,Attributes,Configure,Base): state with entry
                                         and exit action, defining some attributes, flags and
                                         deferred events (plain msm deferred events) and a
- non-default base state (as defined in standard MSM).</p></li></ul></div></div><div class="refsect3" title="BOOST_MSM_EUML_INTERRUPT_STATE(build-expression,state-instance-name)"><a name="d0e7710"></a><h4>BOOST_MSM_EUML_INTERRUPT_STATE(build-expression,state-instance-name)</h4><p>This macro defines an interrupt state type
+ non-default base state (as defined in standard MSM).</p></li></ul></div></div><div class="refsect3" title="BOOST_MSM_EUML_INTERRUPT_STATE(build-expression,state-instance-name)"><a name="d0e7725"></a><h4>BOOST_MSM_EUML_INTERRUPT_STATE(build-expression,state-instance-name)</h4><p>This macro defines an interrupt state type
                             (state-instance-name_helper) and declares a const instance of this state
                             type called state-instance-name for use in a transition table or state
                             behaviors.</p><p>There are several possibilitites for the expression syntax. In all of
@@ -689,7 +690,7 @@
                                         interrupt state with entry and exit action, defining some
                                         attributes, flags and deferred events (plain msm deferred
                                         events) and a non-default base state (as defined in standard
- MSM).</p></li></ul></div></div><div class="refsect3" title="BOOST_MSM_EUML_TERMINATE_STATE(build-expression,state-instance-name)"><a name="d0e7736"></a><h4>BOOST_MSM_EUML_TERMINATE_STATE(build-expression,state-instance-name)</h4><p>This macro defines a terminate pseudo-state type
+ MSM).</p></li></ul></div></div><div class="refsect3" title="BOOST_MSM_EUML_TERMINATE_STATE(build-expression,state-instance-name)"><a name="d0e7751"></a><h4>BOOST_MSM_EUML_TERMINATE_STATE(build-expression,state-instance-name)</h4><p>This macro defines a terminate pseudo-state type
                             (state-instance-name_helper) and declares a const instance of this state
                             type called state-instance-name for use in a transition table or state
                             behaviors.</p><p>There are several possibilitites for the expression syntax:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>(): terminate pseudo-state without entry or exit
@@ -703,7 +704,7 @@
                                         pseudo-state with entry and exit action, defining some
                                         attributes, flags and deferred events (plain msm deferred
                                         events) and a non-default base state (as defined in standard
- MSM).</p></li></ul></div></div><div class="refsect3" title="BOOST_MSM_EUML_EXIT_STATE(build-expression,state-instance-name)"><a name="d0e7762"></a><h4>BOOST_MSM_EUML_EXIT_STATE(build-expression,state-instance-name)</h4><p>This macro defines an exit pseudo-state type
+ MSM).</p></li></ul></div></div><div class="refsect3" title="BOOST_MSM_EUML_EXIT_STATE(build-expression,state-instance-name)"><a name="d0e7777"></a><h4>BOOST_MSM_EUML_EXIT_STATE(build-expression,state-instance-name)</h4><p>This macro defines an exit pseudo-state type
                             (state-instance-name_helper) and declares a const instance of this state
                             type called state-instance-name for use in a transition table or state
                             behaviors.</p><p>There are several possibilitites for the expression syntax:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>(forwarded_event):exit pseudo-state without entry or exit
@@ -719,7 +720,7 @@
                                         attributes, flags and deferred events (plain msm deferred
                                         events) and a non-default base state (as defined in standard
                                         MSM).</p></li></ul></div><p>Note that the forwarded_event must be constructible from the event
- sent by the submachine containing the exit point.</p></div><div class="refsect3" title="BOOST_MSM_EUML_ENTRY_STATE(int region-index,build-expression,state-instance-name)"><a name="d0e7790"></a><h4>BOOST_MSM_EUML_ENTRY_STATE(int
+ sent by the submachine containing the exit point.</p></div><div class="refsect3" title="BOOST_MSM_EUML_ENTRY_STATE(int region-index,build-expression,state-instance-name)"><a name="d0e7805"></a><h4>BOOST_MSM_EUML_ENTRY_STATE(int
                             region-index,build-expression,state-instance-name)</h4><p>This macro defines an entry pseudo-state type
                             (state-instance-name_helper) and declares a const instance of this state
                             type called state-instance-name for use in a transition table or state
@@ -734,7 +735,7 @@
                                         pseudo-state with entry and exit action, defining some
                                         attributes, flags and deferred events (plain msm deferred
                                         events) and a non-default base state (as defined in standard
- MSM).</p></li></ul></div></div><div class="refsect3" title="BOOST_MSM_EUML_EXPLICIT_ENTRY_STATE(int region-index,build-expression,state-instance-name)"><a name="d0e7816"></a><h4>BOOST_MSM_EUML_EXPLICIT_ENTRY_STATE(int
+ MSM).</p></li></ul></div></div><div class="refsect3" title="BOOST_MSM_EUML_EXPLICIT_ENTRY_STATE(int region-index,build-expression,state-instance-name)"><a name="d0e7831"></a><h4>BOOST_MSM_EUML_EXPLICIT_ENTRY_STATE(int
                             region-index,build-expression,state-instance-name)</h4><p>This macro defines a submachine's substate type
                             (state-instance-name_helper), which can be explicitly entered and also
                             declares a const instance of this state type called state-instance-name
@@ -745,28 +746,28 @@
                                         events).</p></li><li class="listitem"><p>(Expr1,Expr2,Attributes,Configure,Base): state with entry
                                         and exit action, defining some attributes, flags and
                                         deferred events (plain msm deferred events) and a
- non-default base state (as defined in standard MSM).</p></li></ul></div></div><div class="refsect3" title="BOOST_MSM_EUML_STATE_NAME(state-instance-name)"><a name="d0e7842"></a><h4>BOOST_MSM_EUML_STATE_NAME(state-instance-name)</h4><p>This macro returns the name of the state type generated by
+ non-default base state (as defined in standard MSM).</p></li></ul></div></div><div class="refsect3" title="BOOST_MSM_EUML_STATE_NAME(state-instance-name)"><a name="d0e7857"></a><h4>BOOST_MSM_EUML_STATE_NAME(state-instance-name)</h4><p>This macro returns the name of the state type generated by
                             BOOST_MSM_EUML_STATE or other state macros. You need this where the type
                             is required (usually using a backend function). For example:</p><p>
                             </p><pre class="programlisting">fsm.get_state&lt;BOOST_MSM_EUML_STATE_NAME(StringFind)&amp;&gt;().some_state_function();</pre><p>
- </p></div><div class="refsect3" title="BOOST_MSM_EUML_DECLARE_STATE(build-expression,state-instance-name)"><a name="d0e7852"></a><h4>BOOST_MSM_EUML_DECLARE_STATE(build-expression,state-instance-name)</h4><p>Like BOOST_MSM_EUML_STATE but does not provide an instance, simply a
- type declaration.</p></div><div class="refsect3" title="BOOST_MSM_EUML_DECLARE_INTERRUPT_STATE(build-expression,state-instance-name)"><a name="d0e7857"></a><h4>BOOST_MSM_EUML_DECLARE_INTERRUPT_STATE(build-expression,state-instance-name)</h4><p>Like BOOST_MSM_EUML_INTERRUPT_STATE but does not provide an instance,
- simply a type declaration.</p></div><div class="refsect3" title="BOOST_MSM_EUML_DECLARE_TERMINATE_STATE(build-expression,state-instance-name)"><a name="d0e7862"></a><h4>BOOST_MSM_EUML_DECLARE_TERMINATE_STATE(build-expression,state-instance-name)</h4><p>Like BOOST_MSM_EUML_TERMINATE_STATE but does not provide an instance,
- simply a type declaration.</p></div><div class="refsect3" title="BOOST_MSM_EUML_DECLARE_EXIT_STATE(build-expression,state-instance-name)"><a name="d0e7867"></a><h4>BOOST_MSM_EUML_DECLARE_EXIT_STATE(build-expression,state-instance-name)</h4><p>Like BOOST_MSM_EUML_EXIT_STATE but does not provide an instance,
- simply a type declaration.</p></div><div class="refsect3" title="BOOST_MSM_EUML_DECLARE_ENTRY_STATE(int region-index,build-expression,state-instance-name)"><a name="d0e7872"></a><h4>BOOST_MSM_EUML_DECLARE_ENTRY_STATE(int
+ </p></div><div class="refsect3" title="BOOST_MSM_EUML_DECLARE_STATE(build-expression,state-instance-name)"><a name="d0e7867"></a><h4>BOOST_MSM_EUML_DECLARE_STATE(build-expression,state-instance-name)</h4><p>Like BOOST_MSM_EUML_STATE but does not provide an instance, simply a
+ type declaration.</p></div><div class="refsect3" title="BOOST_MSM_EUML_DECLARE_INTERRUPT_STATE(build-expression,state-instance-name)"><a name="d0e7872"></a><h4>BOOST_MSM_EUML_DECLARE_INTERRUPT_STATE(build-expression,state-instance-name)</h4><p>Like BOOST_MSM_EUML_INTERRUPT_STATE but does not provide an instance,
+ simply a type declaration.</p></div><div class="refsect3" title="BOOST_MSM_EUML_DECLARE_TERMINATE_STATE(build-expression,state-instance-name)"><a name="d0e7877"></a><h4>BOOST_MSM_EUML_DECLARE_TERMINATE_STATE(build-expression,state-instance-name)</h4><p>Like BOOST_MSM_EUML_TERMINATE_STATE but does not provide an instance,
+ simply a type declaration.</p></div><div class="refsect3" title="BOOST_MSM_EUML_DECLARE_EXIT_STATE(build-expression,state-instance-name)"><a name="d0e7882"></a><h4>BOOST_MSM_EUML_DECLARE_EXIT_STATE(build-expression,state-instance-name)</h4><p>Like BOOST_MSM_EUML_EXIT_STATE but does not provide an instance,
+ simply a type declaration.</p></div><div class="refsect3" title="BOOST_MSM_EUML_DECLARE_ENTRY_STATE(int region-index,build-expression,state-instance-name)"><a name="d0e7887"></a><h4>BOOST_MSM_EUML_DECLARE_ENTRY_STATE(int
                             region-index,build-expression,state-instance-name)</h4><p>Like BOOST_MSM_EUML_ENTRY_STATE but does not provide an instance,
- simply a type declaration.</p></div><div class="refsect3" title="BOOST_MSM_EUML_DECLARE_EXPLICIT_ENTRY_STATE(int region-index,build-expression,state-instance-name)"><a name="d0e7877"></a><h4>BOOST_MSM_EUML_DECLARE_EXPLICIT_ENTRY_STATE(int
+ simply a type declaration.</p></div><div class="refsect3" title="BOOST_MSM_EUML_DECLARE_EXPLICIT_ENTRY_STATE(int region-index,build-expression,state-instance-name)"><a name="d0e7892"></a><h4>BOOST_MSM_EUML_DECLARE_EXPLICIT_ENTRY_STATE(int
                             region-index,build-expression,state-instance-name)</h4><p>Like BOOST_MSM_EUML_EXPLICIT_ENTRY_STATE but does not provide an
- instance, simply a type declaration.</p></div><div class="refsect3" title="BOOST_MSM_EUML_TRANSITION_TABLE(expression, table-instance-name)"><a name="d0e7882"></a><h4>BOOST_MSM_EUML_TRANSITION_TABLE(expression,
+ instance, simply a type declaration.</p></div><div class="refsect3" title="BOOST_MSM_EUML_TRANSITION_TABLE(expression, table-instance-name)"><a name="d0e7897"></a><h4>BOOST_MSM_EUML_TRANSITION_TABLE(expression,
                             table-instance-name)</h4><p>This macro declares a transition table type and also declares a const
                             instance of the table which can then be used in a state machine
                             declaration (see BOOST_MSM_EUML_DECLARE_STATE_MACHINE).The expression
                             must follow the <span class="command"><strong><a class="command" href="re03.html#reference-stt-grammar">transition
- table grammar</a></strong></span>.</p></div><div class="refsect3" title="BOOST_MSM_EUML_DECLARE_TRANSITION_TABLE(iexpression,table-instance-name)"><a name="d0e7890"></a><h4>BOOST_MSM_EUML_DECLARE_TRANSITION_TABLE(iexpression,table-instance-name)</h4><p>Like BOOST_MSM_EUML_TRANSITION_TABLE but does not provide an instance,
- simply a type declaration.</p></div><div class="refsect3" title="BOOST_MSM_EUML_INTERNAL_TRANSITION_TABLE(expression, table-instance-name)"><a name="d0e7895"></a><h4>BOOST_MSM_EUML_INTERNAL_TRANSITION_TABLE(expression,
+ table grammar</a></strong></span>.</p></div><div class="refsect3" title="BOOST_MSM_EUML_DECLARE_TRANSITION_TABLE(iexpression,table-instance-name)"><a name="d0e7905"></a><h4>BOOST_MSM_EUML_DECLARE_TRANSITION_TABLE(iexpression,table-instance-name)</h4><p>Like BOOST_MSM_EUML_TRANSITION_TABLE but does not provide an instance,
+ simply a type declaration.</p></div><div class="refsect3" title="BOOST_MSM_EUML_INTERNAL_TRANSITION_TABLE(expression, table-instance-name)"><a name="d0e7910"></a><h4>BOOST_MSM_EUML_INTERNAL_TRANSITION_TABLE(expression,
                             table-instance-name)</h4><p>This macro declares a transition table type and also declares a const
                             instance of the table.The expression must follow the <span class="command"><strong><a class="command" href="re03.html#reference-stt-grammar">transition table
- grammar</a></strong></span>. For the moment, this macro is not used.</p></div><div class="refsect3" title="BOOST_MSM_EUML_DECLARE_INTERNAL_TRANSITION_TABLE(iexpression,table-instance-name)"><a name="d0e7903"></a><h4>BOOST_MSM_EUML_DECLARE_INTERNAL_TRANSITION_TABLE(iexpression,table-instance-name)</h4><p>Like BOOST_MSM_EUML_TRANSITION_TABLE but does not provide an instance,
+ grammar</a></strong></span>. For the moment, this macro is not used.</p></div><div class="refsect3" title="BOOST_MSM_EUML_DECLARE_INTERNAL_TRANSITION_TABLE(iexpression,table-instance-name)"><a name="d0e7918"></a><h4>BOOST_MSM_EUML_DECLARE_INTERNAL_TRANSITION_TABLE(iexpression,table-instance-name)</h4><p>Like BOOST_MSM_EUML_TRANSITION_TABLE but does not provide an instance,
                             simply a type declaration. This is currently the only way to declare an
                             internal transition table with eUML. For example:</p><pre class="programlisting">BOOST_MSM_EUML_DECLARE_STATE((Open_Entry,Open_Exit),Open_def)
 struct Open_impl : public Open_def

Modified: trunk/libs/msm/doc/PDF/examples/Orthogonal-deferred.cpp
==============================================================================
--- trunk/libs/msm/doc/PDF/examples/Orthogonal-deferred.cpp Sun Sep 22 06:12:20 2013 (r85820)
+++ trunk/libs/msm/doc/PDF/examples/Orthogonal-deferred.cpp 2013-09-22 06:27:26 EDT (Sun, 22 Sep 2013) (r85821)
@@ -29,6 +29,7 @@
     struct PreviousSong {};
     struct error_found {};
     struct end_error {};
+ struct end_error2 {};
 
     // Flags. Allow information about a property of the current state
     struct PlayingPaused{};
@@ -170,7 +171,7 @@
         };
         // this state is also made terminal so that all the events are blocked
         struct ErrorMode : //public msm::front::terminate_state<> // ErrorMode terminates the state machine
- public msm::front::interrupt_state<end_error> // ErroMode just interrupts. Will resume if
+ public msm::front::interrupt_state<end_error/*mpl::vector<end_error,end_error2>*/ > // ErroMode just interrupts. Will resume if
                                                             // the event end_error is generated
         {
             template <class Event,class FSM>

Modified: trunk/libs/msm/doc/PDF/msm.pdf
==============================================================================
Binary file (source and/or target). No diff available.

Modified: trunk/libs/msm/doc/src/msm.xml
==============================================================================
--- trunk/libs/msm/doc/src/msm.xml Sun Sep 22 06:12:20 2013 (r85820)
+++ trunk/libs/msm/doc/src/msm.xml 2013-09-22 06:27:26 EDT (Sun, 22 Sep 2013) (r85821)
@@ -903,11 +903,12 @@
                         â€œterminates” (the state machine and all its states stay alive) and all
                         events are ignored. This is of course not mandatory, one can use orthogonal
                         regions without terminate states. MSM also provides a small extension to
- UML, interrupt states. If you declare ErrorMode as interrupt state instead
- of terminate state, the state machine will not handle any event other than
- the one which ends the interrupt. So it's like a terminate state, with the
- difference that you are allowed to resume the state machine when a condition
- (like handling of the original error) is met. </para>
+ UML, interrupt states. If you declare ErrorMode (or a Boost.MPL sequence of
+ events, like boost::mpl::vector&lt;ErrorMode, AnotherEvent>) as interrupt
+ state instead of terminate state, the state machine will not handle any
+ event other than the one which ends the interrupt. So it's like a terminate
+ state, with the difference that you are allowed to resume the state machine
+ when a condition (like handling of the original error) is met. </para>
                     <para><command xml:id="basic-defer"/>Last but not least, this example also shows
                         here the handling of event deferring. Let's say someone puts a disc and
                         immediately presses play. The event cannot be handled, yet you'd want it to
@@ -1753,7 +1754,8 @@
         ...
     }
 }; // same for Empty_Exit
-struct Empty : public msm::front::euml::func_state&lt;Empty_Entry,Empty_Exit>{};</programlisting>
+struct Empty_tag {};
+struct Empty : public msm::front::euml::func_state&lt;Empty_tag,Empty_Entry,Empty_Exit>{};</programlisting>
                     <para>This also means that you can, like in the transition table, write entry /
                         exit actions made of more complicated action combinations. The previous
                         example can therefore <link xlink:href="examples/SimpleWithFunctors2.cpp">be
@@ -4032,6 +4034,20 @@
         <chapter>
             <title>Version history</title>
             <sect1>
+ <title>From V2.25 to V2.26 (Boost 1.55)</title>
+ <para>
+ <itemizedlist>
+ <listitem>
+ <para>New feature: interrupt states now support a sequence of events to
+ end the interruption</para>
+ </listitem>
+ <listitem>
+ <para>Bugfix: Trac 8686.</para>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </sect1>
+ <sect1>
                 <title>From V2.24 to V2.25 (Boost 1.54)</title>
                 <para>
                     <itemizedlist>
@@ -7155,6 +7171,8 @@
                             ending the interrupt. The second argument is needed if you want your
                             state (and all others used in a concrete state machine) to inherit a
                             basic type for logging or providing a common behavior.</para>
+ <para>The EndInterruptEvent can also be a sequence of events:
+ mpl::vector&lt;EndInterruptEvent,EndInterruptEvent2>.</para>
                         <classsynopsis>
                             <ooclass>
                                 <classname>template&lt;class EndInterruptEvent,class Base =


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk