summaryrefslogtreecommitdiffstats
path: root/_fast_micro_step_8h_source.html
diff options
context:
space:
mode:
Diffstat (limited to '_fast_micro_step_8h_source.html')
-rw-r--r--_fast_micro_step_8h_source.html237
1 files changed, 126 insertions, 111 deletions
diff --git a/_fast_micro_step_8h_source.html b/_fast_micro_step_8h_source.html
index a7f942a..5d26bb0 100644
--- a/_fast_micro_step_8h_source.html
+++ b/_fast_micro_step_8h_source.html
@@ -89,7 +89,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div id="nav-path" class="navpath">
<ul>
-<li class="navelem"><a class="el" href="dir_f2c8af9107d7604b778bd4ea9fe0debe.html">interpreter</a></li> </ul>
+<li class="navelem"><a class="el" href="dir_6d12b73cf1a07bae559bd2e97fe773a8.html">interpreter</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
@@ -114,129 +114,144 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="preprocessor">#include &lt;boost/dynamic_bitset.hpp&gt;</span></div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;</div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceuscxml.html">uscxml</a> {</div>
+<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="comment">//#undef WITH_CACHE_FILES</span></div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;</div>
-<div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="classuscxml_1_1_fast_micro_step.html"> 42</a></span>&#160;<span class="keyword">class </span><a class="code" href="classuscxml_1_1_fast_micro_step.html">FastMicroStep</a> : <span class="keyword">public</span> <a class="code" href="classuscxml_1_1_micro_step_impl.html">MicroStepImpl</a> {</div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;<span class="keyword">public</span>:</div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; <a class="code" href="classuscxml_1_1_fast_micro_step.html">FastMicroStep</a>(<a class="code" href="classuscxml_1_1_micro_step_callbacks.html">MicroStepCallbacks</a>* callbacks);</div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; <span class="keyword">virtual</span> ~<a class="code" href="classuscxml_1_1_fast_micro_step.html">FastMicroStep</a>();</div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; <span class="keyword">virtual</span> std::shared_ptr&lt;MicroStepImpl&gt; create(<a class="code" href="classuscxml_1_1_micro_step_callbacks.html">MicroStepCallbacks</a>* callbacks);</div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;</div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; <span class="keyword">virtual</span> InterpreterState <a class="code" href="classuscxml_1_1_fast_micro_step.html#ad19eb7cd93c5d5ec574502b463a213cb">step</a>(<span class="keywordtype">size_t</span> blockMs);</div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classuscxml_1_1_fast_micro_step.html#a03cc8e445bd51461bbb6e897e9a83db0">reset</a>();</div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> isInState(<span class="keyword">const</span> std::string&amp; stateId);</div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <span class="keyword">virtual</span> std::list&lt;XERCESC_NS::DOMElement*&gt; getConfiguration();</div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; <span class="keywordtype">void</span> markAsCancelled();</div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;</div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;<span class="keyword">protected</span>:</div>
-<div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="classuscxml_1_1_fast_micro_step_1_1_transition.html"> 55</a></span>&#160; <span class="keyword">class </span><a class="code" href="classuscxml_1_1_fast_micro_step_1_1_transition.html">Transition</a> {</div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <span class="keyword">public</span>:</div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; <a class="code" href="classuscxml_1_1_fast_micro_step_1_1_transition.html">Transition</a>() : element(NULL), source(0), onTrans(NULL), type(0) {}</div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;</div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; XERCESC_NS::DOMElement* element;</div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; boost::dynamic_bitset&lt;&gt; conflicts;</div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; boost::dynamic_bitset&lt;&gt; exitSet;</div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;</div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; uint32_t source;</div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; boost::dynamic_bitset&lt;&gt; target;</div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;</div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; XERCESC_NS::DOMElement* onTrans;</div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;</div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; std::string event;</div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; std::string cond;</div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;</div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> type;</div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;</div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; };</div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;</div>
-<div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="classuscxml_1_1_fast_micro_step_1_1_state.html"> 75</a></span>&#160; <span class="keyword">class </span><a class="code" href="classuscxml_1_1_fast_micro_step_1_1_state.html">State</a> {</div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; <span class="keyword">public</span>:</div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <a class="code" href="classuscxml_1_1_fast_micro_step_1_1_state.html">State</a>() : element(NULL), parent(0), documentOrder(0), doneData(NULL), type(0) {}</div>
+<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;<span class="preprocessor">#ifdef _WIN32</span></div>
+<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;<span class="preprocessor">#define BITSET_BLOCKTYPE size_t</span></div>
+<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;<span class="preprocessor">#else</span></div>
+<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;<span class="preprocessor">#define BITSET_BLOCKTYPE</span></div>
+<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;</div>
+<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceuscxml.html">uscxml</a> {</div>
+<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;</div>
+<div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="classuscxml_1_1_fast_micro_step.html"> 50</a></span>&#160;<span class="keyword">class </span><a class="code" href="classuscxml_1_1_fast_micro_step.html">FastMicroStep</a> : <span class="keyword">public</span> <a class="code" href="classuscxml_1_1_micro_step_impl.html">MicroStepImpl</a> {</div>
+<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;<span class="keyword">public</span>:</div>
+<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; <a class="code" href="classuscxml_1_1_fast_micro_step.html">FastMicroStep</a>(<a class="code" href="classuscxml_1_1_micro_step_callbacks.html">MicroStepCallbacks</a>* callbacks);</div>
+<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <span class="keyword">virtual</span> ~<a class="code" href="classuscxml_1_1_fast_micro_step.html">FastMicroStep</a>();</div>
+<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <span class="keyword">virtual</span> std::shared_ptr&lt;MicroStepImpl&gt; create(<a class="code" href="classuscxml_1_1_micro_step_callbacks.html">MicroStepCallbacks</a>* callbacks);</div>
+<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;</div>
+<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <span class="keyword">virtual</span> InterpreterState <a class="code" href="classuscxml_1_1_fast_micro_step.html#ad19eb7cd93c5d5ec574502b463a213cb">step</a>(<span class="keywordtype">size_t</span> blockMs);</div>
+<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classuscxml_1_1_fast_micro_step.html#a03cc8e445bd51461bbb6e897e9a83db0">reset</a>();</div>
+<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> isInState(<span class="keyword">const</span> std::string&amp; stateId);</div>
+<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <span class="keyword">virtual</span> std::list&lt;XERCESC_NS::DOMElement*&gt; getConfiguration();</div>
+<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <span class="keywordtype">void</span> markAsCancelled();</div>
+<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;</div>
+<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> deserialize(<span class="keyword">const</span> <a class="code" href="classuscxml_1_1_data.html">Data</a>&amp; encodedState);</div>
+<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; <span class="keyword">virtual</span> <a class="code" href="classuscxml_1_1_data.html">Data</a> serialize();</div>
+<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;</div>
+<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;<span class="keyword">protected</span>:</div>
+<div class="line"><a name="l00066"></a><span class="lineno"><a class="line" href="classuscxml_1_1_fast_micro_step_1_1_transition.html"> 66</a></span>&#160; <span class="keyword">class </span><a class="code" href="classuscxml_1_1_fast_micro_step_1_1_transition.html">Transition</a> {</div>
+<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; <a class="code" href="classuscxml_1_1_fast_micro_step_1_1_transition.html">Transition</a>() : element(NULL), source(0), onTrans(NULL), type(0) {}</div>
+<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;</div>
+<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; XERCESC_NS::DOMElement* element;</div>
+<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; boost::dynamic_bitset&lt;BITSET_BLOCKTYPE&gt; conflicts;</div>
+<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; boost::dynamic_bitset&lt;BITSET_BLOCKTYPE&gt; exitSet;</div>
+<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;</div>
+<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; uint32_t source;</div>
+<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; boost::dynamic_bitset&lt;BITSET_BLOCKTYPE&gt; target;</div>
+<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160;</div>
+<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; XERCESC_NS::DOMElement* onTrans;</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;</div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; XERCESC_NS::DOMElement* element;</div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; boost::dynamic_bitset&lt;&gt; completion;</div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; boost::dynamic_bitset&lt;&gt; children;</div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; boost::dynamic_bitset&lt;&gt; ancestors;</div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; uint32_t parent;</div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; uint32_t documentOrder;</div>
+<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; std::string event;</div>
+<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; std::string cond;</div>
+<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160;</div>
+<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> type;</div>
+<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160;</div>
+<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; };</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160;</div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; std::list&lt;XERCESC_NS::DOMElement*&gt; data;</div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; std::list&lt;XERCESC_NS::DOMElement*&gt; invoke;</div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; std::list&lt;XERCESC_NS::DOMElement*&gt; onEntry;</div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; std::list&lt;XERCESC_NS::DOMElement*&gt; onExit;</div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; XERCESC_NS::DOMElement* doneData;</div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160;</div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> type;</div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; };</div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160;</div>
-<div class="line"><a name="l00095"></a><span class="lineno"><a class="line" href="classuscxml_1_1_fast_micro_step_1_1_cached_predicates.html"> 95</a></span>&#160; <span class="keyword">class </span><a class="code" href="classuscxml_1_1_fast_micro_step_1_1_cached_predicates.html">CachedPredicates</a> {</div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; <span class="keyword">public</span>:</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; std::map&lt;const XERCESC_NS::DOMElement*, std::list&lt;XERCESC_NS::DOMElement*&gt; &gt; exitSet;</div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; };</div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160;</div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classuscxml_1_1_fast_micro_step.html#a2fb4c1dbaeaa8a8b849d556f3cad07ab">init</a>(XERCESC_NS::DOMElement* scxml);</div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; std::list&lt;XERCESC_NS::DOMElement*&gt; getCompletion(<span class="keyword">const</span> XERCESC_NS::DOMElement* state);</div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> _flags;</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; std::map&lt;std::string, int&gt; _stateIds;</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;</div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; std::vector&lt;State*&gt; _states;</div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; std::vector&lt;Transition*&gt; _transitions;</div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; std::list&lt;XERCESC_NS::DOMElement*&gt; _globalScripts;</div>
+<div class="line"><a name="l00086"></a><span class="lineno"><a class="line" href="classuscxml_1_1_fast_micro_step_1_1_state.html"> 86</a></span>&#160; <span class="keyword">class </span><a class="code" href="classuscxml_1_1_fast_micro_step_1_1_state.html">State</a> {</div>
+<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <a class="code" href="classuscxml_1_1_fast_micro_step_1_1_state.html">State</a>() : element(NULL), parent(0), documentOrder(0), doneData(NULL), type(0) {}</div>
+<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;</div>
+<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; XERCESC_NS::DOMElement* element;</div>
+<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; boost::dynamic_bitset&lt;BITSET_BLOCKTYPE&gt; completion;</div>
+<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; boost::dynamic_bitset&lt;BITSET_BLOCKTYPE&gt; children;</div>
+<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; boost::dynamic_bitset&lt;BITSET_BLOCKTYPE&gt; ancestors;</div>
+<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; uint32_t parent;</div>
+<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; uint32_t documentOrder;</div>
+<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160;</div>
+<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; std::list&lt;XERCESC_NS::DOMElement*&gt; data;</div>
+<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; std::list&lt;XERCESC_NS::DOMElement*&gt; invoke;</div>
+<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; std::list&lt;XERCESC_NS::DOMElement*&gt; onEntry;</div>
+<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; std::list&lt;XERCESC_NS::DOMElement*&gt; onExit;</div>
+<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; XERCESC_NS::DOMElement* doneData;</div>
+<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160;</div>
+<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> type;</div>
+<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; };</div>
+<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;</div>
+<div class="line"><a name="l00106"></a><span class="lineno"><a class="line" href="classuscxml_1_1_fast_micro_step_1_1_cached_predicates.html"> 106</a></span>&#160; <span class="keyword">class </span><a class="code" href="classuscxml_1_1_fast_micro_step_1_1_cached_predicates.html">CachedPredicates</a> {</div>
+<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; std::map&lt;const XERCESC_NS::DOMElement*, std::list&lt;XERCESC_NS::DOMElement*&gt; &gt; exitSet;</div>
+<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; };</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;</div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; boost::dynamic_bitset&lt;&gt; _configuration;</div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; boost::dynamic_bitset&lt;&gt; _invocations;</div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; boost::dynamic_bitset&lt;&gt; _history;</div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; boost::dynamic_bitset&lt;&gt; _initializedData;</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;</div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; std::set&lt;boost::dynamic_bitset&lt;&gt; &gt; _microstepConfigurations;</div>
+<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classuscxml_1_1_fast_micro_step.html#a2fb4c1dbaeaa8a8b849d556f3cad07ab">init</a>(XERCESC_NS::DOMElement* scxml);</div>
+<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;</div>
+<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; std::list&lt;XERCESC_NS::DOMElement*&gt; getCompletion(<span class="keyword">const</span> XERCESC_NS::DOMElement* state);</div>
+<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;</div>
+<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> _flags;</div>
+<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; std::map&lt;std::string, int&gt; _stateIds;</div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;</div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; Binding _binding;</div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; XERCESC_NS::DOMElement* _scxml;</div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; <a class="code" href="classuscxml_1_1_x.html">X</a> _xmlPrefix;</div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; <a class="code" href="classuscxml_1_1_x.html">X</a> _xmlNS;</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;</div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; <span class="keywordtype">bool</span> _isInitialized;</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <span class="keywordtype">bool</span> _isCancelled;</div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <a class="code" href="classuscxml_1_1_event.html">Event</a> _event; <span class="comment">// we do not care about the event&#39;s representation</span></div>
+<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; std::vector&lt;State*&gt; _states;</div>
+<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; std::vector&lt;Transition*&gt; _transitions;</div>
+<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; std::list&lt;XERCESC_NS::DOMElement*&gt; _globalScripts;</div>
+<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;</div>
+<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; boost::dynamic_bitset&lt;BITSET_BLOCKTYPE&gt; _configuration;</div>
+<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; boost::dynamic_bitset&lt;BITSET_BLOCKTYPE&gt; _invocations;</div>
+<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; boost::dynamic_bitset&lt;BITSET_BLOCKTYPE&gt; _history;</div>
+<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; boost::dynamic_bitset&lt;BITSET_BLOCKTYPE&gt; _initializedData;</div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;</div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;<span class="keyword">private</span>:</div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; std::list&lt;XERCESC_NS::DOMElement*&gt; getHistoryCompletion(<span class="keyword">const</span> XERCESC_NS::DOMElement* state);</div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; <span class="keywordtype">void</span> resortStates(XERCESC_NS::DOMElement* node, <span class="keyword">const</span> <a class="code" href="classuscxml_1_1_x.html">X</a>&amp; xmlPrefix);</div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;</div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; <span class="keywordtype">bool</span> conflictsCached(<span class="keyword">const</span> XERCESC_NS::DOMElement* t1, <span class="keyword">const</span> XERCESC_NS::DOMElement* t2, <span class="keyword">const</span> XERCESC_NS::DOMElement* root); </div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;</div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; std::list&lt;XERCESC_NS::DOMElement*&gt; getExitSetCached(<span class="keyword">const</span> XERCESC_NS::DOMElement* transition,</div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; <span class="keyword">const</span> XERCESC_NS::DOMElement* root);</div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;</div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; <a class="code" href="classuscxml_1_1_fast_micro_step_1_1_cached_predicates.html">CachedPredicates</a> _cache;</div>
+<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; std::set&lt;boost::dynamic_bitset&lt;BITSET_BLOCKTYPE&gt; &gt; _microstepConfigurations;</div>
+<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160;</div>
+<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; Binding _binding;</div>
+<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; XERCESC_NS::DOMElement* _scxml;</div>
+<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; <a class="code" href="classuscxml_1_1_x.html">X</a> _xmlPrefix;</div>
+<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; <a class="code" href="classuscxml_1_1_x.html">X</a> _xmlNS;</div>
+<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;</div>
+<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; <span class="keywordtype">bool</span> _isInitialized;</div>
+<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; <span class="keywordtype">bool</span> _isCancelled;</div>
+<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; <a class="code" href="classuscxml_1_1_event.html">Event</a> _event; <span class="comment">// we do not care about the event&#39;s representation</span></div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160;</div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;<span class="preprocessor">#ifdef USCXML_VERBOSE</span></div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; <span class="keywordtype">void</span> printStateNames(<span class="keyword">const</span> boost::dynamic_bitset&lt;&gt;&amp; bitset);</div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;<span class="keyword">private</span>:</div>
+<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; std::list&lt;XERCESC_NS::DOMElement*&gt; getHistoryCompletion(<span class="keyword">const</span> XERCESC_NS::DOMElement* state);</div>
+<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; <span class="keywordtype">void</span> resortStates(XERCESC_NS::DOMElement* node, <span class="keyword">const</span> <a class="code" href="classuscxml_1_1_x.html">X</a>&amp; xmlPrefix);</div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160;</div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;};</div>
+<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; <span class="keywordtype">bool</span> conflictsCached(<span class="keyword">const</span> XERCESC_NS::DOMElement* t1, <span class="keyword">const</span> XERCESC_NS::DOMElement* t2, <span class="keyword">const</span> XERCESC_NS::DOMElement* root); </div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;</div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160;}</div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160;</div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* end of include guard: FASTMICROSTEP_H_065FE1F7 */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160;</div>
-<div class="ttc" id="classuscxml_1_1_fast_micro_step_html"><div class="ttname"><a href="classuscxml_1_1_fast_micro_step.html">uscxml::FastMicroStep</a></div><div class="ttdef"><b>Definition:</b> FastMicroStep.h:42</div></div>
-<div class="ttc" id="classuscxml_1_1_micro_step_impl_html"><div class="ttname"><a href="classuscxml_1_1_micro_step_impl.html">uscxml::MicroStepImpl</a></div><div class="ttdef"><b>Definition:</b> MicroStepImpl.h:69</div></div>
+<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; std::string toBase64(<span class="keyword">const</span> boost::dynamic_bitset&lt;BITSET_BLOCKTYPE&gt;&amp; bitset);</div>
+<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; boost::dynamic_bitset&lt;BITSET_BLOCKTYPE&gt; fromBase64(<span class="keyword">const</span> std::string&amp; encoded);</div>
+<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;</div>
+<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; std::list&lt;XERCESC_NS::DOMElement*&gt; getExitSetCached(<span class="keyword">const</span> XERCESC_NS::DOMElement* transition,</div>
+<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; <span class="keyword">const</span> XERCESC_NS::DOMElement* root);</div>
+<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160;</div>
+<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; <a class="code" href="classuscxml_1_1_fast_micro_step_1_1_cached_predicates.html">CachedPredicates</a> _cache;</div>
+<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;</div>
+<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;<span class="preprocessor">#ifdef USCXML_VERBOSE</span></div>
+<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; <span class="keywordtype">void</span> printStateNames(<span class="keyword">const</span> boost::dynamic_bitset&lt;BITSET_BLOCKTYPE&gt;&amp; bitset);</div>
+<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160;</div>
+<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;};</div>
+<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160;</div>
+<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;}</div>
+<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160;</div>
+<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* end of include guard: FASTMICROSTEP_H_065FE1F7 */</span><span class="preprocessor"></span></div>
+<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;</div>
+<div class="ttc" id="classuscxml_1_1_fast_micro_step_html"><div class="ttname"><a href="classuscxml_1_1_fast_micro_step.html">uscxml::FastMicroStep</a></div><div class="ttdef"><b>Definition:</b> FastMicroStep.h:50</div></div>
+<div class="ttc" id="classuscxml_1_1_micro_step_impl_html"><div class="ttname"><a href="classuscxml_1_1_micro_step_impl.html">uscxml::MicroStepImpl</a></div><div class="ttdef"><b>Definition:</b> MicroStepImpl.h:73</div></div>
<div class="ttc" id="namespaceuscxml_html"><div class="ttname"><a href="namespaceuscxml.html">uscxml</a></div><div class="ttdef"><b>Definition:</b> Breakpoint.cpp:26</div></div>
<div class="ttc" id="classuscxml_1_1_micro_step_callbacks_html"><div class="ttname"><a href="classuscxml_1_1_micro_step_callbacks.html">uscxml::MicroStepCallbacks</a></div><div class="ttdef"><b>Definition:</b> MicroStepImpl.h:40</div></div>
<div class="ttc" id="_common_8h_html"><div class="ttname"><a href="_common_8h.html">Common.h</a></div></div>
-<div class="ttc" id="classuscxml_1_1_event_html"><div class="ttname"><a href="classuscxml_1_1_event.html">uscxml::Event</a></div><div class="ttdef"><b>Definition:</b> Event.h:84</div></div>
+<div class="ttc" id="classuscxml_1_1_event_html"><div class="ttname"><a href="classuscxml_1_1_event.html">uscxml::Event</a></div><div class="ttdef"><b>Definition:</b> Event.h:94</div></div>
<div class="ttc" id="_d_o_m_8h_html"><div class="ttname"><a href="_d_o_m_8h.html">DOM.h</a></div></div>
-<div class="ttc" id="classuscxml_1_1_fast_micro_step_html_a03cc8e445bd51461bbb6e897e9a83db0"><div class="ttname"><a href="classuscxml_1_1_fast_micro_step.html#a03cc8e445bd51461bbb6e897e9a83db0">uscxml::FastMicroStep::reset</a></div><div class="ttdeci">virtual void reset()</div><div class="ttdoc">Reset state machine. </div><div class="ttdef"><b>Definition:</b> FastMicroStep.cpp:962</div></div>
-<div class="ttc" id="classuscxml_1_1_fast_micro_step_html_ad19eb7cd93c5d5ec574502b463a213cb"><div class="ttname"><a href="classuscxml_1_1_fast_micro_step.html#ad19eb7cd93c5d5ec574502b463a213cb">uscxml::FastMicroStep::step</a></div><div class="ttdeci">virtual InterpreterState step(size_t blockMs)</div><div class="ttdef"><b>Definition:</b> FastMicroStep.cpp:446</div></div>
-<div class="ttc" id="classuscxml_1_1_fast_micro_step_1_1_transition_html"><div class="ttname"><a href="classuscxml_1_1_fast_micro_step_1_1_transition.html">uscxml::FastMicroStep::Transition</a></div><div class="ttdef"><b>Definition:</b> FastMicroStep.h:55</div></div>
-<div class="ttc" id="classuscxml_1_1_fast_micro_step_html_a2fb4c1dbaeaa8a8b849d556f3cad07ab"><div class="ttname"><a href="classuscxml_1_1_fast_micro_step.html#a2fb4c1dbaeaa8a8b849d556f3cad07ab">uscxml::FastMicroStep::init</a></div><div class="ttdeci">virtual void init(XERCESC_NS::DOMElement *scxml)</div><div class="ttdef"><b>Definition:</b> FastMicroStep.cpp:187</div></div>
+<div class="ttc" id="classuscxml_1_1_fast_micro_step_html_a03cc8e445bd51461bbb6e897e9a83db0"><div class="ttname"><a href="classuscxml_1_1_fast_micro_step.html#a03cc8e445bd51461bbb6e897e9a83db0">uscxml::FastMicroStep::reset</a></div><div class="ttdeci">virtual void reset()</div><div class="ttdoc">Reset state machine. </div><div class="ttdef"><b>Definition:</b> FastMicroStep.cpp:1146</div></div>
+<div class="ttc" id="classuscxml_1_1_fast_micro_step_html_ad19eb7cd93c5d5ec574502b463a213cb"><div class="ttname"><a href="classuscxml_1_1_fast_micro_step.html#ad19eb7cd93c5d5ec574502b463a213cb">uscxml::FastMicroStep::step</a></div><div class="ttdeci">virtual InterpreterState step(size_t blockMs)</div><div class="ttdef"><b>Definition:</b> FastMicroStep.cpp:629</div></div>
+<div class="ttc" id="classuscxml_1_1_fast_micro_step_1_1_transition_html"><div class="ttname"><a href="classuscxml_1_1_fast_micro_step_1_1_transition.html">uscxml::FastMicroStep::Transition</a></div><div class="ttdef"><b>Definition:</b> FastMicroStep.h:66</div></div>
+<div class="ttc" id="classuscxml_1_1_fast_micro_step_html_a2fb4c1dbaeaa8a8b849d556f3cad07ab"><div class="ttname"><a href="classuscxml_1_1_fast_micro_step.html#a2fb4c1dbaeaa8a8b849d556f3cad07ab">uscxml::FastMicroStep::init</a></div><div class="ttdeci">virtual void init(XERCESC_NS::DOMElement *scxml)</div><div class="ttdef"><b>Definition:</b> FastMicroStep.cpp:230</div></div>
<div class="ttc" id="_micro_step_impl_8h_html"><div class="ttname"><a href="_micro_step_impl_8h.html">MicroStepImpl.h</a></div></div>
-<div class="ttc" id="classuscxml_1_1_fast_micro_step_1_1_state_html"><div class="ttname"><a href="classuscxml_1_1_fast_micro_step_1_1_state.html">uscxml::FastMicroStep::State</a></div><div class="ttdef"><b>Definition:</b> FastMicroStep.h:75</div></div>
-<div class="ttc" id="classuscxml_1_1_fast_micro_step_1_1_cached_predicates_html"><div class="ttname"><a href="classuscxml_1_1_fast_micro_step_1_1_cached_predicates.html">uscxml::FastMicroStep::CachedPredicates</a></div><div class="ttdef"><b>Definition:</b> FastMicroStep.h:95</div></div>
-<div class="ttc" id="classuscxml_1_1_x_html"><div class="ttname"><a href="classuscxml_1_1_x.html">uscxml::X</a></div><div class="ttdef"><b>Definition:</b> DOM.h:110</div></div>
+<div class="ttc" id="classuscxml_1_1_fast_micro_step_1_1_state_html"><div class="ttname"><a href="classuscxml_1_1_fast_micro_step_1_1_state.html">uscxml::FastMicroStep::State</a></div><div class="ttdef"><b>Definition:</b> FastMicroStep.h:86</div></div>
+<div class="ttc" id="classuscxml_1_1_data_html"><div class="ttname"><a href="classuscxml_1_1_data.html">uscxml::Data</a></div><div class="ttdef"><b>Definition:</b> Data.h:44</div></div>
+<div class="ttc" id="classuscxml_1_1_fast_micro_step_1_1_cached_predicates_html"><div class="ttname"><a href="classuscxml_1_1_fast_micro_step_1_1_cached_predicates.html">uscxml::FastMicroStep::CachedPredicates</a></div><div class="ttdef"><b>Definition:</b> FastMicroStep.h:106</div></div>
+<div class="ttc" id="classuscxml_1_1_x_html"><div class="ttname"><a href="classuscxml_1_1_x.html">uscxml::X</a></div><div class="ttdef"><b>Definition:</b> DOM.h:133</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- HTML footer for doxygen 1.8.8-->
<!-- start footer part -->
@@ -246,7 +261,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</div>
</div>
<!-- <hr class="footer"/><address class="footer"><small>
-Generated on Mon Dec 12 2016 19:50:04 for uSCXML by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Apr 30 2017 22:52:19 for uSCXML by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.10
</small></address> -->