1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
|
<!-- HTML header for doxygen 1.8.8-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<!-- For Mobile Devices -->
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.10"/>
<script type="text/javascript" src="https://code.jquery.com/jquery-2.1.1.min.js"></script>
<title>uSCXML: interpreter/FastMicroStep.cpp File Reference</title>
<!--<link href="tabs.css" rel="stylesheet" type="text/css"/>-->
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { init_search(); });
</script>
<link href='https://fonts.googleapis.com/css?family=Roboto+Slab' rel='stylesheet' type='text/css'>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css">
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="customdoxygen.css" rel="stylesheet" type="text/css"/>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/js/bootstrap.min.js"></script>
<script type="text/javascript" src="doxy-boot.js"></script>
</head>
<body>
<nav class="navbar navbar-default" role="navigation">
<div class="container">
<div class="navbar-header">
<a class="navbar-brand">uSCXML 2.0.0</a>
</div>
</div>
</nav>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div class="content" id="content">
<div class="container">
<div class="row">
<div class="col-sm-12 panel " style="padding-bottom: 15px;">
<div style="margin-bottom: 15px;">
<!-- end header part --><!-- Generated by Doxygen 1.8.10 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main Page</span></a></li>
<li><a href="pages.html"><span>Related Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File List</span></a></li>
<li><a href="globals.html"><span>File Members</span></a></li>
</ul>
</div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_f2c8af9107d7604b778bd4ea9fe0debe.html">interpreter</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#define-members">Macros</a> </div>
<div class="headertitle">
<div class="title">FastMicroStep.cpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include "<a class="el" href="_fast_micro_step_8h_source.html">FastMicroStep.h</a>"</code><br />
<code>#include "<a class="el" href="_d_o_m_8h_source.html">uscxml/util/DOM.h</a>"</code><br />
<code>#include "<a class="el" href="_string_8h_source.html">uscxml/util/String.h</a>"</code><br />
<code>#include "<a class="el" href="_predicates_8h_source.html">uscxml/util/Predicates.h</a>"</code><br />
<code>#include "<a class="el" href="_convenience_8h_source.html">uscxml/util/Convenience.h</a>"</code><br />
<code>#include "<a class="el" href="_interpreter_monitor_8h_source.html">uscxml/interpreter/InterpreterMonitor.h</a>"</code><br />
<code>#include <easylogging++.h></code><br />
</div><div class="textblock"><div class="dynheader">
Include dependency graph for FastMicroStep.cpp:</div>
<div class="dyncontent">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="_fast_micro_step_8cpp__incl.svg" width="100%" height="600"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:a7e5a418ddf9db73d164e8919d84cfa1c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7e5a418ddf9db73d164e8919d84cfa1c"></a>
#define </td><td class="memItemRight" valign="bottom"><b>BIT_ANY_SET</b>(b)   (!b.none())</td></tr>
<tr class="separator:a7e5a418ddf9db73d164e8919d84cfa1c"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a856f650ccbfdca32e799ae794f6e2f7b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a856f650ccbfdca32e799ae794f6e2f7b"></a>
#define </td><td class="memItemRight" valign="bottom"><b>BIT_HAS</b>(idx, bitset)   (bitset[idx])</td></tr>
<tr class="separator:a856f650ccbfdca32e799ae794f6e2f7b"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ae6306030f35c009f928cafff33802386"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae6306030f35c009f928cafff33802386"></a>
#define </td><td class="memItemRight" valign="bottom"><b>BIT_HAS_AND</b>(bitset1, bitset2)   bitset1.intersects(bitset2)</td></tr>
<tr class="separator:ae6306030f35c009f928cafff33802386"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ab25b4580e9816dc0c64c2452e66df877"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab25b4580e9816dc0c64c2452e66df877"></a>
#define </td><td class="memItemRight" valign="bottom"><b>BIT_SET_AT</b>(idx, bitset)   bitset[idx] = true;</td></tr>
<tr class="separator:ab25b4580e9816dc0c64c2452e66df877"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a35ab6bf8512198798dcadc44396c1dbc"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a35ab6bf8512198798dcadc44396c1dbc"></a>
#define </td><td class="memItemRight" valign="bottom"><b>BIT_CLEAR</b>(idx, bitset)   bitset[idx] = false;</td></tr>
<tr class="separator:a35ab6bf8512198798dcadc44396c1dbc"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a8f42d37dcbcc55fe339f4bda97f8e474"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8f42d37dcbcc55fe339f4bda97f8e474"></a>
#define </td><td class="memItemRight" valign="bottom"><b>USCXML_GET_TRANS</b>(i)   (*_transitions[i])</td></tr>
<tr class="separator:a8f42d37dcbcc55fe339f4bda97f8e474"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a0fb99738c0c38ce96ee1b69c3e07774e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0fb99738c0c38ce96ee1b69c3e07774e"></a>
#define </td><td class="memItemRight" valign="bottom"><b>USCXML_GET_STATE</b>(i)   (*_states[i])</td></tr>
<tr class="separator:a0fb99738c0c38ce96ee1b69c3e07774e"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a317e74ee182eaabebb277190c972edac"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a317e74ee182eaabebb277190c972edac"></a>
#define </td><td class="memItemRight" valign="bottom"><b>USCXML_CTX_PRISTINE</b>   0x00</td></tr>
<tr class="separator:a317e74ee182eaabebb277190c972edac"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ac2d7c68742a2b53bff73b48db59a91bc"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac2d7c68742a2b53bff73b48db59a91bc"></a>
#define </td><td class="memItemRight" valign="bottom"><b>USCXML_CTX_SPONTANEOUS</b>   0x01</td></tr>
<tr class="separator:ac2d7c68742a2b53bff73b48db59a91bc"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a1fa62bebe7be2a4247dfdb5bf50cc4c9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1fa62bebe7be2a4247dfdb5bf50cc4c9"></a>
#define </td><td class="memItemRight" valign="bottom"><b>USCXML_CTX_INITIALIZED</b>   0x02</td></tr>
<tr class="separator:a1fa62bebe7be2a4247dfdb5bf50cc4c9"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ae1448368a10a0468cf245ad5d12f1fbc"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae1448368a10a0468cf245ad5d12f1fbc"></a>
#define </td><td class="memItemRight" valign="bottom"><b>USCXML_CTX_TOP_LEVEL_FINAL</b>   0x04</td></tr>
<tr class="separator:ae1448368a10a0468cf245ad5d12f1fbc"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:add9e0bb1a67e6bb3af8ba583737662f0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="add9e0bb1a67e6bb3af8ba583737662f0"></a>
#define </td><td class="memItemRight" valign="bottom"><b>USCXML_CTX_TRANSITION_FOUND</b>   0x08</td></tr>
<tr class="separator:add9e0bb1a67e6bb3af8ba583737662f0"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a2f82ebdcac324e1a78a7f5bb997350a6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2f82ebdcac324e1a78a7f5bb997350a6"></a>
#define </td><td class="memItemRight" valign="bottom"><b>USCXML_CTX_FINISHED</b>   0x10</td></tr>
<tr class="separator:a2f82ebdcac324e1a78a7f5bb997350a6"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a0d010860188463b5b9364452b3b17524"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0d010860188463b5b9364452b3b17524"></a>
#define </td><td class="memItemRight" valign="bottom"><b>USCXML_CTX_STABLE</b>   0x20</td></tr>
<tr class="separator:a0d010860188463b5b9364452b3b17524"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aef418d91de1f2f73cebda9853e3959b0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aef418d91de1f2f73cebda9853e3959b0"></a>
#define </td><td class="memItemRight" valign="bottom"><b>USCXML_TRANS_SPONTANEOUS</b>   0x01</td></tr>
<tr class="separator:aef418d91de1f2f73cebda9853e3959b0"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:adaced472b3369d202deccfdf7ee5a680"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adaced472b3369d202deccfdf7ee5a680"></a>
#define </td><td class="memItemRight" valign="bottom"><b>USCXML_TRANS_TARGETLESS</b>   0x02</td></tr>
<tr class="separator:adaced472b3369d202deccfdf7ee5a680"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a7fafc407e12910ee5df29cf935561d8c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7fafc407e12910ee5df29cf935561d8c"></a>
#define </td><td class="memItemRight" valign="bottom"><b>USCXML_TRANS_INTERNAL</b>   0x04</td></tr>
<tr class="separator:a7fafc407e12910ee5df29cf935561d8c"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a02cf867670e9f54f99645c12aac4d40e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a02cf867670e9f54f99645c12aac4d40e"></a>
#define </td><td class="memItemRight" valign="bottom"><b>USCXML_TRANS_HISTORY</b>   0x08</td></tr>
<tr class="separator:a02cf867670e9f54f99645c12aac4d40e"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:abd57dfe82490dccd74b29f63ef5f4da0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abd57dfe82490dccd74b29f63ef5f4da0"></a>
#define </td><td class="memItemRight" valign="bottom"><b>USCXML_TRANS_INITIAL</b>   0x10</td></tr>
<tr class="separator:abd57dfe82490dccd74b29f63ef5f4da0"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aa63ad5da71ef82fdd4d9f23abf2d5563"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa63ad5da71ef82fdd4d9f23abf2d5563"></a>
#define </td><td class="memItemRight" valign="bottom"><b>USCXML_STATE_ATOMIC</b>   0x01</td></tr>
<tr class="separator:aa63ad5da71ef82fdd4d9f23abf2d5563"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a37f8bfb7a62e902934c0c101dd95f8d6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a37f8bfb7a62e902934c0c101dd95f8d6"></a>
#define </td><td class="memItemRight" valign="bottom"><b>USCXML_STATE_PARALLEL</b>   0x02</td></tr>
<tr class="separator:a37f8bfb7a62e902934c0c101dd95f8d6"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a36026df3a69eb8ec7b44f87aa2c93e10"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a36026df3a69eb8ec7b44f87aa2c93e10"></a>
#define </td><td class="memItemRight" valign="bottom"><b>USCXML_STATE_COMPOUND</b>   0x03</td></tr>
<tr class="separator:a36026df3a69eb8ec7b44f87aa2c93e10"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a79377e895a1dd41b2ca2d36642dfa5fa"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a79377e895a1dd41b2ca2d36642dfa5fa"></a>
#define </td><td class="memItemRight" valign="bottom"><b>USCXML_STATE_FINAL</b>   0x04</td></tr>
<tr class="separator:a79377e895a1dd41b2ca2d36642dfa5fa"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:afa952e4904086003b92ec1e3a9f9a99f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afa952e4904086003b92ec1e3a9f9a99f"></a>
#define </td><td class="memItemRight" valign="bottom"><b>USCXML_STATE_HISTORY_DEEP</b>   0x05</td></tr>
<tr class="separator:afa952e4904086003b92ec1e3a9f9a99f"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a3685e7ff5b917143d5f977f981ee2b33"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3685e7ff5b917143d5f977f981ee2b33"></a>
#define </td><td class="memItemRight" valign="bottom"><b>USCXML_STATE_HISTORY_SHALLOW</b>   0x06</td></tr>
<tr class="separator:a3685e7ff5b917143d5f977f981ee2b33"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a51a5328a8fb21c81870874e079d981dc"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a51a5328a8fb21c81870874e079d981dc"></a>
#define </td><td class="memItemRight" valign="bottom"><b>USCXML_STATE_INITIAL</b>   0x07</td></tr>
<tr class="separator:a51a5328a8fb21c81870874e079d981dc"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a7352719f2d17f2782b119ba7d45c6331"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7352719f2d17f2782b119ba7d45c6331"></a>
#define </td><td class="memItemRight" valign="bottom"><b>USCXML_STATE_HAS_HISTORY</b>   0x80 /* highest bit */</td></tr>
<tr class="separator:a7352719f2d17f2782b119ba7d45c6331"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a4e1fd9dc74aa28a370380cf25bd63de6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4e1fd9dc74aa28a370380cf25bd63de6"></a>
#define </td><td class="memItemRight" valign="bottom"><b>USCXML_STATE_MASK</b>(t)    (t & 0x7F) /* mask highest bit */</td></tr>
<tr class="separator:a4e1fd9dc74aa28a370380cf25bd63de6"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a36575633ee5b36b861662933cf4be214"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a36575633ee5b36b861662933cf4be214"></a>
#define </td><td class="memItemRight" valign="bottom"><b>USCXML_NUMBER_STATES</b>   _states.size()</td></tr>
<tr class="separator:a36575633ee5b36b861662933cf4be214"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a27c38b3f4ee2e7f3b26771ae9eb4d02e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a27c38b3f4ee2e7f3b26771ae9eb4d02e"></a>
#define </td><td class="memItemRight" valign="bottom"><b>USCXML_NUMBER_TRANS</b>   _transitions.size()</td></tr>
<tr class="separator:a27c38b3f4ee2e7f3b26771ae9eb4d02e"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ae2d3bba3b14b63be03ed05e831a187ed"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae2d3bba3b14b63be03ed05e831a187ed"></a>
#define </td><td class="memItemRight" valign="bottom"><b>likely</b>(x)    (x)</td></tr>
<tr class="separator:ae2d3bba3b14b63be03ed05e831a187ed"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a901070bb8ed8e8438b3220e5c7eee33a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a901070bb8ed8e8438b3220e5c7eee33a"></a>
#define </td><td class="memItemRight" valign="bottom"><b>unlikely</b>(x)    (x)</td></tr>
<tr class="separator:a901070bb8ed8e8438b3220e5c7eee33a"><td class="memSeparator" colspan="2"> </td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><dl class="section author"><dt>Author</dt><dd>2012-2016 Stefan Radomski (<a href="#" onclick="location.href='mai'+'lto:'+'ste'+'fa'+'n.r'+'ad'+'oms'+'ki'+'@cs'+'.t'+'u-d'+'ar'+'mst'+'ad'+'t.d'+'e'; return false;">stefa<span style="display: none;">.nosp@m.</span>n.ra<span style="display: none;">.nosp@m.</span>domsk<span style="display: none;">.nosp@m.</span>i@cs<span style="display: none;">.nosp@m.</span>.tu-d<span style="display: none;">.nosp@m.</span>arms<span style="display: none;">.nosp@m.</span>tadt.<span style="display: none;">.nosp@m.</span>de</a>) </dd></dl>
<dl class="section copyright"><dt>Copyright</dt><dd>Simplified BSD </dd></dl>
</div></div><!-- contents -->
<!-- HTML footer for doxygen 1.8.8-->
<!-- start footer part -->
</div>
</div>
</div>
</div>
</div>
<!-- <hr class="footer"/><address class="footer"><small>
Generated on Thu May 19 2016 10:05:25 for uSCXML by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.10
</small></address> -->
</body>
</html>
|