Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r57823 - in sandbox/msm/libs/msm/doc: . index-Dateien
From: christophe.j.henry_at_[hidden]
Date: 2009-11-20 15:57:16


Author: chenry
Date: 2009-11-20 15:57:15 EST (Fri, 20 Nov 2009)
New Revision: 57823
URL: http://svn.boost.org/trac/boost/changeset/57823

Log:
added note about functors inside a submachine.
Binary files modified:
   sandbox/msm/libs/msm/doc/index-Dateien/image027.jpg
Text files modified:
   sandbox/msm/libs/msm/doc/index-Dateien/filelist.xml | 26
   sandbox/msm/libs/msm/doc/index-Dateien/props0033.xml | 2
   sandbox/msm/libs/msm/doc/index.htm | 635 ++++++++++++++++++++-------------------
   3 files changed, 339 insertions(+), 324 deletions(-)

Modified: sandbox/msm/libs/msm/doc/index-Dateien/filelist.xml
==============================================================================
--- sandbox/msm/libs/msm/doc/index-Dateien/filelist.xml (original)
+++ sandbox/msm/libs/msm/doc/index-Dateien/filelist.xml 2009-11-20 15:57:15 EST (Fri, 20 Nov 2009)
@@ -5,30 +5,30 @@
  <o:File HRef="themedata.thmx"/>
  <o:File HRef="colorschememapping.xml"/>
  <o:File HRef="image001.jpg"/>
- <o:File HRef="image002.jpg"/>
+ <o:File HRef="image027.jpg"/>
  <o:File HRef="image003.jpg"/>
- <o:File HRef="image004.jpg"/>
+ <o:File HRef="image028.jpg"/>
  <o:File HRef="image005.jpg"/>
- <o:File HRef="image006.jpg"/>
+ <o:File HRef="image029.jpg"/>
  <o:File HRef="image007.jpg"/>
- <o:File HRef="image008.jpg"/>
+ <o:File HRef="image030.jpg"/>
  <o:File HRef="image009.jpg"/>
- <o:File HRef="image010.jpg"/>
+ <o:File HRef="image031.jpg"/>
  <o:File HRef="image011.jpg"/>
- <o:File HRef="image012.jpg"/>
+ <o:File HRef="image032.jpg"/>
  <o:File HRef="image013.jpg"/>
- <o:File HRef="image014.jpg"/>
+ <o:File HRef="image033.jpg"/>
  <o:File HRef="image015.jpg"/>
- <o:File HRef="image016.jpg"/>
+ <o:File HRef="image034.jpg"/>
  <o:File HRef="image017.jpg"/>
- <o:File HRef="image018.jpg"/>
+ <o:File HRef="image035.jpg"/>
  <o:File HRef="image019.jpg"/>
- <o:File HRef="image020.jpg"/>
+ <o:File HRef="image036.jpg"/>
  <o:File HRef="image021.jpg"/>
- <o:File HRef="image022.jpg"/>
+ <o:File HRef="image037.jpg"/>
  <o:File HRef="image023.jpg"/>
- <o:File HRef="image024.jpg"/>
+ <o:File HRef="image038.jpg"/>
  <o:File HRef="image025.jpg"/>
- <o:File HRef="image026.jpg"/>
+ <o:File HRef="image039.jpg"/>
  <o:File HRef="filelist.xml"/>
 </xml>
\ No newline at end of file

Modified: sandbox/msm/libs/msm/doc/index-Dateien/image027.jpg
==============================================================================
Binary files. No diff available.

Modified: sandbox/msm/libs/msm/doc/index-Dateien/props0033.xml
==============================================================================
--- sandbox/msm/libs/msm/doc/index-Dateien/props0033.xml (original)
+++ sandbox/msm/libs/msm/doc/index-Dateien/props0033.xml 2009-11-20 15:57:15 EST (Fri, 20 Nov 2009)
@@ -1,2 +1,2 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<ds:datastoreItem ds:itemID="{6361FD76-1A79-4CC6-9F4B-E43CA6B60F5E}" xmlns:ds="http://schemas.openxmlformats.org/officeDocument/2006/customXml"><ds:schemaRefs><ds:schemaRef ds:uri="http://schemas.openxmlformats.org/officeDocument/2006/bibliography"/></ds:schemaRefs></ds:datastoreItem>
\ No newline at end of file
+<ds:datastoreItem ds:itemID="{EF9B35B7-C726-456D-8F63-9097CA52530F}" xmlns:ds="http://schemas.openxmlformats.org/officeDocument/2006/customXml"><ds:schemaRefs><ds:schemaRef ds:uri="http://schemas.openxmlformats.org/officeDocument/2006/bibliography"/></ds:schemaRefs></ds:datastoreItem>
\ No newline at end of file

Modified: sandbox/msm/libs/msm/doc/index.htm
==============================================================================
--- sandbox/msm/libs/msm/doc/index.htm (original)
+++ sandbox/msm/libs/msm/doc/index.htm 2009-11-20 15:57:15 EST (Fri, 20 Nov 2009)
@@ -23,15 +23,15 @@
   <o:Author>Christophe</o:Author>
   <o:Template>Normal</o:Template>
   <o:LastAuthor>Christophe</o:LastAuthor>
- <o:Revision>283</o:Revision>
+ <o:Revision>284</o:Revision>
   <o:Created>2009-09-03T20:17:00Z</o:Created>
- <o:LastSaved>2009-11-20T20:29:00Z</o:LastSaved>
+ <o:LastSaved>2009-11-20T20:55:00Z</o:LastSaved>
   <o:Pages>39</o:Pages>
- <o:Words>18955</o:Words>
- <o:Characters>119422</o:Characters>
- <o:Lines>995</o:Lines>
+ <o:Words>18988</o:Words>
+ <o:Characters>119628</o:Characters>
+ <o:Lines>996</o:Lines>
   <o:Paragraphs>276</o:Paragraphs>
- <o:CharactersWithSpaces>138101</o:CharactersWithSpaces>
+ <o:CharactersWithSpaces>138340</o:CharactersWithSpaces>
   <o:Version>12.00</o:Version>
  </o:DocumentProperties>
 </xml><![endif]-->
@@ -4999,7 +4999,7 @@
 <meta name=CHANGEDBY content=xtoff>
 <meta name=CHANGEDBY content=xtoff>
 <!--[if gte mso 9]><xml>
- <o:shapedefaults v:ext="edit" spidmax="43010"/>
+ <o:shapedefaults v:ext="edit" spidmax="44034"/>
 </xml><![endif]--><!--[if gte mso 9]><xml>
  <o:shapelayout v:ext="edit">
   <o:idmap v:ext="edit" data="1"/>
@@ -5549,7 +5549,7 @@
  mso-wrap-style:square'>
  <v:imagedata src="index-Dateien/image001.jpg" o:title="Transition"/>
 </v:shape><![endif]--><![if !vml]><img border=0 width=202 height=96
-src="index-Dateien/image002.jpg" alt=Transition.jpg v:shapes="Grafik_x0020_16"><![endif]></span><span
+src="index-Dateien/image027.jpg" alt=Transition.jpg v:shapes="Grafik_x0020_16"><![endif]></span><span
 lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p>
 
 <p style='margin-bottom:12.0pt'><span lang=EN-US style='mso-ansi-language:EN-US'>Where
@@ -5817,9 +5817,9 @@
 
 <p style='margin-bottom:12.0pt'><span lang=EN-US style='mso-ansi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
 
-<p><span lang=EN-US style='mso-ansi-language:EN-US'>If you are looking for an efficient
-and straightforward UML-based finite state machine framework, we sincerely hope
-you will enjoy this work!<o:p></o:p></span></p>
+<p><span lang=EN-US style='mso-ansi-language:EN-US'>If you are looking for an
+efficient and straightforward UML-based finite state machine framework, we
+sincerely hope you will enjoy this work!<o:p></o:p></span></p>
 
 <h2><a name="_Founding_example"></a><span lang=EN-US style='mso-fareast-font-family:
 "Times New Roman";mso-ansi-language:EN-US'>Founding example<o:p></o:p></span></h2>
@@ -6552,16 +6552,15 @@
 
 <p><span lang=EN-US style='mso-ansi-language:EN-US'>SimpleTutorial.cpp<o:p></o:p></span></p>
 
-<p><span lang=EN-US style='mso-ansi-language:EN-US'>The previously described
-transition table is an easily-generated view of the following UML State Machine
-Diagram:<o:p></o:p></span></p>
+<p><span lang=EN-US style='mso-ansi-language:EN-US'>The previously described transition
+table is an easily-generated view of the following UML State Machine Diagram:<o:p></o:p></span></p>
 
 <p style='margin-bottom:12.0pt'><span style='mso-no-proof:yes'><!--[if gte vml 1]><v:shape
  id="Grafik_x0020_15" o:spid="_x0000_i1036" type="#_x0000_t75" alt="SimpleTutorial.jpg"
  style='width:450pt;height:435.6pt;visibility:visible;mso-wrap-style:square'>
  <v:imagedata src="index-Dateien/image003.jpg" o:title="SimpleTutorial"/>
 </v:shape><![endif]--><![if !vml]><img border=0 width=600 height=581
-src="index-Dateien/image004.jpg" alt=SimpleTutorial.jpg v:shapes="Grafik_x0020_15"><![endif]></span><span
+src="index-Dateien/image028.jpg" alt=SimpleTutorial.jpg v:shapes="Grafik_x0020_15"><![endif]></span><span
 lang=EN-US style='mso-ansi-language:EN-US'><br clear=left style='mso-special-character:
 line-break'>
 <o:p></o:p></span></p>
@@ -6766,8 +6765,8 @@
 style='mso-ansi-language:EN-US'><o:p></o:p></span></p>
 
 <p style='margin-bottom:0cm;margin-bottom:.0001pt'><code><span lang=EN-US
-style='font-size:10.0pt;color:green;mso-ansi-language:EN-US'>// Replaces the default
-no-transition response.</span></code><span lang=EN-US style='mso-ansi-language:
+style='font-size:10.0pt;color:green;mso-ansi-language:EN-US'>// Replaces the
+default no-transition response.</span></code><span lang=EN-US style='mso-ansi-language:
 EN-US'><o:p></o:p></span></p>
 
 <p style='margin-bottom:0cm;margin-bottom:.0001pt'><span lang=EN-US
@@ -6830,8 +6829,8 @@
 color:black;mso-ansi-language:EN-US'>states are now classes/structs</span></u></code><code><span
 lang=EN-US style='font-size:10.0pt;color:black;mso-ansi-language:EN-US'> </span></code><code><span
 lang=EN-US style='mso-ansi-font-size:12.0pt;mso-bidi-font-size:12.0pt;
-font-family:"Times New Roman","serif";color:black;mso-ansi-language:EN-US'>so
-they can have data. The states get default-constructed at initialization time.</span></code><span
+font-family:"Times New Roman","serif";color:black;mso-ansi-language:EN-US'>so they
+can have data. The states get default-constructed at initialization time.</span></code><span
 lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p>
 
 <p style='margin-top:5.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:36.0pt;
@@ -6968,7 +6967,7 @@
  style='width:462pt;height:620.4pt;visibility:visible;mso-wrap-style:square'>
  <v:imagedata src="index-Dateien/image005.jpg" o:title="CompositeTutorial"/>
 </v:shape><![endif]--><![if !vml]><img border=0 width=616 height=827
-src="index-Dateien/image006.jpg" alt=CompositeTutorial.jpg v:shapes="Grafik_x0020_14"><![endif]></span><span
+src="index-Dateien/image029.jpg" alt=CompositeTutorial.jpg v:shapes="Grafik_x0020_14"><![endif]></span><span
 lang=EN-US style='mso-ansi-language:EN-US'><br clear=left style='mso-special-character:
 line-break'>
 <o:p></o:p></span></p>
@@ -7181,9 +7180,9 @@
 <p><span lang=EN-US style='mso-ansi-language:EN-US'><a
 href="Orthogonal-deferred.cpp">Orthogonal-deferred.cpp</a><o:p></o:p></span></p>
 
-<p><span lang=EN-US style='mso-ansi-language:EN-US'>This tutorial will demonstrate
-the use of three more features that UML defines: Othogonal regions, deferring
-of events and terminate States.<o:p></o:p></span></p>
+<p><span lang=EN-US style='mso-ansi-language:EN-US'>This tutorial will
+demonstrate the use of three more features that UML defines: Othogonal regions,
+deferring of events and terminate States.<o:p></o:p></span></p>
 
 <p><span lang=EN-US style='mso-ansi-language:EN-US'>It is a very common problem
 in many state machines to have to handle errors. It usually involves defining a
@@ -7216,9 +7215,9 @@
 
 <p><span lang=EN-US style='mso-ansi-language:EN-US'>Usually, when you get an
 error, you do not want other events to be handled. To achieve this, we use
-another UML feature, terminate states. When any region moves to a terminate state,
-the state machine &#8220;terminates&#8221; (the state machine and all its
-states stay alive) and all further events are ignored.<o:p></o:p></span></p>
+another UML feature, terminate states. When any region moves to a terminate
+state, the state machine &#8220;terminates&#8221; (the state machine and all
+its states stay alive) and all further events are ignored.<o:p></o:p></span></p>
 
 <p><span lang=EN-US style='mso-ansi-language:EN-US'>This is of course not
 mandatory, one can use orthogonal regions without terminate states.<o:p></o:p></span></p>
@@ -7261,7 +7260,7 @@
  style='width:486.6pt;height:604.2pt;visibility:visible;mso-wrap-style:square'>
  <v:imagedata src="index-Dateien/image007.jpg" o:title="Orthogonal-deferred"/>
 </v:shape><![endif]--><![if !vml]><img border=0 width=649 height=806
-src="index-Dateien/image008.jpg" alt=Orthogonal-deferred.jpg v:shapes="Bild_x0020_4"><![endif]></span><span
+src="index-Dateien/image030.jpg" alt=Orthogonal-deferred.jpg v:shapes="Bild_x0020_4"><![endif]></span><span
 lang=EN-US style='mso-ansi-language:EN-US'><br clear=left style='mso-special-character:
 line-break'>
 <o:p></o:p></span></p>
@@ -7330,8 +7329,8 @@
 12.0pt;font-family:"Times New Roman","serif";color:#030003;mso-ansi-language:
 EN-US'>And you're done with the orthogonal regions! You don't have to give the
 regions an id but be advised that there is currently no compile time
-enforcement of region consistency (Msm does not yet check that the regions are truly
-orthogonal)</span></code><span lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p>
+enforcement of region consistency (Msm does not yet check that the regions are
+truly orthogonal)</span></code><span lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p>
 
 <p style='margin-bottom:12.0pt'><span lang=EN-US style='mso-ansi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
 
@@ -7440,16 +7439,16 @@
  style='width:427.2pt;height:617.4pt;visibility:visible;mso-wrap-style:square'>
  <v:imagedata src="index-Dateien/image009.jpg" o:title="HistoryTutorial"/>
 </v:shape><![endif]--><![if !vml]><img border=0 width=570 height=823
-src="index-Dateien/image010.jpg" alt=HistoryTutorial.jpg v:shapes="Grafik_x0020_12"><![endif]></span><span
+src="index-Dateien/image031.jpg" alt=HistoryTutorial.jpg v:shapes="Grafik_x0020_12"><![endif]></span><span
 lang=EN-US style='mso-ansi-language:EN-US'><br clear=left style='mso-special-character:
 line-break'>
 <o:p></o:p></span></p>
 
 <p><span lang=EN-US style='mso-ansi-language:EN-US'>As explained in the <a
 href="MsmSession_Handout.pdf">BoostCon09 paper</a>, Histories are weird. First,
-there can be just one. And they can have only one out transition, so if you have
-orthogonal regions, you are out of luck. They also replace the initial state
-symbol. And if you have deep policy, things become much worse because you
+there can be just one. And they can have only one out transition, so if you
+have orthogonal regions, you are out of luck. They also replace the initial
+state symbol. And if you have deep policy, things become much worse because you
 cannot easily draw a line into a submachine. To make it worse, they are not
 exactly object-oriented as a on the picture, a transition should have been
 drawn directly into Playing, with the History as target.<o:p></o:p></span></p>
@@ -7492,8 +7491,8 @@
 "Courier New";mso-ansi-language:EN-US'>Playing</span><span lang=EN-US
 style='mso-ansi-language:EN-US'> state machine gets activated by the </span><span
 lang=EN-US style='font-family:"Courier New";mso-ansi-language:EN-US'>end_pause</span><span
-lang=EN-US style='mso-ansi-language:EN-US'> event and only this one (or any other
-event added to the mpl::vector). If the state machine was in the </span><span
+lang=EN-US style='mso-ansi-language:EN-US'> event and only this one (or any
+other event added to the mpl::vector). If the state machine was in the </span><span
 lang=EN-US style='font-family:"Courier New";mso-ansi-language:EN-US'>Stopped</span><span
 lang=EN-US style='mso-ansi-language:EN-US'> state and the event </span><span
 lang=EN-US style='font-family:"Courier New";mso-ansi-language:EN-US'>play</span><span
@@ -7528,8 +7527,8 @@
 itself useful on many occasions. Please, do not be frightened as we are not
 talking about ugly shortcuts made of an improbable collusion of Booleans.<o:p></o:p></span></p>
 
-<p><span lang=EN-US style='mso-ansi-language:EN-US'>So what is it and what is its
-use?<o:p></o:p></span></p>
+<p><span lang=EN-US style='mso-ansi-language:EN-US'>So what is it and what is
+its use?<o:p></o:p></span></p>
 
 <p><span lang=EN-US style='mso-ansi-language:EN-US'>If you look into the
 Boost.Statechart documentation you'll find some code like:<o:p></o:p></span></p>
@@ -7663,7 +7662,7 @@
  height:655.2pt;visibility:visible;mso-wrap-style:square'>
  <v:imagedata src="index-Dateien/image011.jpg" o:title="FlagsTutorial"/>
 </v:shape><![endif]--><![if !vml]><img border=0 width=616 height=874
-src="index-Dateien/image012.jpg" alt=FlagsTutorial.jpg v:shapes="Grafik_x0020_11"><![endif]></span><span
+src="index-Dateien/image032.jpg" alt=FlagsTutorial.jpg v:shapes="Grafik_x0020_11"><![endif]></span><span
 lang=EN-US style='mso-ansi-language:EN-US'><br clear=left style='mso-special-character:
 line-break'>
 <o:p></o:p></span></p>
@@ -7687,7 +7686,7 @@
  height:331.8pt;visibility:visible;mso-wrap-style:square'>
  <v:imagedata src="index-Dateien/image013.jpg" o:title="Anonymous"/>
 </v:shape><![endif]--><![if !vml]><img border=0 width=444 height=442
-src="index-Dateien/image014.jpg" alt=Anonymous.jpg v:shapes="Grafik_x0020_13"><![endif]></span><span
+src="index-Dateien/image033.jpg" alt=Anonymous.jpg v:shapes="Grafik_x0020_13"><![endif]></span><span
 lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p>
 
 <p style='page-break-before:always;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
@@ -7828,9 +7827,9 @@
 style='mso-list:Ignore'>&middot;<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 </span></span></span><![endif]><u><span lang=EN-US style='mso-ansi-language:
 EN-US'>Explicit entry</span></u><span lang=EN-US style='mso-ansi-language:EN-US'>:
-if a transition goes to a sub-state of a composite state, this state becomes
-active and like in the previous examples, its entry action is executed after
-the entry action from the composite state.<o:p></o:p></span></p>
+if a transition goes to a sub-state of a composite state, this state becomes active
+and like in the previous examples, its entry action is executed after the entry
+action from the composite state.<o:p></o:p></span></p>
 
 <p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l13 level1 lfo17;
 tab-stops:list 36.0pt'><![if !supportLists]><span lang=EN-US style='font-size:
@@ -7913,7 +7912,7 @@
  height:574.8pt;visibility:visible;mso-wrap-style:square'>
  <v:imagedata src="index-Dateien/image015.jpg" o:title="entry tutorial"/>
 </v:shape><![endif]--><![if !vml]><img border=0 width=634 height=766
-src="index-Dateien/image016.jpg" alt="entry tutorial.jpg" v:shapes="Grafik_x0020_10"><![endif]></span><span
+src="index-Dateien/image034.jpg" alt="entry tutorial.jpg" v:shapes="Grafik_x0020_10"><![endif]></span><span
 lang=EN-US style='mso-ansi-language:EN-US'><br clear=left style='mso-special-character:
 line-break'>
 <o:p></o:p></span></p>
@@ -8253,9 +8252,9 @@
 lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p>
 
 <p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
-lang=EN-US style='color:black;mso-ansi-language:EN-US'>And add the corresponding
-transition in Fsm's transition table:</span><span lang=EN-US style='mso-ansi-language:
-EN-US'><o:p></o:p></span></p>
+lang=EN-US style='color:black;mso-ansi-language:EN-US'>And add the
+corresponding transition in Fsm's transition table:</span><span lang=EN-US
+style='mso-ansi-language:EN-US'><o:p></o:p></span></p>
 
 <p style='margin-bottom:12.0pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
 lang=EN-US style='mso-ansi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
@@ -8294,9 +8293,9 @@
 
 <p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
 lang=EN-US style='color:black;mso-ansi-language:EN-US'>And another in the
-SubFsm2_ submachine definition (remember that UML defines an entry point as a connection
-between two transitions), for example this time with an action method:</span><span
-lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p>
+SubFsm2_ submachine definition (remember that UML defines an entry point as a
+connection between two transitions), for example this time with an action
+method:</span><span lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p>
 
 <p style='margin-bottom:12.0pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
 lang=EN-US style='mso-ansi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
@@ -8452,8 +8451,8 @@
 <p style='margin-bottom:0cm;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><u><span
 lang=EN-US style='mso-ansi-language:EN-US'>Important note 1:</span></u><span
 lang=EN-US style='mso-ansi-language:EN-US'> UML defines transiting to an entry
-pseudo state and having either no second transition or one with a guard as an
-error but defines no error handling. Msm will tolerate this behavior; the entry
+pseudo state and having either no second transition or one with a guard as an error
+but defines no error handling. Msm will tolerate this behavior; the entry
 pseudo state will simply be the newly active state.<o:p></o:p></span></p>
 
 <p style='margin-bottom:0cm;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
@@ -8461,11 +8460,11 @@
 
 <p style='margin-bottom:0cm;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><u><span
 lang=EN-US style='mso-ansi-language:EN-US'>Important note 2:</span></u><span
-lang=EN-US style='mso-ansi-language:EN-US'> UML defines transiting to an exit
-pseudo state and having no second transition as an error, and also defines no
-error handling. Therefore, it was decided to implement exit pseudo state as
-terminate states and the containing composite not properly exited will stay
-terminated as it was technically &#8220;exited&#8221;.<o:p></o:p></span></p>
+lang=EN-US style='mso-ansi-language:EN-US'> UML defines transiting to an exit pseudo
+state and having no second transition as an error, and also defines no error
+handling. Therefore, it was decided to implement exit pseudo state as terminate
+states and the containing composite not properly exited will stay terminated as
+it was technically &#8220;exited&#8221;.<o:p></o:p></span></p>
 
 <p style='margin-bottom:0cm;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
 lang=EN-US style='mso-ansi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
@@ -8541,9 +8540,9 @@
 
 <p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
 lang=EN-US style='mso-ansi-language:EN-US'>According to the UML standard, two
-transitions are said to be in conflict if they can both trigger an exit from the
-same state with the same event, meaning if at a certain time and for a given
-event, these two transitions can be triggered.<o:p></o:p></span></p>
+transitions are said to be in conflict if they can both trigger an exit from
+the same state with the same event, meaning if at a certain time and for a
+given event, these two transitions can be triggered.<o:p></o:p></span></p>
 
 <p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
 lang=EN-US style='mso-ansi-language:EN-US'>There are two kinds of conflicts,
@@ -8708,8 +8707,8 @@
 advantage of a reduced syntactic noise. The cost is a small loss of control of
 the user on the state creation and access. Quite fast came from the beta
 testers the request of a way for a state to get access to its containing state
-machine. This is implemented via another policy. Basically, a state needs to
-change its declaration to:<o:p></o:p></span></p>
+machine. This is implemented via another policy. Basically, a state needs to change
+its declaration to:<o:p></o:p></span></p>
 
 <p style='margin-bottom:0cm;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><code><i
 style='mso-bidi-font-style:normal'><span lang=EN-US style='font-size:10.0pt;
@@ -8767,8 +8766,8 @@
 
 <p style='margin-bottom:0cm;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><i
 style='mso-bidi-font-style:normal'><span lang=EN-US style='mso-ansi-language:
-EN-US'>to get a pointer to the containing state machine. The same applies to
-terminate_state / interrupt_state and entry_pseudo_state / exit_pseudo_state.<o:p></o:p></span></i></p>
+EN-US'>to get a pointer to the containing state machine. The same applies to terminate_state
+/ interrupt_state and entry_pseudo_state / exit_pseudo_state.<o:p></o:p></span></i></p>
 
 <p style='margin-bottom:0cm;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><i
 style='mso-bidi-font-style:normal'><span lang=EN-US style='mso-ansi-language:
@@ -8828,16 +8827,16 @@
 
 <p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><code><span
 lang=EN-US style='mso-ansi-font-size:12.0pt;mso-bidi-font-size:12.0pt;
-font-family:"Times New Roman","serif";mso-ansi-language:EN-US'>Normally, you
-should not need exceptions. UML also says little about exceptions. To handle
-errors, the best UML-safe method is to add an orthogonal region, like
-previously shown.</span></code><span lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p>
+font-family:"Times New Roman","serif";mso-ansi-language:EN-US'>Normally, you should
+not need exceptions. UML also says little about exceptions. To handle errors,
+the best UML-safe method is to add an orthogonal region, like previously shown.</span></code><span
+lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p>
 
 <p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><code><span
 lang=EN-US style='mso-ansi-font-size:12.0pt;mso-bidi-font-size:12.0pt;
-font-family:"Times New Roman","serif";mso-ansi-language:EN-US'>Of course, errors
-happen. In this case, the state machine is said to be unstable, because a
-transition may have been partially executed. The framework offers a chance to
+font-family:"Times New Roman","serif";mso-ansi-language:EN-US'>Of course,
+errors happen. In this case, the state machine is said to be unstable, because
+a transition may have been partially executed. The framework offers a chance to
 set it straight by catching std::exception and calling: </span></code><span
 lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p>
 
@@ -9000,9 +8999,9 @@
 style='mso-list:Ignore'>&middot;<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 </span></span></span><![endif]><code><span lang=EN-US style='mso-ansi-font-size:
 12.0pt;mso-bidi-font-size:12.0pt;font-family:"Times New Roman","serif";
-color:black;mso-ansi-language:EN-US'>handling the message queue (for
-entry/exit/transition actions generating themselves events)</span></code><span
-lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p>
+color:black;mso-ansi-language:EN-US'>handling the message queue (for entry/exit/transition
+actions generating themselves events)</span></code><span lang=EN-US
+style='mso-ansi-language:EN-US'><o:p></o:p></span></p>
 
 <p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l18 level1 lfo22;
 tab-stops:list 36.0pt'><![if !supportLists]><span lang=EN-US style='font-size:
@@ -9122,9 +9121,9 @@
 color:black;mso-ansi-language:EN-US'>process_event</span></code><code><span
 lang=EN-US style='font-size:10.0pt;color:black;mso-ansi-language:EN-US'> </span></code><code><span
 lang=EN-US style='mso-ansi-font-size:12.0pt;mso-bidi-font-size:12.0pt;
-font-family:"Times New Roman","serif";color:black;mso-ansi-language:EN-US'>can execute
-up to 4 times faster. On a Q6600, an average transition execution lasts 45ns
-with a full state machine, 10ns in the minimal case.</span></code><span
+font-family:"Times New Roman","serif";color:black;mso-ansi-language:EN-US'>can
+execute up to 4 times faster. On a Q6600, an average transition execution lasts
+45ns with a full state machine, 10ns in the minimal case.</span></code><span
 lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p>
 
 <h3 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
@@ -9162,9 +9161,9 @@
 Symbol;mso-ansi-language:EN-US'><span style='mso-list:Ignore'>&middot;<span
 style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]><span
 lang=EN-US style='mso-ansi-language:EN-US'>Use a functor &#8220;<a
-href="#_Functor_rows">Row</a>&#8221; transition. These rows offer an FSM
-template argument. This argument is the concrete (back-end) state machine on
-which process_event can be called.<o:p></o:p></span></p>
+href="#_Functor_rows">Row</a>&#8221; transition. These rows offer an FSM template
+argument. This argument is the concrete (back-end) state machine on which
+process_event can be called.<o:p></o:p></span></p>
 
 <p class=MsoListParagraphCxSpLast style='text-indent:-18.0pt;mso-list:l6 level1 lfo23;
 tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><![if !supportLists]><span
@@ -9227,8 +9226,8 @@
 back-end as forwarding object:<o:p></o:p></span></p>
 
 <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
-lang=EN-US style='font-family:"Courier New";mso-ansi-language:EN-US'>typedef
-msm::back::state_machine&lt;player_ &gt; player;<o:p></o:p></span></p>
+lang=EN-US style='font-family:"Courier New";mso-ansi-language:EN-US'>typedef msm::back::state_machine&lt;player_
+&gt; player;<o:p></o:p></span></p>
 
 <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
 lang=EN-US style='font-family:"Courier New";mso-ansi-language:EN-US'>player
@@ -9335,8 +9334,8 @@
 style='mso-list:Ignore'>&middot;<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 </span></span></span><![endif]><code><span lang=EN-US style='mso-ansi-font-size:
 12.0pt;mso-bidi-font-size:12.0pt;font-family:"Times New Roman","serif";
-color:#030003;mso-ansi-language:EN-US'>Add the user-defined base state in the
-state machine frontend definition, as a second template argument, for example:</span></code><span
+color:#030003;mso-ansi-language:EN-US'>Add the user-defined base state in the state
+machine frontend definition, as a second template argument, for example:</span></code><span
 lang=EN-US style='color:#030003;mso-ansi-language:EN-US'><br>
 </span><code><span lang=EN-US style='mso-ansi-font-size:12.0pt;mso-bidi-font-size:
 12.0pt;color:blue;mso-ansi-language:EN-US'>struct</span></code><code><span
@@ -9398,8 +9397,8 @@
 EN-US'>state_machine::visit_current_states</span><span lang=EN-US
 style='mso-ansi-language:EN-US'> will cause </span><span lang=EN-US
 style='font-family:"Courier New";mso-ansi-language:EN-US'>accept</span><span
-lang=EN-US style='mso-ansi-language:EN-US'> to be called on the currently
-active states. Typically, you will also want to provide an empty default </span><span
+lang=EN-US style='mso-ansi-language:EN-US'> to be called on the currently active
+states. Typically, you will also want to provide an empty default </span><span
 lang=EN-US style='font-family:"Courier New";mso-ansi-language:EN-US'>accept</span><span
 lang=EN-US style='mso-ansi-language:EN-US'> in your base state in order in
 order not to force all your states to implement </span><span lang=EN-US
@@ -9746,8 +9745,8 @@
 lang=EN-US style='mso-ansi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
 
 <h1 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
-name="_New_Msm_v2.0"></a><span lang=EN-US style='mso-ansi-language:EN-US'>New
-Msm v2.0 Features <o:p></o:p></span></h1>
+name="_New_Msm_v2.0"></a><span lang=EN-US style='mso-ansi-language:EN-US'>New Msm
+v2.0 Features <o:p></o:p></span></h1>
 
 <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
 lang=EN-US style='mso-ansi-language:EN-US'>This chapter will introduce the new
@@ -9756,8 +9755,8 @@
 
 <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
 lang=EN-US style='mso-ansi-language:EN-US'>We will first warm up with a
-front-end based on functors before moving on the eUML, which will provide us
-with a much bigger amount of fun.<o:p></o:p></span></p>
+front-end based on functors before moving on the eUML, which will provide us with
+a much bigger amount of fun.<o:p></o:p></span></p>
 
 <h2 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
 name="_Frontends"></a><span lang=EN-US style='mso-ansi-language:EN-US'>Frontends<o:p></o:p></span></h2>
@@ -9881,8 +9880,10 @@
 mso-layout-grid-align:none;text-autospace:none'><span lang=EN-US
 style='font-size:10.0pt;font-family:"Courier New";mso-fareast-font-family:"Times New Roman";
 mso-ansi-language:EN-US;mso-no-proof:yes'><span
-style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span>,<span style='color:#030003'>DummyGuard</span><span
+style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span><span
+style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>,<span
+style='color:#030003'>DummyGuard</span><span
 style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 </span>&gt;,<o:p></o:p></span></p>
 
@@ -9932,9 +9933,8 @@
 style='mso-spacerun:yes'>&nbsp;&nbsp; </span>&lt; <span style='color:#030003'>Open</span><span
 style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp; </span>, <span style='color:#030003'>open_close</span><span
 style='mso-spacerun:yes'>&nbsp; </span>, <span style='color:#030003'>Empty</span><span
-style='mso-spacerun:yes'>&nbsp;&nbsp; </span>, <span style='color:#030003'>close_drawer</span>
-<span
-style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>, <span
+style='mso-spacerun:yes'>&nbsp;&nbsp; </span>, <span style='color:#030003'>close_drawer</span><span
+style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>, <span
 style='color:#030003'>none</span><span
 style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 </span>&gt;,<o:p></o:p></span></p>
@@ -10015,17 +10015,17 @@
 lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
 Symbol;mso-ansi-language:EN-US'><span style='mso-list:Ignore'>&middot;<span
 style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]><span
-lang=EN-US style='mso-ansi-language:EN-US'>You can mix new rows with the old
-g_row, a_row, etc.<o:p></o:p></span></p>
+lang=EN-US style='mso-ansi-language:EN-US'>You can mix new rows with the old g_row,
+a_row, etc.<o:p></o:p></span></p>
 
 <p class=MsoListParagraphCxSpMiddle style='text-indent:-18.0pt;mso-list:l14 level1 lfo26;
 tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><![if !supportLists]><span
 lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
 Symbol;mso-ansi-language:EN-US'><span style='mso-list:Ignore'>&middot;<span
 style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]><span
-lang=EN-US style='mso-ansi-language:EN-US'>&#8220;Row&#8221; allows reusing your
-functors in other state machines. State machine function pointers cannot offer
-this easily.<o:p></o:p></span></p>
+lang=EN-US style='mso-ansi-language:EN-US'>&#8220;Row&#8221; allows reusing
+your functors in other state machines. State machine function pointers cannot
+offer this easily.<o:p></o:p></span></p>
 
 <p class=MsoListParagraphCxSpLast style='text-indent:-18.0pt;mso-list:l14 level1 lfo26;
 tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><![if !supportLists]><span
@@ -10115,8 +10115,9 @@
 "Times New Roman";mso-ansi-language:EN-US;mso-no-proof:yes'><o:p>&nbsp;</o:p></span></p>
 
 <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
-lang=EN-US style='mso-ansi-language:EN-US'>It is a functor object taking as template
-arguments, the back-end state machine, event, and source and target states. <o:p></o:p></span></p>
+lang=EN-US style='mso-ansi-language:EN-US'>It is a functor object taking as
+template arguments, the back-end state machine, event, and source and target
+states. <o:p></o:p></span></p>
 
 <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
 lang=EN-US style='mso-ansi-language:EN-US'>Notice how the functor places a new
@@ -10126,6 +10127,16 @@
 <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
 lang=EN-US style='mso-ansi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
 
+<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><u><span
+lang=EN-US style='mso-ansi-language:EN-US'>Note</span></u><span lang=EN-US
+style='mso-ansi-language:EN-US'>: in case this action is referenced in the transition
+table of a state machine contained inside a top-level state machine, the &#8220;fsm&#8221;
+parameter refers to the lowest-level state machine (referencing this action),
+not the top-level one.<o:p></o:p></span></p>
+
+<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
+lang=EN-US style='mso-ansi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
+
 <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
 lang=EN-US style='mso-ansi-language:EN-US'>What if we defined a functor
 pre-incrementing an attribute in the source while another functor compares the
@@ -10147,8 +10158,8 @@
 style='mso-spacerun:yes'>&nbsp;</span><o:p></o:p></span></p>
 
 <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
-lang=EN-US style='mso-ansi-language:EN-US'>We can, and why stop here? Wouldn&#8217;t
-we like to define guards like: <o:p></o:p></span></p>
+lang=EN-US style='mso-ansi-language:EN-US'>We can, and why stop here?
+Wouldn&#8217;t we like to define guards like: <o:p></o:p></span></p>
 
 <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
 lang=EN-US style='mso-ansi-language:EN-US'>&#8220;</span><span lang=EN-US
@@ -10195,9 +10206,10 @@
 <p style='margin-bottom:0cm;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
 lang=EN-US style='color:black;mso-ansi-language:EN-US'>eUML is a
 (Boost.)Proto-based compile-time domain specific embedded language. It provides
-grammars which allow the definition of actions/guards directly inside the transition
-table or entry/exit in the state definition. It is defined in the namespace </span><u><span
-lang=EN-US style='font-family:"Courier New";color:black;mso-ansi-language:EN-US'>msm::front::euml</span></u><span
+grammars which allow the definition of actions/guards directly inside the
+transition table or entry/exit in the state definition. It is defined in the
+namespace </span><u><span lang=EN-US style='font-family:"Courier New";
+color:black;mso-ansi-language:EN-US'>msm::front::euml</span></u><span
 lang=EN-US style='color:black;mso-ansi-language:EN-US'>.<o:p></o:p></span></p>
 
 <p style='margin-bottom:0cm;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
@@ -10260,8 +10272,8 @@
 lang=EN-US style='color:black;mso-ansi-language:EN-US'><o:p></o:p></span></p>
 
 <p style='margin-bottom:0cm;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
-lang=EN-US style='color:black;mso-ansi-language:EN-US'>Examples will be provided
-in the next paragraphs. The basic eUML features can be found in:<o:p></o:p></span></p>
+lang=EN-US style='color:black;mso-ansi-language:EN-US'>Examples will be
+provided in the next paragraphs. The basic eUML features can be found in:<o:p></o:p></span></p>
 
 <p class=MsoNormal style='margin-top:12.0pt;margin-right:36.45pt;margin-bottom:
 0cm;margin-left:36.45pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
@@ -10354,7 +10366,8 @@
 style='font-size:10.0pt;font-family:"Courier New";mso-fareast-font-family:"Times New Roman";
 mso-ansi-language:EN-US;mso-no-proof:yes'><span
 style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span
-style='color:green'>//<span style='mso-spacerun:yes'>&nbsp; </span>+------------------------------------------------------------------------------+<o:p></o:p></span></span></p>
+style='color:green'>//<span style='mso-spacerun:yes'>&nbsp;
+</span>+------------------------------------------------------------------------------+<o:p></o:p></span></span></p>
 
 <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;
 mso-layout-grid-align:none;text-autospace:none'><span lang=EN-US
@@ -10414,13 +10427,13 @@
 
 <p style='margin-bottom:0cm;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
 lang=EN-US style='color:black;mso-ansi-language:EN-US'>UML defines guards
-between &#8220;[ ]&#8221; and actions after a &#8220;/&#8221;, so this is
-already more readable for UML designers. UML also allows designers to define
-several actions sequentially (our previous </span><span lang=EN-US
-style='font-family:"Courier New";color:black;mso-ansi-language:EN-US'>ActionSequence</span><span
+between &#8220;[ ]&#8221; and actions after a &#8220;/&#8221;, so this is already
+more readable for UML designers. UML also allows designers to define several
+actions sequentially (our previous </span><span lang=EN-US style='font-family:
+"Courier New";color:black;mso-ansi-language:EN-US'>ActionSequence</span><span
 lang=EN-US style='color:black;mso-ansi-language:EN-US'>) separated by a comma.
-The first transition does just this: 2 actions separated by a comma and enclosed
-inside parenthesis to respect C++ operator precedence.<o:p></o:p></span></p>
+The first transition does just this: 2 actions separated by a comma and
+enclosed inside parenthesis to respect C++ operator precedence.<o:p></o:p></span></p>
 
 <p style='margin-bottom:0cm;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
 lang=EN-US style='color:black;mso-ansi-language:EN-US'>Notice the parenthesis
@@ -10532,8 +10545,8 @@
 
 <p style='margin-bottom:0cm;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
 lang=EN-US style='mso-ansi-language:EN-US'>The only differences with our
-previous functors is that they return a bool (guards are in UML actions returning
-a bool and producing no side-effect), and they must inherit from </span><span
+previous functors is that they return a bool (guards are in UML actions
+returning a bool and producing no side-effect), and they must inherit from </span><span
 lang=EN-US style='font-family:"Courier New";mso-ansi-language:EN-US'>euml_action</span><span
 lang=EN-US style='mso-ansi-language:EN-US'> in order to enable the grammar. The
 same is also necessary for events which must inherit from euml_event:<o:p></o:p></span></p>
@@ -10554,8 +10567,8 @@
 a state with entry/exit functors<o:p></o:p></span></h3>
 
 <p style='margin-bottom:0cm;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
-lang=EN-US style='mso-ansi-language:EN-US'>It is also possible to use the same
-action grammar with state entry and exit actions:<o:p></o:p></span></p>
+lang=EN-US style='mso-ansi-language:EN-US'>It is also possible to use the same action
+grammar with state entry and exit actions:<o:p></o:p></span></p>
 
 <p style='margin-bottom:0cm;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
 lang=EN-US style='font-size:10.0pt;font-family:"Courier New";mso-fareast-font-family:
@@ -10650,9 +10663,10 @@
 EN-US;mso-no-proof:yes'>A </span><span lang=EN-US style='font-family:"Courier New";
 mso-fareast-font-family:"Times New Roman";mso-ansi-language:EN-US;mso-no-proof:
 yes'>NoAction</span><span lang=EN-US style='mso-fareast-font-family:"Times New Roman";
-mso-ansi-language:EN-US;mso-no-proof:yes'> is also defined, which does, well, nothing
-except being a placeholder (needed for example as entry action if we have no
-entry but an exit).</span><span lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p>
+mso-ansi-language:EN-US;mso-no-proof:yes'> is also defined, which does, well,
+nothing except being a placeholder (needed for example as entry action if we
+have no entry but an exit).</span><span lang=EN-US style='mso-ansi-language:
+EN-US'><o:p></o:p></span></p>
 
 <p style='margin-bottom:0cm;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
 lang=EN-US style='font-family:"Courier New";mso-ansi-language:EN-US'>Expr1</span><span
@@ -10735,8 +10749,8 @@
 lang=EN-US style='mso-ansi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
 
 <p style='margin-bottom:0cm;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
-lang=EN-US style='mso-ansi-language:EN-US'>Likewise, eUML provides other state-building
-functions for other types of states:<o:p></o:p></span></p>
+lang=EN-US style='mso-ansi-language:EN-US'>Likewise, eUML provides other
+state-building functions for other types of states:<o:p></o:p></span></p>
 
 <p style='margin-bottom:0cm;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
 lang=EN-US style='font-family:"Courier New";mso-fareast-font-family:"Times New Roman";
@@ -10847,9 +10861,9 @@
 <p style='margin-bottom:0cm;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
 lang=EN-US style='font-family:"Courier New";mso-ansi-language:EN-US'>build_sm(Stt,
 Init, Expr1, Expr2, Attributes, Configure)</span><span lang=EN-US
-style='mso-ansi-language:EN-US'>: state machine where the transition table,
-initial state, entry and exit actions are defined. Furthermore, some attributes
-(read further on)</span><span lang=EN-US style='mso-fareast-font-family:"Times New Roman";
+style='mso-ansi-language:EN-US'>: state machine where the transition table, initial
+state, entry and exit actions are defined. Furthermore, some attributes (read
+further on)</span><span lang=EN-US style='mso-fareast-font-family:"Times New Roman";
 mso-ansi-language:EN-US;mso-no-proof:yes'>, flags, deferred events and <a
 href="#_Customizing_a_state">configuration capabilities</a> (no message queue /
 no exception catching) </span><span lang=EN-US style='mso-ansi-language:EN-US'>are
@@ -11314,10 +11328,10 @@
 
 <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
 lang=EN-US style='mso-fareast-font-family:"Times New Roman";mso-ansi-language:
-EN-US;mso-no-proof:yes'>A fork is a direct entry into several
-regions of a composite substate. EUML also supports this by allowing the user
-to define a list of entry states separated by a comma and enclosed inside
-parenthesis, for eaxample:<o:p></o:p></span></p>
+EN-US;mso-no-proof:yes'>A fork is a direct entry into
+several regions of a composite substate. EUML also supports this by allowing
+the user to define a list of entry states separated by a comma and enclosed
+inside parenthesis, for eaxample:<o:p></o:p></span></p>
 
 <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
 lang=EN-US style='mso-fareast-font-family:"Times New Roman";mso-ansi-language:
@@ -11917,8 +11931,9 @@
 
 <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
 lang=EN-US style='mso-ansi-language:EN-US'>EUML also supports defining <a
-href="#_Orthogonal_States_(+Defer">deferred events</a> in the state (state machine)
-definition. To this aim, we can reuse the previous flag grammar. For example:<o:p></o:p></span></p>
+href="#_Orthogonal_States_(+Defer">deferred events</a> in the state (state
+machine) definition. To this aim, we can reuse the previous flag grammar. For
+example:<o:p></o:p></span></p>
 
 <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
 lang=EN-US style='mso-ansi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
@@ -12224,7 +12239,8 @@
 <p class=MsoNormal style='margin-top:12.0pt;margin-right:36.45pt;margin-bottom:
 0cm;margin-left:36.45pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
 lang=EN style='font-size:11.0pt;font-family:"Courier New";mso-fareast-font-family:
-"Times New Roman";color:black;mso-ansi-language:EN'>#include &lt; msm/front/euml/operator.hpp&gt;<o:p></o:p></span></p>
+"Times New Roman";color:black;mso-ansi-language:EN'>#include &lt;
+msm/front/euml/operator.hpp&gt;<o:p></o:p></span></p>
 
 <p class=MsoNormal style='margin-top:12.0pt;margin-right:36.45pt;margin-bottom:
 0cm;margin-left:36.45pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
@@ -12256,8 +12272,8 @@
 Symbol;mso-ansi-language:EN-US'><span style='mso-list:Ignore'>&middot;<span
 style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]><span
 lang=EN-US style='font-family:"Courier New";mso-ansi-language:EN-US'>if_then_(guard,
-action)</span><span lang=EN-US style='mso-ansi-language:EN-US'> where guard respects
-the guard grammar and action the action sequence grammar.<o:p></o:p></span></p>
+action)</span><span lang=EN-US style='mso-ansi-language:EN-US'> where guard
+respects the guard grammar and action the action sequence grammar.<o:p></o:p></span></p>
 
 <p style='margin-top:5.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:36.0pt;
 margin-bottom:.0001pt;text-indent:-18.0pt;mso-list:l45 level1 lfo33;tab-stops:
@@ -12536,12 +12552,12 @@
 <o:p></o:p></span></p>
 
 <p style='margin-bottom:0cm;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
-lang=EN-US style='mso-ansi-language:EN-US'>Notice that we have lots of
-operators, functors and functions like </span><span lang=EN-US
-style='font-family:"Courier New";mso-ansi-language:EN-US'>build_stt</span><span
-lang=EN-US style='mso-ansi-language:EN-US'> but all is compile-time, there is
-no run-time penalty as the code is not really called but simply evaluated. Now
-try to do this with your local javac compiler&#8230;<o:p></o:p></span></p>
+lang=EN-US style='mso-ansi-language:EN-US'>Notice that we have lots of operators,
+functors and functions like </span><span lang=EN-US style='font-family:"Courier New";
+mso-ansi-language:EN-US'>build_stt</span><span lang=EN-US style='mso-ansi-language:
+EN-US'> but all is compile-time, there is no run-time penalty as the code is
+not really called but simply evaluated. Now try to do this with your local
+javac compiler&#8230;<o:p></o:p></span></p>
 
 <p style='margin-bottom:0cm;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
 lang=EN-US style='mso-ansi-language:EN-US'>The following table lists the
@@ -12990,8 +13006,7 @@
   mso-border-top-themecolor:accent1;border-left:none;border-bottom:solid #4F81BD 1.0pt;
   mso-border-bottom-themecolor:accent1;border-right:none;padding:0cm 5.4pt 0cm 5.4pt'>
   <p style='margin-bottom:0cm;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;
- mso-yfti-cnfc:64'><span lang=EN style='mso-ansi-language:EN'>Action1() *
- Action2()<o:p></o:p></span></p>
+ mso-yfti-cnfc:64'><span lang=EN style='mso-ansi-language:EN'>Action1() * Action2()<o:p></o:p></span></p>
   </td>
   <td width=248 valign=top style='width:148.85pt;border:solid #4F81BD 1.0pt;
   mso-border-themecolor:accent1;border-left:none;padding:0cm 5.4pt 0cm 5.4pt'>
@@ -13127,8 +13142,7 @@
   mso-border-top-themecolor:accent1;border-left:none;border-bottom:solid #4F81BD 1.0pt;
   mso-border-bottom-themecolor:accent1;border-right:none;padding:0cm 5.4pt 0cm 5.4pt'>
   <p style='margin-bottom:0cm;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;
- mso-yfti-cnfc:64'><span lang=EN style='mso-ansi-language:EN'>Calls lazily
- -Action1<o:p></o:p></span></p>
+ mso-yfti-cnfc:64'><span lang=EN style='mso-ansi-language:EN'>Calls lazily -Action1<o:p></o:p></span></p>
   </td>
   <td width=437 valign=top style='width:262.25pt;border-top:solid #4F81BD 1.0pt;
   mso-border-top-themecolor:accent1;border-left:none;border-bottom:solid #4F81BD 1.0pt;
@@ -13350,8 +13364,8 @@
   mso-ansi-language:EN-US'>if_then_else_(Condition1(),++Source_&lt;0&gt;(),<o:p></o:p></span></p>
   <p class=MsoNormal><span lang=EN-US style='mso-fareast-font-family:"Times New Roman";
   mso-ansi-language:EN-US'><span
- style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
- </span>--Source_&lt;0&gt;())<o:p></o:p></span></p>
+ style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span
+ style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>--Source_&lt;0&gt;())<o:p></o:p></span></p>
   <p class=MsoNormal><span lang=EN-US style='mso-fareast-font-family:"Times New Roman";
   mso-ansi-language:EN-US'>[if_then_else_(Condition1(),True_(), False())]<o:p></o:p></span></p>
   </td>
@@ -13473,8 +13487,8 @@
   mso-border-top-themecolor:accent1;border-left:none;border-bottom:solid #4F81BD 1.0pt;
   mso-border-bottom-themecolor:accent1;border-right:none;padding:0cm 5.4pt 0cm 5.4pt'>
   <p style='margin-bottom:0cm;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;
- mso-yfti-cnfc:64'><span lang=EN style='mso-ansi-language:EN'>Returns the
- some_int attribute of the currently processed event.<o:p></o:p></span></p>
+ mso-yfti-cnfc:64'><span lang=EN style='mso-ansi-language:EN'>Returns the some_int
+ attribute of the currently processed event.<o:p></o:p></span></p>
   </td>
   <td width=437 valign=top style='width:262.25pt;border-top:solid #4F81BD 1.0pt;
   mso-border-top-themecolor:accent1;border-left:none;border-bottom:solid #4F81BD 1.0pt;
@@ -13497,8 +13511,8 @@
   </td>
   <td width=437 valign=top style='width:262.25pt;border:none;padding:0cm 5.4pt 0cm 5.4pt'>
   <p style='margin-bottom:0cm;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
- lang=EN style='mso-ansi-language:EN'>Returns the some_int attribute of the source
- state from the currently triggered transition.<o:p></o:p></span></p>
+ lang=EN style='mso-ansi-language:EN'>Returns the some_int attribute of the
+ source state from the currently triggered transition.<o:p></o:p></span></p>
   </td>
   <td width=437 valign=top style='width:262.25pt;border:none;padding:0cm 5.4pt 0cm 5.4pt'>
   <p class=MsoNormal><span lang=EN-US style='mso-fareast-font-family:"Times New Roman";
@@ -13615,8 +13629,8 @@
   mso-border-top-themecolor:accent1;border-left:none;border-bottom:solid #4F81BD 1.0pt;
   mso-border-bottom-themecolor:accent1;border-right:none;padding:0cm 5.4pt 0cm 5.4pt'>
   <p style='margin-bottom:0cm;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;
- mso-yfti-cnfc:64'><span lang=EN style='mso-ansi-language:EN'>Wrappers around the
- value some_int<o:p></o:p></span></p>
+ mso-yfti-cnfc:64'><span lang=EN style='mso-ansi-language:EN'>Wrappers around
+ the value some_int<o:p></o:p></span></p>
   </td>
   <td width=437 valign=top style='width:262.25pt;border-top:solid #4F81BD 1.0pt;
   mso-border-top-themecolor:accent1;border-left:none;border-bottom:solid #4F81BD 1.0pt;
@@ -13709,8 +13723,8 @@
   mso-border-bottom-themecolor:accent1;border-right:none;padding:0cm 5.4pt 0cm 5.4pt'>
   <p style='margin-bottom:0cm;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;
   mso-yfti-cnfc:64'><span lang=EN style='mso-ansi-language:EN'>Processes Event
- on the current state machine (if no fsm specified) or on up to 4 state machines
- returned by an appropriate functor.<o:p></o:p></span></p>
+ on the current state machine (if no fsm specified) or on up to 4 state
+ machines returned by an appropriate functor.<o:p></o:p></span></p>
   </td>
   <td width=437 valign=top style='width:262.25pt;border-top:solid #4F81BD 1.0pt;
   mso-border-top-themecolor:accent1;border-left:none;border-bottom:solid #4F81BD 1.0pt;
@@ -13739,9 +13753,9 @@
   </td>
   <td width=437 valign=top style='width:262.25pt;border:none;padding:0cm 5.4pt 0cm 5.4pt'>
   <p style='margin-bottom:0cm;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
- lang=EN style='mso-ansi-language:EN'>Processes Event on the current state
- machine (if no fsm specified) or on up to 2 state machines returned by an
- appropriate functor. The event is copy-constructed from what Data() returns.<o:p></o:p></span></p>
+ lang=EN style='mso-ansi-language:EN'>Processes Event on the current state machine
+ (if no fsm specified) or on up to 2 state machines returned by an appropriate
+ functor. The event is copy-constructed from what Data() returns.<o:p></o:p></span></p>
   </td>
   <td width=437 valign=top style='width:262.25pt;border:none;padding:0cm 5.4pt 0cm 5.4pt'>
   <p class=MsoNormal><span lang=EN style='mso-fareast-font-family:"Times New Roman";
@@ -13931,9 +13945,9 @@
   mso-border-top-themecolor:accent1;border-left:none;border-bottom:solid #4F81BD 1.0pt;
   mso-border-bottom-themecolor:accent1;border-right:none;padding:0cm 5.4pt 0cm 5.4pt'>
   <p style='margin-bottom:0cm;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;
- mso-yfti-cnfc:64'><span lang=EN style='mso-ansi-language:EN'>Returns the current
- state machine (as reference). Valid inside a state entry/exit action or a
- transition.<o:p></o:p></span></p>
+ mso-yfti-cnfc:64'><span lang=EN style='mso-ansi-language:EN'>Returns the
+ current state machine (as reference). Valid inside a state entry/exit action
+ or a transition.<o:p></o:p></span></p>
   </td>
   <td width=437 valign=top style='width:262.25pt;border-top:solid #4F81BD 1.0pt;
   mso-border-top-themecolor:accent1;border-left:none;border-bottom:solid #4F81BD 1.0pt;
@@ -14244,12 +14258,12 @@
 lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p>
 
 <p style='margin-bottom:0cm;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
-lang=EN-US style='mso-ansi-language:EN-US'>Your functors will usually not need this.
-You will only need these extra declarations if your functors are to be used in
-combination with eUML functions (if_then_else_ , STL algorithms) or operators
-returning a value (++, +=, etc.). If you simply need simple guards /actions
-like [Condition1() &amp;&amp; Condition2()] / (Action1(),Action2()), you do not
-need to declare the return type.<o:p></o:p></span></p>
+lang=EN-US style='mso-ansi-language:EN-US'>Your functors will usually not need
+this. You will only need these extra declarations if your functors are to be
+used in combination with eUML functions (if_then_else_ , STL algorithms) or
+operators returning a value (++, +=, etc.). If you simply need simple guards
+/actions like [Condition1() &amp;&amp; Condition2()] / (Action1(),Action2()),
+you do not need to declare the return type.<o:p></o:p></span></p>
 
 <p style='margin-bottom:0cm;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
 lang=EN-US style='mso-ansi-language:EN-US'>This declaration is not very nice
@@ -14310,8 +14324,8 @@
 
 <p style='margin-bottom:0cm;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
 lang=EN-US style='mso-ansi-language:EN-US'>In a nutshell, almost every STL
-method or algorithm is matched by a corresponding functor, which can then be used
-in the transition table or state actions. The following tables explain in
+method or algorithm is matched by a corresponding functor, which can then be
+used in the transition table or state actions. The following tables explain in
 detail the possible argument combination and the underlying functor, so that
 this possibility is not reserved to eUML but also to the functor-based
 front-end previously explained.<o:p></o:p></span></p>
@@ -14372,14 +14386,15 @@
 <p class=MsoNormal style='margin-top:12.0pt;margin-right:36.45pt;margin-bottom:
 0cm;margin-left:36.45pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
 lang=EN style='font-size:11.0pt;font-family:"Courier New";mso-fareast-font-family:
-"Times New Roman";color:black;mso-ansi-language:EN'>#include &lt; msm/front/euml/container.hpp&gt;<o:p></o:p></span></p>
+"Times New Roman";color:black;mso-ansi-language:EN'>#include &lt;
+msm/front/euml/container.hpp&gt;<o:p></o:p></span></p>
 
 <p style='margin-bottom:0cm;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
 lang=EN style='mso-ansi-language:EN'><o:p>&nbsp;</o:p></span></p>
 
 <p style='margin-bottom:0cm;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
-lang=EN style='mso-ansi-language:EN'>Or one can simply include the whole STL
-support (you will also need to include euml.hpp):<o:p></o:p></span></p>
+lang=EN style='mso-ansi-language:EN'>Or one can simply include the whole STL support
+(you will also need to include euml.hpp):<o:p></o:p></span></p>
 
 <p class=MsoNormal style='margin-top:12.0pt;margin-right:36.45pt;margin-bottom:
 0cm;margin-left:36.45pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
@@ -14481,7 +14496,8 @@
   accent1;border-bottom:none;border-right:none;background:#4F81BD;mso-background-themecolor:
   accent1;padding:0cm 5.4pt 0cm 5.4pt'>
   <p class=MsoNormal style='mso-yfti-cnfc:5'><b><span lang=EN style='color:
- white;mso-themecolor:background1;mso-ansi-language:EN'>STL functions in querying.hpp<o:p></o:p></span></b></p>
+ white;mso-themecolor:background1;mso-ansi-language:EN'>STL functions in
+ querying.hpp<o:p></o:p></span></b></p>
   </td>
   <td width=437 valign=top style='width:262.25pt;border:none;border-top:solid #4F81BD 1.0pt;
   mso-border-top-themecolor:accent1;background:#4F81BD;mso-background-themecolor:
@@ -15514,8 +15530,8 @@
   </td>
   <td width=437 valign=top style='width:262.25pt;border:none;border-bottom:
   solid #4F81BD 1.0pt;mso-border-bottom-themecolor:accent1;padding:0cm 5.4pt 0cm 5.4pt'>
- <p class=MsoNormal><span lang=EN style='mso-ansi-language:EN'>rotate_(first, middle,
- last)&#7495;<o:p></o:p></span></p>
+ <p class=MsoNormal><span lang=EN style='mso-ansi-language:EN'>rotate_(first,
+ middle, last)&#7495;<o:p></o:p></span></p>
   </td>
   <td width=248 valign=top style='width:148.85pt;border-top:none;border-left:
   none;border-bottom:solid #4F81BD 1.0pt;mso-border-bottom-themecolor:accent1;
@@ -16266,8 +16282,8 @@
   EN'>void erase(pos)<o:p></o:p></span></b></p>
   </td>
   <td width=437 valign=top style='width:262.25pt;border:none;padding:0cm 5.4pt 0cm 5.4pt'>
- <p class=MsoNormal><span lang=EN style='mso-ansi-language:EN'>void associative_erase_(
- container , pos)<o:p></o:p></span></p>
+ <p class=MsoNormal><span lang=EN style='mso-ansi-language:EN'>void
+ associative_erase_( container , pos)<o:p></o:p></span></p>
   </td>
   <td width=248 valign=top style='width:148.85pt;border:none;border-right:solid #4F81BD 1.0pt;
   mso-border-right-themecolor:accent1;padding:0cm 5.4pt 0cm 5.4pt'>
@@ -16519,8 +16535,8 @@
   EN'>int compare(string)<o:p></o:p></span></b></p>
   </td>
   <td width=437 valign=top style='width:262.25pt;border:none;padding:0cm 5.4pt 0cm 5.4pt'>
- <p class=MsoNormal><span lang=EN style='mso-ansi-language:EN'>int string_compare_(container,
- another_string)<o:p></o:p></span></p>
+ <p class=MsoNormal><span lang=EN style='mso-ansi-language:EN'>int
+ string_compare_(container, another_string)<o:p></o:p></span></p>
   </td>
   <td width=248 valign=top style='width:148.85pt;border:none;border-right:solid #4F81BD 1.0pt;
   mso-border-right-themecolor:accent1;padding:0cm 5.4pt 0cm 5.4pt'>
@@ -16590,8 +16606,8 @@
   EN'>string&amp; append(const string&amp;)<o:p></o:p></span></b></p>
   </td>
   <td width=437 valign=top style='width:262.25pt;border:none;padding:0cm 5.4pt 0cm 5.4pt'>
- <p class=MsoNormal><span lang=EN style='mso-ansi-language:EN'>string&amp; append_(container,
- another_string)<o:p></o:p></span></p>
+ <p class=MsoNormal><span lang=EN style='mso-ansi-language:EN'>string&amp;
+ append_(container, another_string)<o:p></o:p></span></p>
   </td>
   <td width=248 valign=top style='width:148.85pt;border:none;border-right:solid #4F81BD 1.0pt;
   mso-border-right-themecolor:accent1;padding:0cm 5.4pt 0cm 5.4pt'>
@@ -16974,8 +16990,8 @@
   <td width=437 valign=top style='width:261.95pt;border:solid #4F81BD 1.0pt;
   mso-border-themecolor:accent1;border-right:none;padding:0cm 5.4pt 0cm 5.4pt'>
   <p class=MsoNormal style='mso-yfti-cnfc:68'><b><span lang=EN
- style='mso-ansi-language:EN'>string&amp; replace(iterator first, iterator
- last, const charT*, size_type n)<o:p></o:p></span></b></p>
+ style='mso-ansi-language:EN'>string&amp; replace(iterator first, iterator last,
+ const charT*, size_type n)<o:p></o:p></span></b></p>
   </td>
   <td width=437 valign=top style='width:262.25pt;border-top:solid #4F81BD 1.0pt;
   mso-border-top-themecolor:accent1;border-left:none;border-bottom:solid #4F81BD 1.0pt;
@@ -16996,8 +17012,8 @@
   EN'>string&amp; replace(iterator first, iterator last, const charT*)<o:p></o:p></span></b></p>
   </td>
   <td width=437 valign=top style='width:262.25pt;border:none;padding:0cm 5.4pt 0cm 5.4pt'>
- <p class=MsoNormal><span lang=EN style='mso-ansi-language:EN'>string&amp; string_replace_(container,
- first, last, another_string)<o:p></o:p></span></p>
+ <p class=MsoNormal><span lang=EN style='mso-ansi-language:EN'>string&amp;
+ string_replace_(container, first, last, another_string)<o:p></o:p></span></p>
   </td>
   <td width=248 valign=top style='width:148.85pt;border:none;border-right:solid #4F81BD 1.0pt;
   mso-border-right-themecolor:accent1;padding:0cm 5.4pt 0cm 5.4pt'>
@@ -17031,8 +17047,8 @@
   l)<o:p></o:p></span></b></p>
   </td>
   <td width=437 valign=top style='width:262.25pt;border:none;padding:0cm 5.4pt 0cm 5.4pt'>
- <p class=MsoNormal><span lang=EN style='mso-ansi-language:EN'>string&amp;
- string_replace_(container, first, last, f, l)<o:p></o:p></span></p>
+ <p class=MsoNormal><span lang=EN style='mso-ansi-language:EN'>string&amp; string_replace_(container,
+ first, last, f, l)<o:p></o:p></span></p>
   </td>
   <td width=248 valign=top style='width:148.85pt;border:none;border-right:solid #4F81BD 1.0pt;
   mso-border-right-themecolor:accent1;padding:0cm 5.4pt 0cm 5.4pt'>
@@ -17064,7 +17080,8 @@
   EN'>const charT* data()<o:p></o:p></span></b></p>
   </td>
   <td width=437 valign=top style='width:262.25pt;border:none;padding:0cm 5.4pt 0cm 5.4pt'>
- <p class=MsoNormal><span lang=EN style='mso-ansi-language:EN'>const charT* string_data_(container)<o:p></o:p></span></p>
+ <p class=MsoNormal><span lang=EN style='mso-ansi-language:EN'>const charT*
+ string_data_(container)<o:p></o:p></span></p>
   </td>
   <td width=248 valign=top style='width:148.85pt;border:none;border-right:solid #4F81BD 1.0pt;
   mso-border-right-themecolor:accent1;padding:0cm 5.4pt 0cm 5.4pt'>
@@ -17075,8 +17092,8 @@
   <td width=437 valign=top style='width:261.95pt;border:solid #4F81BD 1.0pt;
   mso-border-themecolor:accent1;border-right:none;padding:0cm 5.4pt 0cm 5.4pt'>
   <p class=MsoNormal style='mso-yfti-cnfc:68'><b><span lang=EN
- style='mso-ansi-language:EN'>size_type copy(charT* buf, size_type n,
- size_type pos = 0)<o:p></o:p></span></b></p>
+ style='mso-ansi-language:EN'>size_type copy(charT* buf, size_type n, size_type
+ pos = 0)<o:p></o:p></span></b></p>
   </td>
   <td width=437 valign=top style='width:262.25pt;border-top:solid #4F81BD 1.0pt;
   mso-border-top-themecolor:accent1;border-left:none;border-bottom:solid #4F81BD 1.0pt;
@@ -17136,8 +17153,8 @@
   <td width=437 valign=top style='width:262.25pt;border:none;padding:0cm 5.4pt 0cm 5.4pt'>
   <p class=MsoNormal><span lang=EN style='mso-ansi-language:EN'>size_type
   string_find_(container, s, pos)<o:p></o:p></span></p>
- <p class=MsoNormal><span lang=EN style='mso-ansi-language:EN'>size_type
- string_find_(container, s)<o:p></o:p></span></p>
+ <p class=MsoNormal><span lang=EN style='mso-ansi-language:EN'>size_type string_find_(container,
+ s)<o:p></o:p></span></p>
   </td>
   <td width=248 valign=top style='width:148.85pt;border:none;border-right:solid #4F81BD 1.0pt;
   mso-border-right-themecolor:accent1;padding:0cm 5.4pt 0cm 5.4pt'>
@@ -17171,8 +17188,8 @@
   EN'>size_type rfind(charT* s, size_type pos, size_type n)<o:p></o:p></span></b></p>
   </td>
   <td width=437 valign=top style='width:262.25pt;border:none;padding:0cm 5.4pt 0cm 5.4pt'>
- <p class=MsoNormal><span lang=EN style='mso-ansi-language:EN'>size_type
- string_rfind_(container, s, pos, n)<o:p></o:p></span></p>
+ <p class=MsoNormal><span lang=EN style='mso-ansi-language:EN'>size_type string_rfind_(container,
+ s, pos, n)<o:p></o:p></span></p>
   </td>
   <td width=248 valign=top style='width:148.85pt;border:none;border-right:solid #4F81BD 1.0pt;
   mso-border-right-themecolor:accent1;padding:0cm 5.4pt 0cm 5.4pt'>
@@ -17279,8 +17296,8 @@
   EN'>size_type find_first_of (const string&amp; s, size_type pos=0)<o:p></o:p></span></b></p>
   </td>
   <td width=437 valign=top style='width:262.25pt;border:none;padding:0cm 5.4pt 0cm 5.4pt'>
- <p class=MsoNormal><span lang=EN style='mso-ansi-language:EN'>size_type find_first_of_(container,
- s, pos)<o:p></o:p></span></p>
+ <p class=MsoNormal><span lang=EN style='mso-ansi-language:EN'>size_type
+ find_first_of_(container, s, pos)<o:p></o:p></span></p>
   <p class=MsoNormal><span lang=EN style='mso-ansi-language:EN'>size_type
   find_first_of_(container, s)<o:p></o:p></span></p>
   </td>
@@ -17293,8 +17310,7 @@
   <td width=437 valign=top style='width:261.95pt;border:solid #4F81BD 1.0pt;
   mso-border-themecolor:accent1;border-right:none;padding:0cm 5.4pt 0cm 5.4pt'>
   <p class=MsoNormal style='mso-yfti-cnfc:68'><b><span lang=EN
- style='mso-ansi-language:EN'>size_type find_first_of (charT c, size_type
- pos=0)<o:p></o:p></span></b></p>
+ style='mso-ansi-language:EN'>size_type find_first_of (charT c, size_type pos=0)<o:p></o:p></span></b></p>
   </td>
   <td width=437 valign=top style='width:262.25pt;border-top:solid #4F81BD 1.0pt;
   mso-border-top-themecolor:accent1;border-left:none;border-bottom:solid #4F81BD 1.0pt;
@@ -17353,8 +17369,8 @@
   EN'>size_type find_first_not_of (const string&amp; s, size_type pos=0)<o:p></o:p></span></b></p>
   </td>
   <td width=437 valign=top style='width:262.25pt;border:none;padding:0cm 5.4pt 0cm 5.4pt'>
- <p class=MsoNormal><span lang=EN style='mso-ansi-language:EN'>size_type
- find_first_not_of_(container, s, pos)<o:p></o:p></span></p>
+ <p class=MsoNormal><span lang=EN style='mso-ansi-language:EN'>size_type find_first_not_of_(container,
+ s, pos)<o:p></o:p></span></p>
   <p class=MsoNormal><span lang=EN style='mso-ansi-language:EN'>size_type
   find_first_not_of_(container, s)<o:p></o:p></span></p>
   </td>
@@ -17391,8 +17407,8 @@
   EN'>size_type find_last_of(charT* s, size_type pos, size_type n)<o:p></o:p></span></b></p>
   </td>
   <td width=437 valign=top style='width:262.25pt;border:none;padding:0cm 5.4pt 0cm 5.4pt'>
- <p class=MsoNormal><span lang=EN style='mso-ansi-language:EN'>size_type find_last_of_(container,
- s, pos, n)<o:p></o:p></span></p>
+ <p class=MsoNormal><span lang=EN style='mso-ansi-language:EN'>size_type
+ find_last_of_(container, s, pos, n)<o:p></o:p></span></p>
   </td>
   <td width=248 valign=top style='width:148.85pt;border:none;border-right:solid #4F81BD 1.0pt;
   mso-border-right-themecolor:accent1;padding:0cm 5.4pt 0cm 5.4pt'>
@@ -17477,7 +17493,8 @@
   <td width=437 valign=top style='width:261.95pt;border:solid #4F81BD 1.0pt;
   mso-border-themecolor:accent1;border-right:none;padding:0cm 5.4pt 0cm 5.4pt'>
   <p class=MsoNormal style='mso-yfti-cnfc:68'><b><span lang=EN
- style='mso-ansi-language:EN'>size_type find_last_not_of (charT* s, size_type pos=npos)<o:p></o:p></span></b></p>
+ style='mso-ansi-language:EN'>size_type find_last_not_of (charT* s, size_type
+ pos=npos)<o:p></o:p></span></b></p>
   </td>
   <td width=437 valign=top style='width:262.25pt;border-top:solid #4F81BD 1.0pt;
   mso-border-top-themecolor:accent1;border-left:none;border-bottom:solid #4F81BD 1.0pt;
@@ -17502,8 +17519,8 @@
   <td width=437 valign=top style='width:262.25pt;border:none;padding:0cm 5.4pt 0cm 5.4pt'>
   <p class=MsoNormal><span lang=EN style='mso-ansi-language:EN'>size_type
   find_last_not_of_(container, s, pos)<o:p></o:p></span></p>
- <p class=MsoNormal><span lang=EN style='mso-ansi-language:EN'>size_type find_last_not_of_(container,
- s)<o:p></o:p></span></p>
+ <p class=MsoNormal><span lang=EN style='mso-ansi-language:EN'>size_type
+ find_last_not_of_(container, s)<o:p></o:p></span></p>
   </td>
   <td width=248 valign=top style='width:148.85pt;border:none;border-right:solid #4F81BD 1.0pt;
   mso-border-right-themecolor:accent1;padding:0cm 5.4pt 0cm 5.4pt'>
@@ -17571,13 +17588,13 @@
 lang=EN-US style='mso-ansi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
 
 <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
-lang=EN-US style='mso-ansi-language:EN-US'>EUML provides two macros (sorry
-about that) to convert a function or method into a eUML-compatible functor for
-use in action / guard declarations.<o:p></o:p></span></p>
+lang=EN-US style='mso-ansi-language:EN-US'>EUML provides two macros (sorry about
+that) to convert a function or method into a eUML-compatible functor for use in
+action / guard declarations.<o:p></o:p></span></p>
 
 <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
-lang=EN-US style='mso-ansi-language:EN-US'>Let&#8217;s suppose we wrote a function
-printing the typeid of its parameter:<o:p></o:p></span></p>
+lang=EN-US style='mso-ansi-language:EN-US'>Let&#8217;s suppose we wrote a
+function printing the typeid of its parameter:<o:p></o:p></span></p>
 
 <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;
 mso-layout-grid-align:none;text-autospace:none'><span lang=EN-US
@@ -17699,13 +17716,13 @@
 <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;
 mso-layout-grid-align:none;text-autospace:none'><span lang=EN-US
 style='font-size:10.0pt;font-family:"Courier New";mso-fareast-font-family:"Times New Roman";
-mso-ansi-language:EN-US;mso-no-proof:yes'><span style='mso-spacerun:yes'>&nbsp;
-</span><span style='mso-spacerun:yes'>&nbsp;&nbsp;</span><span
-style='color:blue'>int</span> <span style='color:#030003'>foo</span>(<span
-style='color:blue'>int</span> <span style='color:#030003'>i</span>)<span
-style='color:blue'>const</span> {<span style='color:#030003'>std</span>::<span
-style='color:#030003'>cout</span> &lt;&lt; <span style='color:#A31515'>&quot;foo(int):&quot;</span>
-&lt;&lt; <span style='color:#030003'>i</span> &lt;&lt; <span style='color:#030003'>std</span>::<span
+mso-ansi-language:EN-US;mso-no-proof:yes'><span
+style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp; </span><span style='color:blue'>int</span>
+<span style='color:#030003'>foo</span>(<span style='color:blue'>int</span> <span
+style='color:#030003'>i</span>)<span style='color:blue'>const</span> {<span
+style='color:#030003'>std</span>::<span style='color:#030003'>cout</span>
+&lt;&lt; <span style='color:#A31515'>&quot;foo(int):&quot;</span> &lt;&lt; <span
+style='color:#030003'>i</span> &lt;&lt; <span style='color:#030003'>std</span>::<span
 style='color:#030003'>endl</span>; <span style='color:blue'>return</span> 1;}<o:p></o:p></span></p>
 
 <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;
@@ -17790,8 +17807,8 @@
 
 <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
 lang=EN-US style='mso-ansi-language:EN-US'>We now have a way to bind a method
-of an event, state or state machine or a simple function with a nicer syntax than
-a normal bind.<o:p></o:p></span></p>
+of an event, state or state machine or a simple function with a nicer syntax
+than a normal bind.<o:p></o:p></span></p>
 
 <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
 lang=EN-US style='mso-ansi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
@@ -17889,14 +17906,13 @@
 
 <p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
 lang=EN-US style='mso-ansi-language:EN-US'>The same simple
-and composite state machines are implemented
-with Msm2 with standard frontend, the simple one also with <a
-href="EumlSimple.cpp">eUML</a>.<o:p></o:p></span></p>
+and composite state machines are implemented with
+Msm2 with standard frontend, the simple one also with eUML.<o:p></o:p></span></p>
 
 <p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
-lang=EN-US style='mso-ansi-language:EN-US'>As these simple machines need no terminate/interrupt
-states, no message queue and have no-throw guarantee on their actions, the Msm
-state machines are defined with minimum functionality.<o:p></o:p></span></p>
+lang=EN-US style='mso-ansi-language:EN-US'>As these simple machines need no
+terminate/interrupt states, no message queue and have no-throw guarantee on
+their actions, the Msm state machines are defined with minimum functionality.<o:p></o:p></span></p>
 
 <p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
 lang=EN-US style='mso-ansi-language:EN-US'>VC9:<o:p></o:p></span></p>
@@ -17923,8 +17939,8 @@
 Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:EN-US'><span
 style='mso-list:Ignore'>&middot;<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 </span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US'>The
-fastest version is with eUML. It completes 47 times faster than
-Boost.Statechart. A transition costs on my Q6600 9ns.<o:p></o:p></span></p>
+fastest version is with eUML. It completes 47 times faster than Boost.Statechart.
+A transition costs on my Q6600 9ns.<o:p></o:p></span></p>
 
 <p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
 lang=EN-US style='mso-ansi-language:EN-US'>gcc 4.2.3:<o:p></o:p></span></p>
@@ -17969,10 +17985,10 @@
 <p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
 lang=EN-US style='mso-ansi-language:EN-US'>With g++ 4.3, it strongly depends on
 the compiler option (much more than VC). A good size state machine with
-&#8211;O3 can generate an executable of 600kB, and with eUML you can get to 1.5MB.
-Now, trying with &#8211;Os &#8211;s I come down to 18kB and 30kB for the test
-state machines, while eUML will go down to 1MB (which is still big), so in this
-case eUML does not come for free.<o:p></o:p></span></p>
+&#8211;O3 can generate an executable of 600kB, and with eUML you can get to
+1.5MB. Now, trying with &#8211;Os &#8211;s I come down to 18kB and 30kB for the
+test state machines, while eUML will go down to 1MB (which is still big), so in
+this case eUML does not come for free.<o:p></o:p></span></p>
 
 <h1 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
 name="_Compilers"></a><span lang=EN-US style='mso-ansi-language:EN-US'>Compilers<o:p></o:p></span></h1>
@@ -18125,11 +18141,11 @@
 mso-ansi-language:EN-US'>submachine::exit_pt</span><span lang=EN-US
 style='mso-ansi-language:EN-US'>&#8221; ? Because &#8220;</span><span
 lang=EN-US style='font-family:"Courier New";mso-ansi-language:EN-US'>exit</span><span
-lang=EN-US style='mso-ansi-language:EN-US'>&#8221; will crash the compiler.
-&#8220;</span><span lang=EN-US style='font-family:"Courier New";mso-ansi-language:
-EN-US'>Exit</span><span lang=EN-US style='mso-ansi-language:EN-US'>&#8221; is
-not possible either because it will crash the compiler on one machine, but not
-on another (the compiler was installed from the same disk).<o:p></o:p></span></p>
+lang=EN-US style='mso-ansi-language:EN-US'>&#8221; will crash the compiler. &#8220;</span><span
+lang=EN-US style='font-family:"Courier New";mso-ansi-language:EN-US'>Exit</span><span
+lang=EN-US style='mso-ansi-language:EN-US'>&#8221; is not possible either
+because it will crash the compiler on one machine, but not on another (the
+compiler was installed from the same disk).<o:p></o:p></span></p>
 
 <p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l28 level1 lfo42;
 tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><![if !supportLists]><span
@@ -18397,9 +18413,9 @@
 
 <p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><u><span
 lang=EN-US style='mso-ansi-language:EN-US'>Question</span></u><span lang=EN-US
-style='mso-ansi-language:EN-US'>: Why do I get a compile error saying the
-compiler cannot convert to a function ...</span><span lang=EN-US
-style='font-family:"Courier New";mso-ansi-language:EN-US'>Fsm::*(some_event)</span><span
+style='mso-ansi-language:EN-US'>: Why do I get a compile error saying the compiler
+cannot convert to a function ...</span><span lang=EN-US style='font-family:
+"Courier New";mso-ansi-language:EN-US'>Fsm::*(some_event)</span><span
 lang=EN-US style='mso-ansi-language:EN-US'>?<o:p></o:p></span></p>
 
 <p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><u><span
@@ -18507,13 +18523,14 @@
 disadvantages. <o:p></o:p></span></p>
 
 <p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
-lang=EN-US style='mso-ansi-language:EN-US'>First, we notice that &#8220;alarm-beeps&#8221;
-has an implementation visible to the outside world. This particularity is being
-used and this leads to three states with close names, &#8220;alarm1
-beeps&#8221;, &#8220;alarm2 beeps&#8221;, &#8220;both beep&#8221;. If you think
-that this starts sounding like duplication of information, you are not the only
-one. The second point is about design and reuse. Let us imagine what could
-happen if Harel really was working for a company producing watches.<o:p></o:p></span></p>
+lang=EN-US style='mso-ansi-language:EN-US'>First, we notice that
+&#8220;alarm-beeps&#8221; has an implementation visible to the outside world.
+This particularity is being used and this leads to three states with close
+names, &#8220;alarm1 beeps&#8221;, &#8220;alarm2 beeps&#8221;, &#8220;both
+beep&#8221;. If you think that this starts sounding like duplication of
+information, you are not the only one. The second point is about design and
+reuse. Let us imagine what could happen if Harel really was working for a
+company producing watches.<o:p></o:p></span></p>
 
 <p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l44 level1 lfo46;
 tab-stops:list 36.0pt'><![if !supportLists]><span lang=EN-US style='font-size:
@@ -18553,8 +18570,8 @@
 
 <p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
 lang=EN-US style='mso-ansi-language:EN-US'>Please keep in mind that these
-companies produce hundreds of slightly different products, which makes this quite
-a realistic scenario.<o:p></o:p></span></p>
+companies produce hundreds of slightly different products, which makes this
+quite a realistic scenario.<o:p></o:p></span></p>
 
 <p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
 lang=EN-US style='mso-ansi-language:EN-US'>What would be the result? New states
@@ -18595,7 +18612,7 @@
  height:388.8pt;visibility:visible;mso-wrap-style:square'>
  <v:imagedata src="index-Dateien/image017.jpg" o:title="clock"/>
 </v:shape><![endif]--><![if !vml]><img border=0 width=554 height=518
-src="index-Dateien/image018.jpg" alt=clock.jpg v:shapes="Grafik_x0020_5"><![endif]></span><span
+src="index-Dateien/image035.jpg" alt=clock.jpg v:shapes="Grafik_x0020_5"><![endif]></span><span
 lang=EN-US style='mso-ansi-language:EN-US'><br clear=left style='mso-special-character:
 line-break'>
 <o:p></o:p></span></p>
@@ -18605,8 +18622,8 @@
 
 <p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
 lang=EN-US style='mso-ansi-language:EN-US'>As you see, it is quite simple. You
-only need define an instance of Alarm in each zone. To add a new alarm is as
-simple as adding a new instance. The Alarm submachine is simply defined as:<o:p></o:p></span></p>
+only need define an instance of Alarm in each zone. To add a new alarm is as simple
+as adding a new instance. The Alarm submachine is simply defined as:<o:p></o:p></span></p>
 
 <p style='margin-bottom:12.0pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
 style='mso-no-proof:yes'><!--[if gte vml 1]><v:shape id="Grafik_x0020_6"
@@ -18614,7 +18631,7 @@
  height:229.2pt;visibility:visible;mso-wrap-style:square'>
  <v:imagedata src="index-Dateien/image019.jpg" o:title="alarm"/>
 </v:shape><![endif]--><![if !vml]><img border=0 width=467 height=306
-src="index-Dateien/image020.jpg" alt=alarm.jpg v:shapes="Grafik_x0020_6"><![endif]></span><span
+src="index-Dateien/image036.jpg" alt=alarm.jpg v:shapes="Grafik_x0020_6"><![endif]></span><span
 lang=EN-US style='mso-ansi-language:EN-US'><br clear=left style='mso-special-character:
 line-break'>
 <o:p></o:p></span></p>
@@ -18660,11 +18677,10 @@
 lang=EN-US style='font-family:"Courier New";mso-ansi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
 
 <p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
-lang=EN-US style='color:black;mso-ansi-language:EN-US'>And identify each
-instance in </span><span lang=EN-US style='font-family:"Courier New";
-color:black;mso-ansi-language:EN-US'>alarmBeeps</span><span lang=EN-US
-style='color:black;mso-ansi-language:EN-US'> as Alarm&lt;1&gt;, Alarm&lt;2&gt;,
-etc.<o:p></o:p></span></p>
+lang=EN-US style='color:black;mso-ansi-language:EN-US'>And identify each instance
+in </span><span lang=EN-US style='font-family:"Courier New";color:black;
+mso-ansi-language:EN-US'>alarmBeeps</span><span lang=EN-US style='color:black;
+mso-ansi-language:EN-US'> as Alarm&lt;1&gt;, Alarm&lt;2&gt;, etc.<o:p></o:p></span></p>
 
 <p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
 lang=EN-US style='color:black;mso-ansi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
@@ -18791,8 +18807,8 @@
 lang=EN-US style='mso-ansi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
 
 <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
-lang=EN-US style='mso-ansi-language:EN-US'>The following UML diagram shows how
-a UML designer might want to solve the problem (note, in UML, guards are
+lang=EN-US style='mso-ansi-language:EN-US'>The following UML diagram shows how a
+UML designer might want to solve the problem (note, in UML, guards are
 surrounded by &#8220;[ ]&#8221; and actions follow a &#8220; / &#8220;):<o:p></o:p></span></p>
 
 <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
@@ -18804,7 +18820,7 @@
  height:471pt;visibility:visible;mso-wrap-style:square'>
  <v:imagedata src="index-Dateien/image021.jpg" o:title="Timer"/>
 </v:shape><![endif]--><![if !vml]><img border=0 width=594 height=628
-src="index-Dateien/image022.jpg" alt=Timer.jpg v:shapes="Grafik_x0020_7"><![endif]></span><span
+src="index-Dateien/image037.jpg" alt=Timer.jpg v:shapes="Grafik_x0020_7"><![endif]></span><span
 lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p>
 
 <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
@@ -19048,7 +19064,7 @@
  height:200.4pt;visibility:visible;mso-wrap-style:square'>
  <v:imagedata src="index-Dateien/image023.jpg" o:title="iPodSearch"/>
 </v:shape><![endif]--><![if !vml]><img border=0 width=308 height=267
-src="index-Dateien/image024.jpg" alt=iPodSearch.jpg v:shapes="Grafik_x0020_8"><![endif]></span><span
+src="index-Dateien/image038.jpg" alt=iPodSearch.jpg v:shapes="Grafik_x0020_8"><![endif]></span><span
 lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p>
 
 <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
@@ -19058,8 +19074,8 @@
 lang=EN-US style='font-family:"Courier New";mso-ansi-language:EN-US'>Foreach</span><span
 lang=EN-US style='mso-ansi-language:EN-US'> sends one </span><span lang=EN-US
 style='font-family:"Courier New";mso-ansi-language:EN-US'>OneSong</span><span
-lang=EN-US style='mso-ansi-language:EN-US'> event for every song of the song
-list. If </span><span lang=EN-US style='font-family:"Courier New";mso-ansi-language:
+lang=EN-US style='mso-ansi-language:EN-US'> event for every song of the song list.
+If </span><span lang=EN-US style='font-family:"Courier New";mso-ansi-language:
 EN-US'>StringFind</span><span lang=EN-US style='mso-ansi-language:EN-US'> finds
 the user-provided letters in the song, it sends a </span><span lang=EN-US
 style='font-family:"Courier New";mso-ansi-language:EN-US'>Found</span><span
@@ -19174,10 +19190,8 @@
 mso-layout-grid-align:none;text-autospace:none'><span lang=EN-US
 style='font-size:10.0pt;font-family:"Courier New";mso-fareast-font-family:"Times New Roman";
 mso-ansi-language:EN-US;mso-no-proof:yes'><span
-style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span><span
-style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-style='color:#030003'>process2_</span>(<span style='color:#030003'>OneSong</span>(),<span
+style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span><span style='color:#030003'>process2_</span>(<span style='color:#030003'>OneSong</span>(),<span
 style='color:#030003'>*</span>(<span style='color:#030003'>State_</span>&lt;<span
 style='color:#030003'>m_src_it</span>&gt;()++)) ),<o:p></o:p></span></p>
 
@@ -19201,8 +19215,8 @@
 lang=EN-US style='mso-ansi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
 
 <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
-lang=EN-US style='mso-ansi-language:EN-US'>We define one attribute in Foreach, an
-iterator on the Input list. <o:p></o:p></span></p>
+lang=EN-US style='mso-ansi-language:EN-US'>We define one attribute in Foreach,
+an iterator on the Input list. <o:p></o:p></span></p>
 
 <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
 lang=EN-US style='mso-ansi-language:EN-US'>Entry:<o:p></o:p></span></p>
@@ -19220,13 +19234,14 @@
 
 <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
 lang=EN-US style='mso-ansi-language:EN-US'><span
-style='mso-spacerun:yes'>&nbsp;&nbsp; </span>Fsm_ refers to the current state machine
-containing Input and Result lists.<o:p></o:p></span></p>
+style='mso-spacerun:yes'>&nbsp;&nbsp; </span>Fsm_ refers to the current state
+machine containing Input and Result lists.<o:p></o:p></span></p>
 
 <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
 lang=EN-US style='mso-ansi-language:EN-US'><span
-style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span>Fsm_&lt;m_src_container&gt; refers to the Input list.<o:p></o:p></span></p>
+style='mso-spacerun:yes'>&nbsp; </span><span
+style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;</span>Fsm_&lt;m_src_container&gt;
+refers to the Input list.<o:p></o:p></span></p>
 
 <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
 lang=EN-US style='mso-ansi-language:EN-US'><span
@@ -19301,19 +19316,18 @@
 mso-layout-grid-align:none;text-autospace:none'><span lang=EN-US
 style='font-size:10.0pt;font-family:"Courier New";mso-fareast-font-family:"Times New Roman";
 mso-ansi-language:EN-US;mso-no-proof:yes'><span
-style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span><span
-style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-style='color:#030003'>NoAction</span>(), <o:p></o:p></span></p>
+style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span><span style='color:#030003'>NoAction</span>(), <o:p></o:p></span></p>
 
 <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;
 mso-layout-grid-align:none;text-autospace:none'><span lang=EN-US
 style='font-size:10.0pt;font-family:"Courier New";mso-fareast-font-family:"Times New Roman";
 mso-ansi-language:EN-US;mso-no-proof:yes'><span
-style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span><span style='color:#030003'>attributes_</span> &lt;&lt; <span
-style='color:#030003'>string</span>()<span style='color:green'>/*m_letters*/</span>
-)) <o:p></o:p></span></p>
+style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span><span
+style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span
+style='color:#030003'>attributes_</span> &lt;&lt; <span style='color:#030003'>string</span>()<span
+style='color:green'>/*m_letters*/</span> )) <o:p></o:p></span></p>
 
 <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
 lang=EN-US style='font-size:10.0pt;font-family:"Courier New";mso-fareast-font-family:
@@ -19480,8 +19494,8 @@
 <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;
 mso-layout-grid-align:none;text-autospace:none'><span lang=EN-US
 style='font-size:10.0pt;font-family:"Courier New";mso-fareast-font-family:"Times New Roman";
-mso-ansi-language:EN-US;mso-no-proof:yes'><span style='mso-spacerun:yes'>&nbsp;
-</span><span style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;</span><span
+mso-ansi-language:EN-US;mso-no-proof:yes'><span
+style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span
 style='color:green'>//<span style='mso-spacerun:yes'>&nbsp;
 </span>+------------------------------------------------------------------------------+<o:p></o:p></span></span></p>
 
@@ -19489,8 +19503,10 @@
 mso-layout-grid-align:none;text-autospace:none'><span lang=EN-US
 style='font-size:10.0pt;font-family:"Courier New";mso-fareast-font-family:"Times New Roman";
 mso-ansi-language:EN-US;mso-no-proof:yes'><span
-style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span>) ) ) <span style='color:#030003'>transition_table</span>;<o:p></o:p></span></p>
+style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span><span
+style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>) ) ) <span
+style='color:#030003'>transition_table</span>;<o:p></o:p></span></p>
 
 <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;
 mso-layout-grid-align:none;text-autospace:none'><span lang=EN-US
@@ -19512,10 +19528,9 @@
 mso-layout-grid-align:none;text-autospace:none'><span lang=EN-US
 style='font-size:10.0pt;font-family:"Courier New";mso-fareast-font-family:"Times New Roman";
 mso-ansi-language:EN-US;mso-no-proof:yes'><span
-style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span><span style='mso-spacerun:yes'>&nbsp;&nbsp;</span><span
-style='color:#030003'>init_</span> &lt;&lt; <span style='color:#030003'>Foreach</span>(),
-<span style='color:green'>// Init<o:p></o:p></span></span></p>
+style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span><span style='color:#030003'>init_</span> &lt;&lt; <span
+style='color:#030003'>Foreach</span>(), <span style='color:green'>// Init<o:p></o:p></span></span></p>
 
 <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;
 mso-layout-grid-align:none;text-autospace:none'><span lang=EN-US
@@ -19529,9 +19544,10 @@
 mso-layout-grid-align:none;text-autospace:none'><span lang=EN-US
 style='font-size:10.0pt;font-family:"Courier New";mso-fareast-font-family:"Times New Roman";
 mso-ansi-language:EN-US;mso-no-proof:yes'><span
-style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span><span style='color:#030003'>NoAction</span>(), <span style='color:green'>//
-Exit<o:p></o:p></span></span></p>
+style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span><span
+style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span
+style='color:#030003'>NoAction</span>(), <span style='color:green'>// Exit<o:p></o:p></span></span></p>
 
 <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;
 mso-layout-grid-align:none;text-autospace:none'><span lang=EN-US
@@ -19547,20 +19563,19 @@
 mso-layout-grid-align:none;text-autospace:none'><span lang=EN-US
 style='font-size:10.0pt;font-family:"Courier New";mso-fareast-font-family:"Times New Roman";
 mso-ansi-language:EN-US;mso-no-proof:yes'><span
-style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span><span
-style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>&lt;&lt;
-<span style='color:#030003'>vector</span>&lt;<span style='color:#030003'>OneSong</span>&gt;()
-<span style='color:green'>/*m_tgt_container*/</span>, <span style='color:green'>//
-result<o:p></o:p></span></span></p>
+style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span>&lt;&lt; <span style='color:#030003'>vector</span>&lt;<span
+style='color:#030003'>OneSong</span>&gt;() <span style='color:green'>/*m_tgt_container*/</span>,
+<span style='color:green'>// result<o:p></o:p></span></span></p>
 
 <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;
 mso-layout-grid-align:none;text-autospace:none'><span lang=EN-US
 style='font-size:10.0pt;font-family:"Courier New";mso-fareast-font-family:"Times New Roman";
 mso-ansi-language:EN-US;mso-no-proof:yes'><span
-style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span><span style='color:#030003'>flags_</span>&lt;&lt; <span
-style='color:#030003'>no_flags_</span>,<o:p></o:p></span></p>
+style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span><span
+style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span
+style='color:#030003'>flags_</span>&lt;&lt; <span style='color:#030003'>no_flags_</span>,<o:p></o:p></span></p>
 
 <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;
 mso-layout-grid-align:none;text-autospace:none'><span lang=EN-US
@@ -19590,8 +19605,8 @@
 mso-ansi-language:EN-US'>Annex A Debugging<o:p></o:p></span></h1>
 
 <p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
-lang=EN-US style='mso-ansi-language:EN-US'>Normally, one does not need to know
-the ids generated for all the states of a state machine, unless for debugging
+lang=EN-US style='mso-ansi-language:EN-US'>Normally, one does not need to know the
+ids generated for all the states of a state machine, unless for debugging
 purposes, like the </span><span lang=EN-US style='font-family:"Courier New";
 mso-ansi-language:EN-US'>pstate</span><span lang=EN-US style='mso-ansi-language:
 EN-US'> function does in the tutorials in order to display the name of the
@@ -19613,7 +19628,7 @@
  height:384.6pt;visibility:visible;mso-wrap-style:square'>
  <v:imagedata src="index-Dateien/image025.jpg" o:title="AnnexA"/>
 </v:shape><![endif]--><![if !vml]><img border=0 width=798 height=513
-src="index-Dateien/image026.jpg" alt=AnnexA.jpg v:shapes="Grafik_x0020_9"><![endif]></span><span
+src="index-Dateien/image039.jpg" alt=AnnexA.jpg v:shapes="Grafik_x0020_9"><![endif]></span><span
 lang=EN-US style='mso-ansi-language:EN-US'><br clear=left style='mso-special-character:
 line-break'>
 <o:p></o:p></span></p>
@@ -19680,11 +19695,11 @@
 
 <p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
 lang=EN-US style='mso-ansi-language:EN-US'>What would you need for a coverage
-tool? You'd probably need to know how many states are defined in the state
-machine, and how many events can be fired. This way you could log the fired
-events and the states visited in the life of a concrete machine and be able to
-perform some coverage analysis, like &#8220;fired 65% of all possible events
-and visited 80% of the states defined in the state machine&#8221;.<o:p></o:p></span></p>
+tool? You'd probably need to know how many states are defined in the state machine,
+and how many events can be fired. This way you could log the fired events and
+the states visited in the life of a concrete machine and be able to perform
+some coverage analysis, like &#8220;fired 65% of all possible events and
+visited 80% of the states defined in the state machine&#8221;.<o:p></o:p></span></p>
 
 <p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
 lang=EN-US style='mso-ansi-language:EN-US'>To achieve this, Msm provides a few


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