<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Class execution_context (version 1)</title>
<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../index.html" title="Chapter 1. Context">
<link rel="up" href="../index.html" title="Chapter 1. Context">
<link rel="prev" href="ecv2.html" title="Class execution_context (version 2)">
</p>
<h4>
<a name="context.ecv1.h0"></a>
- <span class="phrase"><a name="context.ecv1.usage_of__emphasis_execution_context__emphasis_"></a></span><a class="link" href="ecv1.html#context.ecv1.usage_of__emphasis_execution_context__emphasis_">usage
+ <span><a name="context.ecv1.usage_of__emphasis_execution_context__emphasis_"></a></span><a class="link" href="ecv1.html#context.ecv1.usage_of__emphasis_execution_context__emphasis_">usage
of <span class="emphasis"><em>execution_context</em></span></a>
</h4>
<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">n</span><span class="special">=</span><span class="number">35</span><span class="special">;</span>
</p>
<h4>
<a name="context.ecv1.h1"></a>
- <span class="phrase"><a name="context.ecv1.inverting_the_control_flow"></a></span><a class="link" href="ecv1.html#context.ecv1.inverting_the_control_flow">inverting
+ <span><a name="context.ecv1.inverting_the_control_flow"></a></span><a class="link" href="ecv1.html#context.ecv1.inverting_the_control_flow">inverting
the control flow</a>
</h4>
<pre class="programlisting"><span class="comment">/*
</p>
<h4>
<a name="context.ecv1.h2"></a>
- <span class="phrase"><a name="context.ecv1.stack_unwinding"></a></span><a class="link" href="ecv1.html#context.ecv1.stack_unwinding">stack
+ <span><a name="context.ecv1.stack_unwinding"></a></span><a class="link" href="ecv1.html#context.ecv1.stack_unwinding">stack
unwinding</a>
</h4>
<p>
</p>
<a name="ecv1_prealloc"></a><h4>
<a name="context.ecv1.h3"></a>
- <span class="phrase"><a name="context.ecv1.allocating_control_structures_on_top_of_stack"></a></span><a class="link" href="ecv1.html#context.ecv1.allocating_control_structures_on_top_of_stack">allocating
+ <span><a name="context.ecv1.allocating_control_structures_on_top_of_stack"></a></span><a class="link" href="ecv1.html#context.ecv1.allocating_control_structures_on_top_of_stack">allocating
control structures on top of stack</a>
</h4>
<p>
</pre>
<h4>
<a name="context.ecv1.h4"></a>
- <span class="phrase"><a name="context.ecv1.exception_handling"></a></span><a class="link" href="ecv1.html#context.ecv1.exception_handling">exception
+ <span><a name="context.ecv1.exception_handling"></a></span><a class="link" href="ecv1.html#context.ecv1.exception_handling">exception
handling</a>
</h4>
<p>
</table></div>
<h4>
<a name="context.ecv1.h5"></a>
- <span class="phrase"><a name="context.ecv1.parameter_passing"></a></span><a class="link" href="ecv1.html#context.ecv1.parameter_passing">parameter
+ <span><a name="context.ecv1.parameter_passing"></a></span><a class="link" href="ecv1.html#context.ecv1.parameter_passing">parameter
passing</a>
</h4>
<p>
</pre>
<h4>
<a name="context.ecv1.h6"></a>
- <span class="phrase"><a name="context.ecv1.class__code__phrase_role__identifier__execution_context__phrase___code_"></a></span><a class="link" href="ecv1.html#context.ecv1.class__code__phrase_role__identifier__execution_context__phrase___code_">Class
+ <span><a name="context.ecv1.class__code__phrase_role__identifier__execution_context__phrase___code_"></a></span><a class="link" href="ecv1.html#context.ecv1.class__code__phrase_role__identifier__execution_context__phrase___code_">Class
<code class="computeroutput"><span class="identifier">execution_context</span></code></a>
</h4>
<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">execution_context</span> <span class="special">{</span>
</p>
<h5>
<a name="ecv1_current_bridgehead"></a>
- <span class="phrase"><a name="ecv1_current"></a></span>
+ <span><a name="ecv1_current"></a></span>
<a class="link" href="ecv1.html#ecv1_current">Static member function <code class="computeroutput">current</code>()</a>
</h5>
<p>
</pre>
<div class="variablelist">
<p class="title"><b></b></p>
-<dl class="variablelist">
+<dl>
<dt><span class="term">Returns:</span></dt>
<dd><p>
Returns an instance of excution_context pointing to the active execution
</p>
<h5>
<a name="ecv1_constructor_bridgehead"></a>
- <span class="phrase"><a name="ecv1_constructor"></a></span>
+ <span><a name="ecv1_constructor"></a></span>
<a class="link" href="ecv1.html#ecv1_constructor">Constructor</a>
</h5>
<p>
</pre>
<div class="variablelist">
<p class="title"><b></b></p>
-<dl class="variablelist">
+<dl>
<dt><span class="term">Effects:</span></dt>
<dd><p>
Creates a new execution context and prepares the context to execute
</p>
<h5>
<a name="ecv1_copy%20constructor_bridgehead"></a>
- <span class="phrase"><a name="ecv1_copy%20constructor"></a></span>
+ <span><a name="ecv1_copy%20constructor"></a></span>
<a class="link" href="ecv1.html#ecv1_copy%20constructor">Copy
constructor</a>
</h5>
</pre>
<div class="variablelist">
<p class="title"><b></b></p>
-<dl class="variablelist">
+<dl>
<dt><span class="term">Effects:</span></dt>
<dd><p>
Copies <code class="computeroutput"><span class="identifier">other</span></code>, e.g. underlying
</p>
<h5>
<a name="ecv1_move%20constructor_bridgehead"></a>
- <span class="phrase"><a name="ecv1_move%20constructor"></a></span>
+ <span><a name="ecv1_move%20constructor"></a></span>
<a class="link" href="ecv1.html#ecv1_move%20constructor">Move
constructor</a>
</h5>
</pre>
<div class="variablelist">
<p class="title"><b></b></p>
-<dl class="variablelist">
+<dl>
<dt><span class="term">Effects:</span></dt>
<dd><p>
Moves underlying control structure to <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code>.
</p>
<h5>
<a name="ecv1_copy%20assignment_bridgehead"></a>
- <span class="phrase"><a name="ecv1_copy%20assignment"></a></span>
+ <span><a name="ecv1_copy%20assignment"></a></span>
<a class="link" href="ecv1.html#ecv1_copy%20assignment">Copy
assignment operator</a>
</h5>
</pre>
<div class="variablelist">
<p class="title"><b></b></p>
-<dl class="variablelist">
+<dl>
<dt><span class="term">Effects:</span></dt>
<dd><p>
Copies the state of <code class="computeroutput"><span class="identifier">other</span></code>
</p>
<h5>
<a name="ecv1_move%20assignment_bridgehead"></a>
- <span class="phrase"><a name="ecv1_move%20assignment"></a></span>
+ <span><a name="ecv1_move%20assignment"></a></span>
<a class="link" href="ecv1.html#ecv1_move%20assignment">Move
assignment operator</a>
</h5>
</pre>
<div class="variablelist">
<p class="title"><b></b></p>
-<dl class="variablelist">
+<dl>
<dt><span class="term">Effects:</span></dt>
<dd><p>
Moves the control structure of <code class="computeroutput"><span class="identifier">other</span></code>
</p>
<h5>
<a name="ecv1_operator_bool_bridgehead"></a>
- <span class="phrase"><a name="ecv1_operator_bool"></a></span>
+ <span><a name="ecv1_operator_bool"></a></span>
<a class="link" href="ecv1.html#ecv1_operator_bool">Member function
<code class="computeroutput">operator bool</code>()</a>
</h5>
</pre>
<div class="variablelist">
<p class="title"><b></b></p>
-<dl class="variablelist">
+<dl>
<dt><span class="term">Returns:</span></dt>
<dd><p>
<code class="computeroutput"><span class="keyword">true</span></code> if <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code> points to a control structure.
</p>
<h5>
<a name="ecv1_operator_not_bridgehead"></a>
- <span class="phrase"><a name="ecv1_operator_not"></a></span>
+ <span><a name="ecv1_operator_not"></a></span>
<a class="link" href="ecv1.html#ecv1_operator_not">Member function
<code class="computeroutput">operator!</code>()</a>
</h5>
</pre>
<div class="variablelist">
<p class="title"><b></b></p>
-<dl class="variablelist">
+<dl>
<dt><span class="term">Returns:</span></dt>
<dd><p>
<code class="computeroutput"><span class="keyword">true</span></code> if <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code> does not point to a control structure.
</p>
<h5>
<a name="ecv1_operator_call_bridgehead"></a>
- <span class="phrase"><a name="ecv1_operator_call"></a></span>
+ <span><a name="ecv1_operator_call"></a></span>
<a class="link" href="ecv1.html#ecv1_operator_call">Member function
<code class="computeroutput">operator()</code>()</a>
</h5>
</pre>
<div class="variablelist">
<p class="title"><b></b></p>
-<dl class="variablelist">
+<dl>
<dt><span class="term">Effects:</span></dt>
<dd><p>
Stores internally the current context data (stack pointer, instruction
</p>
<h5>
<a name="ecv1_operator_call_ontop_bridgehead"></a>
- <span class="phrase"><a name="ecv1_operator_call_ontop"></a></span>
+ <span><a name="ecv1_operator_call_ontop"></a></span>
<a class="link" href="ecv1.html#ecv1_operator_call_ontop">Member
function <code class="computeroutput">operator(exec_ontop_arg_t)</code>()</a>
</h5>
</pre>
<div class="variablelist">
<p class="title"><b></b></p>
-<dl class="variablelist">
+<dl>
<dt><span class="term">Effects:</span></dt>
<dd><p>
Same as <span class="emphasis"><em>execution_context::operator()</em></span>. Additionally,
</p>
<h5>
<a name="ecv1_operator_equal_bridgehead"></a>
- <span class="phrase"><a name="ecv1_operator_equal"></a></span>
+ <span><a name="ecv1_operator_equal"></a></span>
<a class="link" href="ecv1.html#ecv1_operator_equal">Member
function <code class="computeroutput">operator==</code>()</a>
</h5>
</pre>
<div class="variablelist">
<p class="title"><b></b></p>
-<dl class="variablelist">
+<dl>
<dt><span class="term">Returns:</span></dt>
<dd><p>
<code class="computeroutput"><span class="keyword">true</span></code> if <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code> and <code class="computeroutput"><span class="identifier">other</span></code>
</p>
<h5>
<a name="ecv1_operator_notequal_bridgehead"></a>
- <span class="phrase"><a name="ecv1_operator_notequal"></a></span>
+ <span><a name="ecv1_operator_notequal"></a></span>
<a class="link" href="ecv1.html#ecv1_operator_notequal">Member
function <code class="computeroutput">operator!=</code>()</a>
</h5>
</pre>
<div class="variablelist">
<p class="title"><b></b></p>
-<dl class="variablelist">
+<dl>
<dt><span class="term">Returns:</span></dt>
<dd><p>
<code class="computeroutput">! (other == * this)</code>
</p>
<h5>
<a name="ecv1_operator_less_bridgehead"></a>
- <span class="phrase"><a name="ecv1_operator_less"></a></span>
+ <span><a name="ecv1_operator_less"></a></span>
<a class="link" href="ecv1.html#ecv1_operator_less">Member function
<code class="computeroutput">operator<</code>()</a>
</h5>
</pre>
<div class="variablelist">
<p class="title"><b></b></p>
-<dl class="variablelist">
+<dl>
<dt><span class="term">Returns:</span></dt>
<dd><p>
<code class="computeroutput"><span class="keyword">true</span></code> if <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span> <span class="special">!=</span> <span class="identifier">other</span></code> is true and the implementation-defined
</p>
<h5>
<a name="ecv1_operator_greater_bridgehead"></a>
- <span class="phrase"><a name="ecv1_operator_greater"></a></span>
+ <span><a name="ecv1_operator_greater"></a></span>
<a class="link" href="ecv1.html#ecv1_operator_greater">Member
function <code class="computeroutput">operator></code>()</a>
</h5>
</pre>
<div class="variablelist">
<p class="title"><b></b></p>
-<dl class="variablelist">
+<dl>
<dt><span class="term">Returns:</span></dt>
<dd><p>
<code class="computeroutput"><span class="identifier">other</span> <span class="special"><</span>
</p>
<h5>
<a name="ecv1_operator_lesseq_bridgehead"></a>
- <span class="phrase"><a name="ecv1_operator_lesseq"></a></span>
+ <span><a name="ecv1_operator_lesseq"></a></span>
<a class="link" href="ecv1.html#ecv1_operator_lesseq">Member
function <code class="computeroutput">operator<=</code>()</a>
</h5>
</pre>
<div class="variablelist">
<p class="title"><b></b></p>
-<dl class="variablelist">
+<dl>
<dt><span class="term">Returns:</span></dt>
<dd><p>
<code class="computeroutput"><span class="special">!</span> <span class="special">(</span><span class="identifier">other</span> <span class="special"><</span>
</p>
<h5>
<a name="ecv1_operator_greatereq_bridgehead"></a>
- <span class="phrase"><a name="ecv1_operator_greatereq"></a></span>
+ <span><a name="ecv1_operator_greatereq"></a></span>
<a class="link" href="ecv1.html#ecv1_operator_greatereq">Member
function <code class="computeroutput">operator>=</code>()</a>
</h5>
</pre>
<div class="variablelist">
<p class="title"><b></b></p>
-<dl class="variablelist">
+<dl>
<dt><span class="term">Returns:</span></dt>
<dd><p>
<code class="computeroutput"><span class="special">!</span> <span class="special">(*</span>
</p>
<h5>
<a name="ecv1__bridgehead"></a>
- <span class="phrase"><a name="ecv1_"></a></span>
+ <span><a name="ecv1_"></a></span>
<a class="link" href="ecv1.html#ecv1_">Non-member function <code class="computeroutput">operator<<()</code></a>
</h5>
<p>
</pre>
<div class="variablelist">
<p class="title"><b></b></p>
-<dl class="variablelist">
+<dl>
<dt><span class="term">Efects:</span></dt>
<dd><p>
Writes the representation of <code class="computeroutput"><span class="identifier">other</span></code>