mirror of
https://github.com/boostorg/optional.git
synced 2025-07-15 13:26:37 +02:00
Rebuild the numeric/conversion and optional documentation. Which should fix a few links.
[SVN r49259]
This commit is contained in:
@ -14,8 +14,8 @@
|
|||||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
|
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
|
||||||
<td align="center"><a href="../../../../../index.html">Home</a></td>
|
<td align="center"><a href="../../../../../index.html">Home</a></td>
|
||||||
<td align="center"><a href="../../../../libraries.htm">Libraries</a></td>
|
<td align="center"><a href="../../../../libraries.htm">Libraries</a></td>
|
||||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||||
<td align="center"><a href="../../../../../more/index.htm">More</a></td>
|
<td align="center"><a href="../../../../../more/index.htm">More</a></td>
|
||||||
</tr></table>
|
</tr></table>
|
||||||
<hr>
|
<hr>
|
||||||
@ -33,7 +33,7 @@
|
|||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
First, it is functionally similar to a tristate boolean (false,maybe,true)
|
First, it is functionally similar to a tristate boolean (false,maybe,true)
|
||||||
—such as <a href="../../../../tribool/index.html" target="_top">boost::tribool</a>—
|
—such as <a href="../../../../../doc/html/tribool.html" target="_top">boost::tribool</a>—
|
||||||
except that in a tristate boolean, the maybe state <span class="underline">represents
|
except that in a tristate boolean, the maybe state <span class="underline">represents
|
||||||
a valid value</span>, unlike the corresponding state of an uninitialized
|
a valid value</span>, unlike the corresponding state of an uninitialized
|
||||||
<code class="computeroutput"><span class="identifier">optional</span><span class="special"><</span><span class="keyword">bool</span><span class="special">></span></code>. It
|
<code class="computeroutput"><span class="identifier">optional</span><span class="special"><</span><span class="keyword">bool</span><span class="special">></span></code>. It
|
||||||
@ -49,8 +49,7 @@
|
|||||||
lead to subtle errors due to the implicit <code class="computeroutput"><span class="keyword">bool</span></code>
|
lead to subtle errors due to the implicit <code class="computeroutput"><span class="keyword">bool</span></code>
|
||||||
conversion:
|
conversion:
|
||||||
</p>
|
</p>
|
||||||
<pre class="programlisting">
|
<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">foo</span> <span class="special">(</span> <span class="keyword">bool</span> <span class="identifier">v</span> <span class="special">)</span> <span class="special">;</span>
|
||||||
<span class="keyword">void</span> <span class="identifier">foo</span> <span class="special">(</span> <span class="keyword">bool</span> <span class="identifier">v</span> <span class="special">)</span> <span class="special">;</span>
|
|
||||||
<span class="keyword">void</span> <span class="identifier">bar</span><span class="special">()</span>
|
<span class="keyword">void</span> <span class="identifier">bar</span><span class="special">()</span>
|
||||||
<span class="special">{</span>
|
<span class="special">{</span>
|
||||||
<span class="identifier">optional</span><span class="special"><</span><span class="keyword">bool</span><span class="special">></span> <span class="identifier">v</span> <span class="special">=</span> <span class="keyword">try</span><span class="special">();</span>
|
<span class="identifier">optional</span><span class="special"><</span><span class="keyword">bool</span><span class="special">></span> <span class="identifier">v</span> <span class="special">=</span> <span class="keyword">try</span><span class="special">();</span>
|
||||||
|
@ -13,8 +13,8 @@
|
|||||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
|
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
|
||||||
<td align="center"><a href="../../../../../index.html">Home</a></td>
|
<td align="center"><a href="../../../../../index.html">Home</a></td>
|
||||||
<td align="center"><a href="../../../../libraries.htm">Libraries</a></td>
|
<td align="center"><a href="../../../../libraries.htm">Libraries</a></td>
|
||||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||||
<td align="center"><a href="../../../../../more/index.htm">More</a></td>
|
<td align="center"><a href="../../../../../more/index.htm">More</a></td>
|
||||||
</tr></table>
|
</tr></table>
|
||||||
<hr>
|
<hr>
|
||||||
@ -26,7 +26,7 @@
|
|||||||
<a name="boost_optional.acknowledgments"></a><a class="link" href="acknowledgments.html" title="Acknowledgments">Acknowledgments</a>
|
<a name="boost_optional.acknowledgments"></a><a class="link" href="acknowledgments.html" title="Acknowledgments">Acknowledgments</a>
|
||||||
</h2></div></div></div>
|
</h2></div></div></div>
|
||||||
<a name="boost_optional.acknowledgments.pre_formal_review"></a><h4>
|
<a name="boost_optional.acknowledgments.pre_formal_review"></a><h4>
|
||||||
<a name="id2665170"></a>
|
<a name="id2865262"></a>
|
||||||
<a class="link" href="acknowledgments.html#boost_optional.acknowledgments.pre_formal_review">Pre-formal
|
<a class="link" href="acknowledgments.html#boost_optional.acknowledgments.pre_formal_review">Pre-formal
|
||||||
review</a>
|
review</a>
|
||||||
</h4>
|
</h4>
|
||||||
@ -65,7 +65,7 @@
|
|||||||
</li>
|
</li>
|
||||||
</ul></div>
|
</ul></div>
|
||||||
<a name="boost_optional.acknowledgments.post_formal_review"></a><h4>
|
<a name="boost_optional.acknowledgments.post_formal_review"></a><h4>
|
||||||
<a name="id2665241"></a>
|
<a name="id2865331"></a>
|
||||||
<a class="link" href="acknowledgments.html#boost_optional.acknowledgments.post_formal_review">Post-formal
|
<a class="link" href="acknowledgments.html#boost_optional.acknowledgments.post_formal_review">Post-formal
|
||||||
review</a>
|
review</a>
|
||||||
</h4>
|
</h4>
|
||||||
|
@ -14,8 +14,8 @@
|
|||||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
|
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
|
||||||
<td align="center"><a href="../../../../../index.html">Home</a></td>
|
<td align="center"><a href="../../../../../index.html">Home</a></td>
|
||||||
<td align="center"><a href="../../../../libraries.htm">Libraries</a></td>
|
<td align="center"><a href="../../../../libraries.htm">Libraries</a></td>
|
||||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||||
<td align="center"><a href="../../../../../more/index.htm">More</a></td>
|
<td align="center"><a href="../../../../../more/index.htm">More</a></td>
|
||||||
</tr></table>
|
</tr></table>
|
||||||
<hr>
|
<hr>
|
||||||
|
@ -14,8 +14,8 @@
|
|||||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
|
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
|
||||||
<td align="center"><a href="../../../../../index.html">Home</a></td>
|
<td align="center"><a href="../../../../../index.html">Home</a></td>
|
||||||
<td align="center"><a href="../../../../libraries.htm">Libraries</a></td>
|
<td align="center"><a href="../../../../libraries.htm">Libraries</a></td>
|
||||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||||
<td align="center"><a href="../../../../../more/index.htm">More</a></td>
|
<td align="center"><a href="../../../../../more/index.htm">More</a></td>
|
||||||
</tr></table>
|
</tr></table>
|
||||||
<hr>
|
<hr>
|
||||||
@ -64,7 +64,7 @@
|
|||||||
<span class="inlinemediaobject"><img src="../images/space.png" alt="space"></span>
|
<span class="inlinemediaobject"><img src="../images/space.png" alt="space"></span>
|
||||||
</p>
|
</p>
|
||||||
<a name="boost_optional.detailed_semantics.optional_class_member_functions"></a><h4>
|
<a name="boost_optional.detailed_semantics.optional_class_member_functions"></a><h4>
|
||||||
<a name="id2640940"></a>
|
<a name="id2841077"></a>
|
||||||
<a class="link" href="detailed_semantics.html#boost_optional.detailed_semantics.optional_class_member_functions">optional
|
<a class="link" href="detailed_semantics.html#boost_optional.detailed_semantics.optional_class_member_functions">optional
|
||||||
class member functions</a>
|
class member functions</a>
|
||||||
</h4>
|
</h4>
|
||||||
@ -97,8 +97,7 @@
|
|||||||
called.
|
called.
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<span class="bold"><strong>Example:</strong></span><pre class="programlisting">
|
<span class="bold"><strong>Example:</strong></span><pre class="programlisting"><span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="identifier">def</span> <span class="special">;</span>
|
||||||
<span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="identifier">def</span> <span class="special">;</span>
|
|
||||||
<span class="identifier">assert</span> <span class="special">(</span> <span class="special">!</span><span class="identifier">def</span> <span class="special">)</span> <span class="special">;</span>
|
<span class="identifier">assert</span> <span class="special">(</span> <span class="special">!</span><span class="identifier">def</span> <span class="special">)</span> <span class="special">;</span>
|
||||||
</pre>
|
</pre>
|
||||||
</li>
|
</li>
|
||||||
@ -134,8 +133,7 @@
|
|||||||
The expression <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">none</span></code> denotes an instance of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">none_t</span></code> that can be used as the parameter.
|
The expression <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">none</span></code> denotes an instance of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">none_t</span></code> that can be used as the parameter.
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<span class="bold"><strong>Example:</strong></span><pre class="programlisting">
|
<span class="bold"><strong>Example:</strong></span><pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">none</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">none</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
|
||||||
<span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="identifier">n</span><span class="special">(</span><span class="identifier">none</span><span class="special">)</span> <span class="special">;</span>
|
<span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="identifier">n</span><span class="special">(</span><span class="identifier">none</span><span class="special">)</span> <span class="special">;</span>
|
||||||
<span class="identifier">assert</span> <span class="special">(</span> <span class="special">!</span><span class="identifier">n</span> <span class="special">)</span> <span class="special">;</span>
|
<span class="identifier">assert</span> <span class="special">(</span> <span class="special">!</span><span class="identifier">n</span> <span class="special">)</span> <span class="special">;</span>
|
||||||
</pre>
|
</pre>
|
||||||
@ -180,8 +178,7 @@
|
|||||||
has no effect.
|
has no effect.
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<span class="bold"><strong>Example:</strong></span><pre class="programlisting">
|
<span class="bold"><strong>Example:</strong></span><pre class="programlisting"><span class="identifier">T</span> <span class="identifier">v</span><span class="special">;</span>
|
||||||
<span class="identifier">T</span> <span class="identifier">v</span><span class="special">;</span>
|
|
||||||
<span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="identifier">opt</span><span class="special">(</span><span class="identifier">v</span><span class="special">);</span>
|
<span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="identifier">opt</span><span class="special">(</span><span class="identifier">v</span><span class="special">);</span>
|
||||||
<span class="identifier">assert</span> <span class="special">(</span> <span class="special">*</span><span class="identifier">opt</span> <span class="special">==</span> <span class="identifier">v</span> <span class="special">)</span> <span class="special">;</span>
|
<span class="identifier">assert</span> <span class="special">(</span> <span class="special">*</span><span class="identifier">opt</span> <span class="special">==</span> <span class="identifier">v</span> <span class="special">)</span> <span class="special">;</span>
|
||||||
</pre>
|
</pre>
|
||||||
@ -212,8 +209,7 @@
|
|||||||
<span class="bold"><strong>Throws:</strong></span> Nothing.
|
<span class="bold"><strong>Throws:</strong></span> Nothing.
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<span class="bold"><strong>Example:</strong></span><pre class="programlisting">
|
<span class="bold"><strong>Example:</strong></span><pre class="programlisting"><span class="identifier">T</span> <span class="identifier">v</span><span class="special">;</span>
|
||||||
<span class="identifier">T</span> <span class="identifier">v</span><span class="special">;</span>
|
|
||||||
<span class="identifier">T</span><span class="special">&</span> <span class="identifier">vref</span> <span class="special">=</span> <span class="identifier">v</span> <span class="special">;</span>
|
<span class="identifier">T</span><span class="special">&</span> <span class="identifier">vref</span> <span class="special">=</span> <span class="identifier">v</span> <span class="special">;</span>
|
||||||
<span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">&></span> <span class="identifier">opt</span><span class="special">(</span><span class="identifier">vref</span><span class="special">);</span>
|
<span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">&></span> <span class="identifier">opt</span><span class="special">(</span><span class="identifier">vref</span><span class="special">);</span>
|
||||||
<span class="identifier">assert</span> <span class="special">(</span> <span class="special">*</span><span class="identifier">opt</span> <span class="special">==</span> <span class="identifier">v</span> <span class="special">)</span> <span class="special">;</span>
|
<span class="identifier">assert</span> <span class="special">(</span> <span class="special">*</span><span class="identifier">opt</span> <span class="special">==</span> <span class="identifier">v</span> <span class="special">)</span> <span class="special">;</span>
|
||||||
@ -338,8 +334,7 @@
|
|||||||
has no effect.
|
has no effect.
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<span class="bold"><strong>Example:</strong></span><pre class="programlisting">
|
<span class="bold"><strong>Example:</strong></span><pre class="programlisting"><span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="identifier">uninit</span> <span class="special">;</span>
|
||||||
<span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="identifier">uninit</span> <span class="special">;</span>
|
|
||||||
<span class="identifier">assert</span> <span class="special">(!</span><span class="identifier">uninit</span><span class="special">);</span>
|
<span class="identifier">assert</span> <span class="special">(!</span><span class="identifier">uninit</span><span class="special">);</span>
|
||||||
|
|
||||||
<span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="identifier">uinit2</span> <span class="special">(</span> <span class="identifier">uninit</span> <span class="special">)</span> <span class="special">;</span>
|
<span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="identifier">uinit2</span> <span class="special">(</span> <span class="identifier">uninit</span> <span class="special">)</span> <span class="special">;</span>
|
||||||
@ -387,8 +382,7 @@
|
|||||||
will reefer to the same object (they alias).
|
will reefer to the same object (they alias).
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<span class="bold"><strong>Example:</strong></span><pre class="programlisting">
|
<span class="bold"><strong>Example:</strong></span><pre class="programlisting"><span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">&></span> <span class="identifier">uninit</span> <span class="special">;</span>
|
||||||
<span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">&></span> <span class="identifier">uninit</span> <span class="special">;</span>
|
|
||||||
<span class="identifier">assert</span> <span class="special">(!</span><span class="identifier">uninit</span><span class="special">);</span>
|
<span class="identifier">assert</span> <span class="special">(!</span><span class="identifier">uninit</span><span class="special">);</span>
|
||||||
|
|
||||||
<span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">&></span> <span class="identifier">uinit2</span> <span class="special">(</span> <span class="identifier">uninit</span> <span class="special">)</span> <span class="special">;</span>
|
<span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">&></span> <span class="identifier">uinit2</span> <span class="special">(</span> <span class="identifier">uninit</span> <span class="special">)</span> <span class="special">;</span>
|
||||||
@ -454,8 +448,7 @@
|
|||||||
has no effect.
|
has no effect.
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<span class="bold"><strong>Example:</strong></span><pre class="programlisting">
|
<span class="bold"><strong>Example:</strong></span><pre class="programlisting"><span class="identifier">optional</span><span class="special"><</span><span class="keyword">double</span><span class="special">></span> <span class="identifier">x</span><span class="special">(</span><span class="number">123.4</span><span class="special">);</span>
|
||||||
<span class="identifier">optional</span><span class="special"><</span><span class="keyword">double</span><span class="special">></span> <span class="identifier">x</span><span class="special">(</span><span class="number">123.4</span><span class="special">);</span>
|
|
||||||
<span class="identifier">assert</span> <span class="special">(</span> <span class="special">*</span><span class="identifier">x</span> <span class="special">==</span> <span class="number">123.4</span> <span class="special">)</span> <span class="special">;</span>
|
<span class="identifier">assert</span> <span class="special">(</span> <span class="special">*</span><span class="identifier">x</span> <span class="special">==</span> <span class="number">123.4</span> <span class="special">)</span> <span class="special">;</span>
|
||||||
|
|
||||||
<span class="identifier">optional</span><span class="special"><</span><span class="keyword">int</span><span class="special">></span> <span class="identifier">y</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span> <span class="special">;</span>
|
<span class="identifier">optional</span><span class="special"><</span><span class="keyword">int</span><span class="special">></span> <span class="identifier">y</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span> <span class="special">;</span>
|
||||||
@ -515,8 +508,7 @@
|
|||||||
constructor used by the factory; in that case, this constructor has no effect.
|
constructor used by the factory; in that case, this constructor has no effect.
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<span class="bold"><strong>Example:</strong></span><pre class="programlisting">
|
<span class="bold"><strong>Example:</strong></span><pre class="programlisting"><span class="keyword">class</span> <span class="identifier">C</span> <span class="special">{</span> <span class="identifier">C</span> <span class="special">(</span> <span class="keyword">char</span><span class="special">,</span> <span class="keyword">double</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">)</span> <span class="special">;</span> <span class="special">}</span> <span class="special">;</span>
|
||||||
<span class="keyword">class</span> <span class="identifier">C</span> <span class="special">{</span> <span class="identifier">C</span> <span class="special">(</span> <span class="keyword">char</span><span class="special">,</span> <span class="keyword">double</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">)</span> <span class="special">;</span> <span class="special">}</span> <span class="special">;</span>
|
|
||||||
|
|
||||||
<span class="identifier">C</span> <span class="identifier">v</span><span class="special">(</span><span class="char">'A'</span><span class="special">,</span><span class="number">123.4</span><span class="special">,</span><span class="string">"hello"</span><span class="special">);</span>
|
<span class="identifier">C</span> <span class="identifier">v</span><span class="special">(</span><span class="char">'A'</span><span class="special">,</span><span class="number">123.4</span><span class="special">,</span><span class="string">"hello"</span><span class="special">);</span>
|
||||||
|
|
||||||
@ -574,8 +566,7 @@
|
|||||||
<span class="emphasis"><em>copy constructor</em></span> fails, <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code> is left properly uninitialized.
|
<span class="emphasis"><em>copy constructor</em></span> fails, <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code> is left properly uninitialized.
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<span class="bold"><strong>Example:</strong></span><pre class="programlisting">
|
<span class="bold"><strong>Example:</strong></span><pre class="programlisting"><span class="identifier">T</span> <span class="identifier">x</span><span class="special">;</span>
|
||||||
<span class="identifier">T</span> <span class="identifier">x</span><span class="special">;</span>
|
|
||||||
<span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="identifier">def</span> <span class="special">;</span>
|
<span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="identifier">def</span> <span class="special">;</span>
|
||||||
<span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="identifier">opt</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span> <span class="special">;</span>
|
<span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="identifier">opt</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span> <span class="special">;</span>
|
||||||
|
|
||||||
@ -617,8 +608,7 @@
|
|||||||
details on this behavior.
|
details on this behavior.
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<span class="bold"><strong>Example:</strong></span><pre class="programlisting">
|
<span class="bold"><strong>Example:</strong></span><pre class="programlisting"><span class="keyword">int</span> <span class="identifier">a</span> <span class="special">=</span> <span class="number">1</span> <span class="special">;</span>
|
||||||
<span class="keyword">int</span> <span class="identifier">a</span> <span class="special">=</span> <span class="number">1</span> <span class="special">;</span>
|
|
||||||
<span class="keyword">int</span> <span class="identifier">b</span> <span class="special">=</span> <span class="number">2</span> <span class="special">;</span>
|
<span class="keyword">int</span> <span class="identifier">b</span> <span class="special">=</span> <span class="number">2</span> <span class="special">;</span>
|
||||||
<span class="identifier">T</span><span class="special">&</span> <span class="identifier">ra</span> <span class="special">=</span> <span class="identifier">a</span> <span class="special">;</span>
|
<span class="identifier">T</span><span class="special">&</span> <span class="identifier">ra</span> <span class="special">=</span> <span class="identifier">a</span> <span class="special">;</span>
|
||||||
<span class="identifier">T</span><span class="special">&</span> <span class="identifier">rb</span> <span class="special">=</span> <span class="identifier">b</span> <span class="special">;</span>
|
<span class="identifier">T</span><span class="special">&</span> <span class="identifier">rb</span> <span class="special">=</span> <span class="identifier">b</span> <span class="special">;</span>
|
||||||
@ -687,8 +677,7 @@
|
|||||||
<span class="emphasis"><em>copy constructor</em></span> fails, <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code> is left properly uninitialized.
|
<span class="emphasis"><em>copy constructor</em></span> fails, <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code> is left properly uninitialized.
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<span class="bold"><strong>Example:</strong></span><pre class="programlisting">
|
<span class="bold"><strong>Example:</strong></span><pre class="programlisting"><span class="identifier">T</span> <span class="identifier">v</span><span class="special">;</span>
|
||||||
<span class="identifier">T</span> <span class="identifier">v</span><span class="special">;</span>
|
|
||||||
<span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="identifier">opt</span><span class="special">(</span><span class="identifier">v</span><span class="special">);</span>
|
<span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="identifier">opt</span><span class="special">(</span><span class="identifier">v</span><span class="special">);</span>
|
||||||
<span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="identifier">def</span> <span class="special">;</span>
|
<span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="identifier">def</span> <span class="special">;</span>
|
||||||
|
|
||||||
@ -725,8 +714,7 @@
|
|||||||
for details on this behavior.
|
for details on this behavior.
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<span class="bold"><strong>Example:</strong></span><pre class="programlisting">
|
<span class="bold"><strong>Example:</strong></span><pre class="programlisting"><span class="keyword">int</span> <span class="identifier">a</span> <span class="special">=</span> <span class="number">1</span> <span class="special">;</span>
|
||||||
<span class="keyword">int</span> <span class="identifier">a</span> <span class="special">=</span> <span class="number">1</span> <span class="special">;</span>
|
|
||||||
<span class="keyword">int</span> <span class="identifier">b</span> <span class="special">=</span> <span class="number">2</span> <span class="special">;</span>
|
<span class="keyword">int</span> <span class="identifier">b</span> <span class="special">=</span> <span class="number">2</span> <span class="special">;</span>
|
||||||
<span class="identifier">T</span><span class="special">&</span> <span class="identifier">ra</span> <span class="special">=</span> <span class="identifier">a</span> <span class="special">;</span>
|
<span class="identifier">T</span><span class="special">&</span> <span class="identifier">ra</span> <span class="special">=</span> <span class="identifier">a</span> <span class="special">;</span>
|
||||||
<span class="identifier">T</span><span class="special">&</span> <span class="identifier">rb</span> <span class="special">=</span> <span class="identifier">b</span> <span class="special">;</span>
|
<span class="identifier">T</span><span class="special">&</span> <span class="identifier">rb</span> <span class="special">=</span> <span class="identifier">b</span> <span class="special">;</span>
|
||||||
@ -800,8 +788,7 @@
|
|||||||
converting constructor fails, <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code> is left properly uninitialized.
|
converting constructor fails, <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code> is left properly uninitialized.
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<span class="bold"><strong>Example:</strong></span><pre class="programlisting">
|
<span class="bold"><strong>Example:</strong></span><pre class="programlisting"><span class="identifier">T</span> <span class="identifier">v</span><span class="special">;</span>
|
||||||
<span class="identifier">T</span> <span class="identifier">v</span><span class="special">;</span>
|
|
||||||
<span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="identifier">opt0</span><span class="special">(</span><span class="identifier">v</span><span class="special">);</span>
|
<span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="identifier">opt0</span><span class="special">(</span><span class="identifier">v</span><span class="special">);</span>
|
||||||
<span class="identifier">optional</span><span class="special"><</span><span class="identifier">U</span><span class="special">></span> <span class="identifier">opt1</span><span class="special">;</span>
|
<span class="identifier">optional</span><span class="special"><</span><span class="identifier">U</span><span class="special">></span> <span class="identifier">opt1</span><span class="special">;</span>
|
||||||
|
|
||||||
@ -930,8 +917,7 @@
|
|||||||
<code class="computeroutput"><span class="identifier">BOOST_ASSERT</span><span class="special">()</span></code>.
|
<code class="computeroutput"><span class="identifier">BOOST_ASSERT</span><span class="special">()</span></code>.
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<span class="bold"><strong>Example:</strong></span><pre class="programlisting">
|
<span class="bold"><strong>Example:</strong></span><pre class="programlisting"><span class="identifier">T</span> <span class="identifier">v</span> <span class="special">;</span>
|
||||||
<span class="identifier">T</span> <span class="identifier">v</span> <span class="special">;</span>
|
|
||||||
<span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="identifier">opt</span> <span class="special">(</span> <span class="identifier">v</span> <span class="special">);</span>
|
<span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="identifier">opt</span> <span class="special">(</span> <span class="identifier">v</span> <span class="special">);</span>
|
||||||
<span class="identifier">T</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">u</span> <span class="special">=</span> <span class="special">*</span><span class="identifier">opt</span><span class="special">;</span>
|
<span class="identifier">T</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">u</span> <span class="special">=</span> <span class="special">*</span><span class="identifier">opt</span><span class="special">;</span>
|
||||||
<span class="identifier">assert</span> <span class="special">(</span> <span class="identifier">u</span> <span class="special">==</span> <span class="identifier">v</span> <span class="special">)</span> <span class="special">;</span>
|
<span class="identifier">assert</span> <span class="special">(</span> <span class="identifier">u</span> <span class="special">==</span> <span class="identifier">v</span> <span class="special">)</span> <span class="special">;</span>
|
||||||
@ -1005,8 +991,7 @@
|
|||||||
<span class="bold"><strong>Throws:</strong></span> Nothing.
|
<span class="bold"><strong>Throws:</strong></span> Nothing.
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<span class="bold"><strong>Example:</strong></span><pre class="programlisting">
|
<span class="bold"><strong>Example:</strong></span><pre class="programlisting"><span class="identifier">T</span> <span class="identifier">v</span><span class="special">,</span> <span class="identifier">z</span> <span class="special">;</span>
|
||||||
<span class="identifier">T</span> <span class="identifier">v</span><span class="special">,</span> <span class="identifier">z</span> <span class="special">;</span>
|
|
||||||
<span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="identifier">def</span><span class="special">;</span>
|
<span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="identifier">def</span><span class="special">;</span>
|
||||||
<span class="identifier">T</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">y</span> <span class="special">=</span> <span class="identifier">def</span><span class="special">.</span><span class="identifier">get_value_or</span><span class="special">(</span><span class="identifier">z</span><span class="special">);</span>
|
<span class="identifier">T</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">y</span> <span class="special">=</span> <span class="identifier">def</span><span class="special">.</span><span class="identifier">get_value_or</span><span class="special">(</span><span class="identifier">z</span><span class="special">);</span>
|
||||||
<span class="identifier">assert</span> <span class="special">(</span> <span class="identifier">y</span> <span class="special">==</span> <span class="identifier">z</span> <span class="special">)</span> <span class="special">;</span>
|
<span class="identifier">assert</span> <span class="special">(</span> <span class="identifier">y</span> <span class="special">==</span> <span class="identifier">z</span> <span class="special">)</span> <span class="special">;</span>
|
||||||
@ -1099,8 +1084,7 @@
|
|||||||
<code class="computeroutput"><span class="identifier">BOOST_ASSERT</span><span class="special">()</span></code>.
|
<code class="computeroutput"><span class="identifier">BOOST_ASSERT</span><span class="special">()</span></code>.
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<span class="bold"><strong>Example:</strong></span><pre class="programlisting">
|
<span class="bold"><strong>Example:</strong></span><pre class="programlisting"><span class="identifier">T</span> <span class="identifier">v</span> <span class="special">;</span>
|
||||||
<span class="identifier">T</span> <span class="identifier">v</span> <span class="special">;</span>
|
|
||||||
<span class="identifier">T</span><span class="special">&</span> <span class="identifier">vref</span> <span class="special">=</span> <span class="identifier">v</span> <span class="special">;</span>
|
<span class="identifier">T</span><span class="special">&</span> <span class="identifier">vref</span> <span class="special">=</span> <span class="identifier">v</span> <span class="special">;</span>
|
||||||
<span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">&></span> <span class="identifier">opt</span> <span class="special">(</span> <span class="identifier">vref</span> <span class="special">);</span>
|
<span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">&></span> <span class="identifier">opt</span> <span class="special">(</span> <span class="identifier">vref</span> <span class="special">);</span>
|
||||||
<span class="identifier">T</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">vref2</span> <span class="special">=</span> <span class="special">*</span><span class="identifier">opt</span><span class="special">;</span>
|
<span class="identifier">T</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">vref2</span> <span class="special">=</span> <span class="special">*</span><span class="identifier">opt</span><span class="special">;</span>
|
||||||
@ -1173,8 +1157,7 @@
|
|||||||
so you should not hold nor delete this pointer
|
so you should not hold nor delete this pointer
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<span class="bold"><strong>Example:</strong></span><pre class="programlisting">
|
<span class="bold"><strong>Example:</strong></span><pre class="programlisting"><span class="identifier">T</span> <span class="identifier">v</span><span class="special">;</span>
|
||||||
<span class="identifier">T</span> <span class="identifier">v</span><span class="special">;</span>
|
|
||||||
<span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="identifier">opt</span><span class="special">(</span><span class="identifier">v</span><span class="special">);</span>
|
<span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="identifier">opt</span><span class="special">(</span><span class="identifier">v</span><span class="special">);</span>
|
||||||
<span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="keyword">const</span> <span class="identifier">copt</span><span class="special">(</span><span class="identifier">v</span><span class="special">);</span>
|
<span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="keyword">const</span> <span class="identifier">copt</span><span class="special">(</span><span class="identifier">v</span><span class="special">);</span>
|
||||||
<span class="identifier">T</span><span class="special">*</span> <span class="identifier">p</span> <span class="special">=</span> <span class="identifier">opt</span><span class="special">.</span><span class="identifier">get_ptr</span><span class="special">()</span> <span class="special">;</span>
|
<span class="identifier">T</span><span class="special">*</span> <span class="identifier">p</span> <span class="special">=</span> <span class="identifier">opt</span><span class="special">.</span><span class="identifier">get_ptr</span><span class="special">()</span> <span class="special">;</span>
|
||||||
@ -1226,8 +1209,7 @@
|
|||||||
<code class="computeroutput"><span class="identifier">BOOST_ASSERT</span><span class="special">()</span></code>.
|
<code class="computeroutput"><span class="identifier">BOOST_ASSERT</span><span class="special">()</span></code>.
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<span class="bold"><strong>Example:</strong></span><pre class="programlisting">
|
<span class="bold"><strong>Example:</strong></span><pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">X</span> <span class="special">{</span> <span class="keyword">int</span> <span class="identifier">mdata</span> <span class="special">;</span> <span class="special">}</span> <span class="special">;</span>
|
||||||
<span class="keyword">struct</span> <span class="identifier">X</span> <span class="special">{</span> <span class="keyword">int</span> <span class="identifier">mdata</span> <span class="special">;</span> <span class="special">}</span> <span class="special">;</span>
|
|
||||||
<span class="identifier">X</span> <span class="identifier">x</span> <span class="special">;</span>
|
<span class="identifier">X</span> <span class="identifier">x</span> <span class="special">;</span>
|
||||||
<span class="identifier">optional</span><span class="special"><</span><span class="identifier">X</span><span class="special">></span> <span class="identifier">opt</span> <span class="special">(</span><span class="identifier">x</span><span class="special">);</span>
|
<span class="identifier">optional</span><span class="special"><</span><span class="identifier">X</span><span class="special">></span> <span class="identifier">opt</span> <span class="special">(</span><span class="identifier">x</span><span class="special">);</span>
|
||||||
<span class="identifier">opt</span><span class="special">-></span><span class="identifier">mdata</span> <span class="special">=</span> <span class="number">2</span> <span class="special">;</span>
|
<span class="identifier">opt</span><span class="special">-></span><span class="identifier">mdata</span> <span class="special">=</span> <span class="number">2</span> <span class="special">;</span>
|
||||||
@ -1257,8 +1239,7 @@
|
|||||||
<span class="bold"><strong>Throws:</strong></span> Nothing.
|
<span class="bold"><strong>Throws:</strong></span> Nothing.
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<span class="bold"><strong>Example:</strong></span><pre class="programlisting">
|
<span class="bold"><strong>Example:</strong></span><pre class="programlisting"><span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="identifier">def</span> <span class="special">;</span>
|
||||||
<span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="identifier">def</span> <span class="special">;</span>
|
|
||||||
<span class="identifier">assert</span> <span class="special">(</span> <span class="identifier">def</span> <span class="special">==</span> <span class="number">0</span> <span class="special">);</span>
|
<span class="identifier">assert</span> <span class="special">(</span> <span class="identifier">def</span> <span class="special">==</span> <span class="number">0</span> <span class="special">);</span>
|
||||||
<span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="identifier">opt</span> <span class="special">(</span> <span class="identifier">v</span> <span class="special">)</span> <span class="special">;</span>
|
<span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="identifier">opt</span> <span class="special">(</span> <span class="identifier">v</span> <span class="special">)</span> <span class="special">;</span>
|
||||||
<span class="identifier">assert</span> <span class="special">(</span> <span class="identifier">opt</span> <span class="special">);</span>
|
<span class="identifier">assert</span> <span class="special">(</span> <span class="identifier">opt</span> <span class="special">);</span>
|
||||||
@ -1294,8 +1275,7 @@
|
|||||||
in certain boolean contexts.
|
in certain boolean contexts.
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<span class="bold"><strong>Example:</strong></span><pre class="programlisting">
|
<span class="bold"><strong>Example:</strong></span><pre class="programlisting"><span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="identifier">opt</span> <span class="special">;</span>
|
||||||
<span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="identifier">opt</span> <span class="special">;</span>
|
|
||||||
<span class="identifier">assert</span> <span class="special">(</span> <span class="special">!</span><span class="identifier">opt</span> <span class="special">);</span>
|
<span class="identifier">assert</span> <span class="special">(</span> <span class="special">!</span><span class="identifier">opt</span> <span class="special">);</span>
|
||||||
<span class="special">*</span><span class="identifier">opt</span> <span class="special">=</span> <span class="identifier">some_T</span> <span class="special">;</span>
|
<span class="special">*</span><span class="identifier">opt</span> <span class="special">=</span> <span class="identifier">some_T</span> <span class="special">;</span>
|
||||||
|
|
||||||
@ -1328,8 +1308,7 @@
|
|||||||
<span class="bold"><strong>Throws:</strong></span> Nothing.
|
<span class="bold"><strong>Throws:</strong></span> Nothing.
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<span class="bold"><strong>Example:</strong></span><pre class="programlisting">
|
<span class="bold"><strong>Example:</strong></span><pre class="programlisting"><span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="identifier">def</span> <span class="special">;</span>
|
||||||
<span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="identifier">def</span> <span class="special">;</span>
|
|
||||||
<span class="identifier">assert</span> <span class="special">(</span> <span class="special">!</span><span class="identifier">def</span><span class="special">.</span><span class="identifier">is_initialized</span><span class="special">()</span> <span class="special">);</span>
|
<span class="identifier">assert</span> <span class="special">(</span> <span class="special">!</span><span class="identifier">def</span><span class="special">.</span><span class="identifier">is_initialized</span><span class="special">()</span> <span class="special">);</span>
|
||||||
<span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="identifier">opt</span> <span class="special">(</span> <span class="identifier">v</span> <span class="special">)</span> <span class="special">;</span>
|
<span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="identifier">opt</span> <span class="special">(</span> <span class="identifier">v</span> <span class="special">)</span> <span class="special">;</span>
|
||||||
<span class="identifier">assert</span> <span class="special">(</span> <span class="identifier">opt</span><span class="special">.</span><span class="identifier">is_initialized</span><span class="special">()</span> <span class="special">);</span>
|
<span class="identifier">assert</span> <span class="special">(</span> <span class="identifier">opt</span><span class="special">.</span><span class="identifier">is_initialized</span><span class="special">()</span> <span class="special">);</span>
|
||||||
@ -1340,7 +1319,7 @@
|
|||||||
<span class="inlinemediaobject"><img src="../images/space.png" alt="space"></span>
|
<span class="inlinemediaobject"><img src="../images/space.png" alt="space"></span>
|
||||||
</p>
|
</p>
|
||||||
<a name="boost_optional.detailed_semantics.free_functions"></a><h4>
|
<a name="boost_optional.detailed_semantics.free_functions"></a><h4>
|
||||||
<a name="id2653594"></a>
|
<a name="id2853708"></a>
|
||||||
<a class="link" href="detailed_semantics.html#boost_optional.detailed_semantics.free_functions">Free functions</a>
|
<a class="link" href="detailed_semantics.html#boost_optional.detailed_semantics.free_functions">Free functions</a>
|
||||||
</h4>
|
</h4>
|
||||||
<p>
|
<p>
|
||||||
@ -1364,8 +1343,7 @@
|
|||||||
of <code class="computeroutput"><span class="identifier">v</span></code>.
|
of <code class="computeroutput"><span class="identifier">v</span></code>.
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<span class="bold"><strong>Example:</strong></span><pre class="programlisting">
|
<span class="bold"><strong>Example:</strong></span><pre class="programlisting"><span class="keyword">template</span><span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span> <span class="keyword">void</span> <span class="identifier">foo</span> <span class="special">(</span> <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">opt</span> <span class="special">)</span> <span class="special">;</span>
|
||||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span> <span class="keyword">void</span> <span class="identifier">foo</span> <span class="special">(</span> <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">opt</span> <span class="special">)</span> <span class="special">;</span>
|
|
||||||
|
|
||||||
<span class="identifier">foo</span> <span class="special">(</span> <span class="identifier">make_optional</span><span class="special">(</span><span class="number">1</span><span class="special">+</span><span class="number">1</span><span class="special">)</span> <span class="special">)</span> <span class="special">;</span> <span class="comment">// Creates an optional<int>
|
<span class="identifier">foo</span> <span class="special">(</span> <span class="identifier">make_optional</span><span class="special">(</span><span class="number">1</span><span class="special">+</span><span class="number">1</span><span class="special">)</span> <span class="special">)</span> <span class="special">;</span> <span class="comment">// Creates an optional<int>
|
||||||
</span></pre>
|
</span></pre>
|
||||||
@ -1393,8 +1371,7 @@
|
|||||||
of <code class="computeroutput"><span class="identifier">v</span></code>.
|
of <code class="computeroutput"><span class="identifier">v</span></code>.
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<span class="bold"><strong>Example:</strong></span><pre class="programlisting">
|
<span class="bold"><strong>Example:</strong></span><pre class="programlisting"><span class="identifier">optional</span><span class="special"><</span><span class="keyword">double</span><span class="special">></span> <span class="identifier">calculate_foo</span><span class="special">()</span>
|
||||||
<span class="identifier">optional</span><span class="special"><</span><span class="keyword">double</span><span class="special">></span> <span class="identifier">calculate_foo</span><span class="special">()</span>
|
|
||||||
<span class="special">{</span>
|
<span class="special">{</span>
|
||||||
<span class="keyword">double</span> <span class="identifier">val</span> <span class="special">=</span> <span class="identifier">compute_foo</span><span class="special">();</span>
|
<span class="keyword">double</span> <span class="identifier">val</span> <span class="special">=</span> <span class="identifier">compute_foo</span><span class="special">();</span>
|
||||||
<span class="keyword">return</span> <span class="identifier">make_optional</span><span class="special">(</span><span class="identifier">is_not_nan_and_finite</span><span class="special">(</span><span class="identifier">val</span><span class="special">),</span><span class="identifier">val</span><span class="special">);</span>
|
<span class="keyword">return</span> <span class="identifier">make_optional</span><span class="special">(</span><span class="identifier">is_not_nan_and_finite</span><span class="special">(</span><span class="identifier">val</span><span class="special">),</span><span class="identifier">val</span><span class="special">);</span>
|
||||||
@ -1441,8 +1418,7 @@
|
|||||||
instead
|
instead
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<span class="bold"><strong>Example:</strong></span><pre class="programlisting">
|
<span class="bold"><strong>Example:</strong></span><pre class="programlisting"><span class="identifier">T</span> <span class="identifier">x</span><span class="special">(</span><span class="number">12</span><span class="special">);</span>
|
||||||
<span class="identifier">T</span> <span class="identifier">x</span><span class="special">(</span><span class="number">12</span><span class="special">);</span>
|
|
||||||
<span class="identifier">T</span> <span class="identifier">y</span><span class="special">(</span><span class="number">12</span><span class="special">);</span>
|
<span class="identifier">T</span> <span class="identifier">y</span><span class="special">(</span><span class="number">12</span><span class="special">);</span>
|
||||||
<span class="identifier">T</span> <span class="identifier">z</span><span class="special">(</span><span class="number">21</span><span class="special">);</span>
|
<span class="identifier">T</span> <span class="identifier">z</span><span class="special">(</span><span class="number">21</span><span class="special">);</span>
|
||||||
<span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="identifier">def0</span> <span class="special">;</span>
|
<span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="identifier">def0</span> <span class="special">;</span>
|
||||||
@ -1503,8 +1479,7 @@
|
|||||||
instead.
|
instead.
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<span class="bold"><strong>Example:</strong></span><pre class="programlisting">
|
<span class="bold"><strong>Example:</strong></span><pre class="programlisting"><span class="identifier">T</span> <span class="identifier">x</span><span class="special">(</span><span class="number">12</span><span class="special">);</span>
|
||||||
<span class="identifier">T</span> <span class="identifier">x</span><span class="special">(</span><span class="number">12</span><span class="special">);</span>
|
|
||||||
<span class="identifier">T</span> <span class="identifier">y</span><span class="special">(</span><span class="number">34</span><span class="special">);</span>
|
<span class="identifier">T</span> <span class="identifier">y</span><span class="special">(</span><span class="number">34</span><span class="special">);</span>
|
||||||
<span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="identifier">def</span> <span class="special">;</span>
|
<span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="identifier">def</span> <span class="special">;</span>
|
||||||
<span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="identifier">optX</span><span class="special">(</span><span class="identifier">x</span><span class="special">);</span>
|
<span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="identifier">optX</span><span class="special">(</span><span class="identifier">x</span><span class="special">);</span>
|
||||||
@ -1674,8 +1649,7 @@
|
|||||||
If only one is initialized, it has the same basic guarantee as <code class="computeroutput"><span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">reset</span><span class="special">(</span> <span class="identifier">T</span> <span class="keyword">const</span><span class="special">&</span> <span class="special">)</span></code>.
|
If only one is initialized, it has the same basic guarantee as <code class="computeroutput"><span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">reset</span><span class="special">(</span> <span class="identifier">T</span> <span class="keyword">const</span><span class="special">&</span> <span class="special">)</span></code>.
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<span class="bold"><strong>Example:</strong></span><pre class="programlisting">
|
<span class="bold"><strong>Example:</strong></span><pre class="programlisting"><span class="identifier">T</span> <span class="identifier">x</span><span class="special">(</span><span class="number">12</span><span class="special">);</span>
|
||||||
<span class="identifier">T</span> <span class="identifier">x</span><span class="special">(</span><span class="number">12</span><span class="special">);</span>
|
|
||||||
<span class="identifier">T</span> <span class="identifier">y</span><span class="special">(</span><span class="number">21</span><span class="special">);</span>
|
<span class="identifier">T</span> <span class="identifier">y</span><span class="special">(</span><span class="number">21</span><span class="special">);</span>
|
||||||
<span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="identifier">def0</span> <span class="special">;</span>
|
<span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="identifier">def0</span> <span class="special">;</span>
|
||||||
<span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="identifier">def1</span> <span class="special">;</span>
|
<span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="identifier">def1</span> <span class="special">;</span>
|
||||||
|
@ -14,8 +14,8 @@
|
|||||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
|
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
|
||||||
<td align="center"><a href="../../../../../index.html">Home</a></td>
|
<td align="center"><a href="../../../../../index.html">Home</a></td>
|
||||||
<td align="center"><a href="../../../../libraries.htm">Libraries</a></td>
|
<td align="center"><a href="../../../../libraries.htm">Libraries</a></td>
|
||||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||||
<td align="center"><a href="../../../../../more/index.htm">More</a></td>
|
<td align="center"><a href="../../../../../more/index.htm">More</a></td>
|
||||||
</tr></table>
|
</tr></table>
|
||||||
<hr>
|
<hr>
|
||||||
@ -292,7 +292,7 @@
|
|||||||
itself which are supported by a special interface.
|
itself which are supported by a special interface.
|
||||||
</p>
|
</p>
|
||||||
<a name="boost_optional.development.the_interface.lexically_hinted_value_access_in_the_presence_of_possibly_untitialized_optional_objects__the_operators___and___gt_"></a><h5>
|
<a name="boost_optional.development.the_interface.lexically_hinted_value_access_in_the_presence_of_possibly_untitialized_optional_objects__the_operators___and___gt_"></a><h5>
|
||||||
<a name="id2636515"></a>
|
<a name="id2836653"></a>
|
||||||
<a class="link" href="development.html#boost_optional.development.the_interface.lexically_hinted_value_access_in_the_presence_of_possibly_untitialized_optional_objects__the_operators___and___gt_">Lexically-hinted
|
<a class="link" href="development.html#boost_optional.development.the_interface.lexically_hinted_value_access_in_the_presence_of_possibly_untitialized_optional_objects__the_operators___and___gt_">Lexically-hinted
|
||||||
Value Access in the presence of possibly untitialized optional objects: The
|
Value Access in the presence of possibly untitialized optional objects: The
|
||||||
operators * and -></a>
|
operators * and -></a>
|
||||||
@ -357,7 +357,7 @@
|
|||||||
incarnated by pointers.
|
incarnated by pointers.
|
||||||
</p>
|
</p>
|
||||||
<a name="boost_optional.development.the_interface.optional_lt_t_gt__as_a_model_of_optionalpointee"></a><h5>
|
<a name="boost_optional.development.the_interface.optional_lt_t_gt__as_a_model_of_optionalpointee"></a><h5>
|
||||||
<a name="id2636825"></a>
|
<a name="id2836963"></a>
|
||||||
<a class="link" href="development.html#boost_optional.development.the_interface.optional_lt_t_gt__as_a_model_of_optionalpointee">Optional<T>
|
<a class="link" href="development.html#boost_optional.development.the_interface.optional_lt_t_gt__as_a_model_of_optionalpointee">Optional<T>
|
||||||
as a model of OptionalPointee</a>
|
as a model of OptionalPointee</a>
|
||||||
</h5>
|
</h5>
|
||||||
|
@ -14,8 +14,8 @@
|
|||||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
|
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
|
||||||
<td align="center"><a href="../../../../../index.html">Home</a></td>
|
<td align="center"><a href="../../../../../index.html">Home</a></td>
|
||||||
<td align="center"><a href="../../../../libraries.htm">Libraries</a></td>
|
<td align="center"><a href="../../../../libraries.htm">Libraries</a></td>
|
||||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||||
<td align="center"><a href="../../../../../more/index.htm">More</a></td>
|
<td align="center"><a href="../../../../../more/index.htm">More</a></td>
|
||||||
</tr></table>
|
</tr></table>
|
||||||
<hr>
|
<hr>
|
||||||
@ -41,8 +41,7 @@
|
|||||||
<a name="boost_optional.examples.optional_return_values"></a><a class="link" href="examples.html#boost_optional.examples.optional_return_values" title="Optional return values">Optional
|
<a name="boost_optional.examples.optional_return_values"></a><a class="link" href="examples.html#boost_optional.examples.optional_return_values" title="Optional return values">Optional
|
||||||
return values</a>
|
return values</a>
|
||||||
</h3></div></div></div>
|
</h3></div></div></div>
|
||||||
<pre class="programlisting">
|
<pre class="programlisting"><span class="identifier">optional</span><span class="special"><</span><span class="keyword">char</span><span class="special">></span> <span class="identifier">get_async_input</span><span class="special">()</span>
|
||||||
<span class="identifier">optional</span><span class="special"><</span><span class="keyword">char</span><span class="special">></span> <span class="identifier">get_async_input</span><span class="special">()</span>
|
|
||||||
<span class="special">{</span>
|
<span class="special">{</span>
|
||||||
<span class="keyword">if</span> <span class="special">(</span> <span class="special">!</span><span class="identifier">queue</span><span class="special">.</span><span class="identifier">empty</span><span class="special">()</span> <span class="special">)</span>
|
<span class="keyword">if</span> <span class="special">(</span> <span class="special">!</span><span class="identifier">queue</span><span class="special">.</span><span class="identifier">empty</span><span class="special">()</span> <span class="special">)</span>
|
||||||
<span class="keyword">return</span> <span class="identifier">optional</span><span class="special"><</span><span class="keyword">char</span><span class="special">>(</span><span class="identifier">queue</span><span class="special">.</span><span class="identifier">top</span><span class="special">());</span>
|
<span class="keyword">return</span> <span class="identifier">optional</span><span class="special"><</span><span class="keyword">char</span><span class="special">>(</span><span class="identifier">queue</span><span class="special">.</span><span class="identifier">top</span><span class="special">());</span>
|
||||||
@ -63,8 +62,7 @@
|
|||||||
<a name="boost_optional.examples.optional_local_variables"></a><a class="link" href="examples.html#boost_optional.examples.optional_local_variables" title="Optional local variables">Optional
|
<a name="boost_optional.examples.optional_local_variables"></a><a class="link" href="examples.html#boost_optional.examples.optional_local_variables" title="Optional local variables">Optional
|
||||||
local variables</a>
|
local variables</a>
|
||||||
</h3></div></div></div>
|
</h3></div></div></div>
|
||||||
<pre class="programlisting">
|
<pre class="programlisting"><span class="identifier">optional</span><span class="special"><</span><span class="identifier">string</span><span class="special">></span> <span class="identifier">name</span> <span class="special">;</span>
|
||||||
<span class="identifier">optional</span><span class="special"><</span><span class="identifier">string</span><span class="special">></span> <span class="identifier">name</span> <span class="special">;</span>
|
|
||||||
<span class="keyword">if</span> <span class="special">(</span> <span class="identifier">database</span><span class="special">.</span><span class="identifier">open</span><span class="special">()</span> <span class="special">)</span>
|
<span class="keyword">if</span> <span class="special">(</span> <span class="identifier">database</span><span class="special">.</span><span class="identifier">open</span><span class="special">()</span> <span class="special">)</span>
|
||||||
<span class="special">{</span>
|
<span class="special">{</span>
|
||||||
<span class="identifier">name</span><span class="special">.</span><span class="identifier">reset</span> <span class="special">(</span> <span class="identifier">database</span><span class="special">.</span><span class="identifier">lookup</span><span class="special">(</span><span class="identifier">employer_name</span><span class="special">)</span> <span class="special">)</span> <span class="special">;</span>
|
<span class="identifier">name</span><span class="special">.</span><span class="identifier">reset</span> <span class="special">(</span> <span class="identifier">database</span><span class="special">.</span><span class="identifier">lookup</span><span class="special">(</span><span class="identifier">employer_name</span><span class="special">)</span> <span class="special">)</span> <span class="special">;</span>
|
||||||
@ -85,8 +83,7 @@
|
|||||||
<a name="boost_optional.examples.optional_data_members"></a><a class="link" href="examples.html#boost_optional.examples.optional_data_members" title="Optional data members">Optional
|
<a name="boost_optional.examples.optional_data_members"></a><a class="link" href="examples.html#boost_optional.examples.optional_data_members" title="Optional data members">Optional
|
||||||
data members</a>
|
data members</a>
|
||||||
</h3></div></div></div>
|
</h3></div></div></div>
|
||||||
<pre class="programlisting">
|
<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">figure</span>
|
||||||
<span class="keyword">class</span> <span class="identifier">figure</span>
|
|
||||||
<span class="special">{</span>
|
<span class="special">{</span>
|
||||||
<span class="keyword">public</span><span class="special">:</span>
|
<span class="keyword">public</span><span class="special">:</span>
|
||||||
|
|
||||||
@ -124,8 +121,7 @@
|
|||||||
<a name="boost_optional.examples.bypassing_expensive_unnecessary_default_construction"></a><a class="link" href="examples.html#boost_optional.examples.bypassing_expensive_unnecessary_default_construction" title="Bypassing expensive unnecessary default construction">Bypassing
|
<a name="boost_optional.examples.bypassing_expensive_unnecessary_default_construction"></a><a class="link" href="examples.html#boost_optional.examples.bypassing_expensive_unnecessary_default_construction" title="Bypassing expensive unnecessary default construction">Bypassing
|
||||||
expensive unnecessary default construction</a>
|
expensive unnecessary default construction</a>
|
||||||
</h3></div></div></div>
|
</h3></div></div></div>
|
||||||
<pre class="programlisting">
|
<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">ExpensiveCtor</span> <span class="special">{</span> <span class="special">...</span> <span class="special">}</span> <span class="special">;</span>
|
||||||
<span class="keyword">class</span> <span class="identifier">ExpensiveCtor</span> <span class="special">{</span> <span class="special">...</span> <span class="special">}</span> <span class="special">;</span>
|
|
||||||
<span class="keyword">class</span> <span class="identifier">Fred</span>
|
<span class="keyword">class</span> <span class="identifier">Fred</span>
|
||||||
<span class="special">{</span>
|
<span class="special">{</span>
|
||||||
<span class="identifier">Fred</span><span class="special">()</span> <span class="special">:</span> <span class="identifier">mLargeVector</span><span class="special">(</span><span class="number">10000</span><span class="special">)</span> <span class="special">{}</span>
|
<span class="identifier">Fred</span><span class="special">()</span> <span class="special">:</span> <span class="identifier">mLargeVector</span><span class="special">(</span><span class="number">10000</span><span class="special">)</span> <span class="special">{}</span>
|
||||||
|
@ -14,8 +14,8 @@
|
|||||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
|
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
|
||||||
<td align="center"><a href="../../../../../index.html">Home</a></td>
|
<td align="center"><a href="../../../../../index.html">Home</a></td>
|
||||||
<td align="center"><a href="../../../../libraries.htm">Libraries</a></td>
|
<td align="center"><a href="../../../../libraries.htm">Libraries</a></td>
|
||||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||||
<td align="center"><a href="../../../../../more/index.htm">More</a></td>
|
<td align="center"><a href="../../../../../more/index.htm">More</a></td>
|
||||||
</tr></table>
|
</tr></table>
|
||||||
<hr>
|
<hr>
|
||||||
@ -72,8 +72,7 @@
|
|||||||
know that <code class="computeroutput"><span class="identifier">optional</span></code>'s assignment
|
know that <code class="computeroutput"><span class="identifier">optional</span></code>'s assignment
|
||||||
and reset has the same guarantees.
|
and reset has the same guarantees.
|
||||||
</p>
|
</p>
|
||||||
<pre class="programlisting">
|
<pre class="programlisting"><span class="comment">//
|
||||||
<span class="comment">//
|
|
||||||
</span><span class="comment">// Case 1: Exception thrown during assignment.
|
</span><span class="comment">// Case 1: Exception thrown during assignment.
|
||||||
</span><span class="comment">//
|
</span><span class="comment">//
|
||||||
</span><span class="identifier">T</span> <span class="identifier">v0</span><span class="special">(</span><span class="number">123</span><span class="special">);</span>
|
</span><span class="identifier">T</span> <span class="identifier">v0</span><span class="special">(</span><span class="number">123</span><span class="special">);</span>
|
||||||
@ -113,7 +112,7 @@
|
|||||||
<span class="special">}</span>
|
<span class="special">}</span>
|
||||||
</pre>
|
</pre>
|
||||||
<a name="boost_optional.exception_safety_guarantees.swap"></a><h4>
|
<a name="boost_optional.exception_safety_guarantees.swap"></a><h4>
|
||||||
<a name="id2664646"></a>
|
<a name="id2864737"></a>
|
||||||
<a class="link" href="exception_safety_guarantees.html#boost_optional.exception_safety_guarantees.swap">Swap</a>
|
<a class="link" href="exception_safety_guarantees.html#boost_optional.exception_safety_guarantees.swap">Swap</a>
|
||||||
</h4>
|
</h4>
|
||||||
<p>
|
<p>
|
||||||
|
@ -14,8 +14,8 @@
|
|||||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
|
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
|
||||||
<td align="center"><a href="../../../../../index.html">Home</a></td>
|
<td align="center"><a href="../../../../../index.html">Home</a></td>
|
||||||
<td align="center"><a href="../../../../libraries.htm">Libraries</a></td>
|
<td align="center"><a href="../../../../libraries.htm">Libraries</a></td>
|
||||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||||
<td align="center"><a href="../../../../../more/index.htm">More</a></td>
|
<td align="center"><a href="../../../../../more/index.htm">More</a></td>
|
||||||
</tr></table>
|
</tr></table>
|
||||||
<hr>
|
<hr>
|
||||||
|
@ -14,8 +14,8 @@
|
|||||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
|
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
|
||||||
<td align="center"><a href="../../../../../index.html">Home</a></td>
|
<td align="center"><a href="../../../../../index.html">Home</a></td>
|
||||||
<td align="center"><a href="../../../../libraries.htm">Libraries</a></td>
|
<td align="center"><a href="../../../../libraries.htm">Libraries</a></td>
|
||||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||||
<td align="center"><a href="../../../../../more/index.htm">More</a></td>
|
<td align="center"><a href="../../../../../more/index.htm">More</a></td>
|
||||||
</tr></table>
|
</tr></table>
|
||||||
<hr>
|
<hr>
|
||||||
@ -34,8 +34,7 @@
|
|||||||
but also requires the existence of a fully constructed object, often temporary,
|
but also requires the existence of a fully constructed object, often temporary,
|
||||||
just to follow the copy from:
|
just to follow the copy from:
|
||||||
</p>
|
</p>
|
||||||
<pre class="programlisting">
|
<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">X</span>
|
||||||
<span class="keyword">struct</span> <span class="identifier">X</span>
|
|
||||||
<span class="special">{</span>
|
<span class="special">{</span>
|
||||||
<span class="identifier">X</span> <span class="special">(</span> <span class="keyword">int</span><span class="special">,</span> <span class="identifier">std</span><span class="special">:::</span><span class="identifier">string</span> <span class="special">)</span> <span class="special">;</span>
|
<span class="identifier">X</span> <span class="special">(</span> <span class="keyword">int</span><span class="special">,</span> <span class="identifier">std</span><span class="special">:::</span><span class="identifier">string</span> <span class="special">)</span> <span class="special">;</span>
|
||||||
<span class="special">}</span> <span class="special">;</span>
|
<span class="special">}</span> <span class="special">;</span>
|
||||||
@ -60,8 +59,7 @@
|
|||||||
object right in the container's storage. In this scheme, the user only needs
|
object right in the container's storage. In this scheme, the user only needs
|
||||||
to supply the arguments to the constructor to use in the wrapped object construction.
|
to supply the arguments to the constructor to use in the wrapped object construction.
|
||||||
</p>
|
</p>
|
||||||
<pre class="programlisting">
|
<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">W</span>
|
||||||
<span class="keyword">class</span> <span class="identifier">W</span>
|
|
||||||
<span class="special">{</span>
|
<span class="special">{</span>
|
||||||
<span class="identifier">X</span> <span class="identifier">wrapped_</span> <span class="special">;</span>
|
<span class="identifier">X</span> <span class="identifier">wrapped_</span> <span class="special">;</span>
|
||||||
|
|
||||||
@ -94,8 +92,7 @@
|
|||||||
<p>
|
<p>
|
||||||
For example, one member of this family looks like:
|
For example, one member of this family looks like:
|
||||||
</p>
|
</p>
|
||||||
<pre class="programlisting">
|
<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span><span class="keyword">class</span> <span class="identifier">A0</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">A1</span><span class="special">></span>
|
||||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span><span class="keyword">class</span> <span class="identifier">A0</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">A1</span><span class="special">></span>
|
|
||||||
<span class="keyword">class</span> <span class="identifier">TypedInPlaceFactory2</span>
|
<span class="keyword">class</span> <span class="identifier">TypedInPlaceFactory2</span>
|
||||||
<span class="special">{</span>
|
<span class="special">{</span>
|
||||||
<span class="identifier">A0</span> <span class="identifier">m_a0</span> <span class="special">;</span> <span class="identifier">A1</span> <span class="identifier">m_a1</span> <span class="special">;</span>
|
<span class="identifier">A0</span> <span class="identifier">m_a0</span> <span class="special">;</span> <span class="identifier">A1</span> <span class="identifier">m_a1</span> <span class="special">;</span>
|
||||||
@ -110,8 +107,7 @@
|
|||||||
<p>
|
<p>
|
||||||
A wrapper class aware of this can use it as:
|
A wrapper class aware of this can use it as:
|
||||||
</p>
|
</p>
|
||||||
<pre class="programlisting">
|
<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">W</span>
|
||||||
<span class="keyword">class</span> <span class="identifier">W</span>
|
|
||||||
<span class="special">{</span>
|
<span class="special">{</span>
|
||||||
<span class="identifier">X</span> <span class="identifier">wrapped_</span> <span class="special">;</span>
|
<span class="identifier">X</span> <span class="identifier">wrapped_</span> <span class="special">;</span>
|
||||||
|
|
||||||
@ -150,8 +146,7 @@
|
|||||||
This library provides an overloaded set of helper template functions to construct
|
This library provides an overloaded set of helper template functions to construct
|
||||||
these factories without requiring unnecessary template parameters:
|
these factories without requiring unnecessary template parameters:
|
||||||
</p>
|
</p>
|
||||||
<pre class="programlisting">
|
<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span><span class="keyword">class</span> <span class="identifier">A0</span><span class="special">,...,</span><span class="keyword">class</span> <span class="identifier">AN</span><span class="special">></span>
|
||||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">class</span> <span class="identifier">A0</span><span class="special">,...,</span><span class="keyword">class</span> <span class="identifier">AN</span><span class="special">></span>
|
|
||||||
<span class="identifier">InPlaceFactoryN</span> <span class="special"><</span><span class="identifier">A0</span><span class="special">,...,</span><span class="identifier">AN</span><span class="special">></span> <span class="identifier">in_place</span> <span class="special">(</span> <span class="identifier">A0</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">a0</span><span class="special">,</span> <span class="special">...,</span> <span class="identifier">AN</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">aN</span><span class="special">)</span> <span class="special">;</span>
|
<span class="identifier">InPlaceFactoryN</span> <span class="special"><</span><span class="identifier">A0</span><span class="special">,...,</span><span class="identifier">AN</span><span class="special">></span> <span class="identifier">in_place</span> <span class="special">(</span> <span class="identifier">A0</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">a0</span><span class="special">,</span> <span class="special">...,</span> <span class="identifier">AN</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">aN</span><span class="special">)</span> <span class="special">;</span>
|
||||||
|
|
||||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span><span class="keyword">class</span> <span class="identifier">A0</span><span class="special">,...,</span><span class="keyword">class</span> <span class="identifier">AN</span><span class="special">></span>
|
<span class="keyword">template</span><span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span><span class="keyword">class</span> <span class="identifier">A0</span><span class="special">,...,</span><span class="keyword">class</span> <span class="identifier">AN</span><span class="special">></span>
|
||||||
@ -160,8 +155,7 @@
|
|||||||
<p>
|
<p>
|
||||||
In-place factories can be used generically by the wrapper and user as follows:
|
In-place factories can be used generically by the wrapper and user as follows:
|
||||||
</p>
|
</p>
|
||||||
<pre class="programlisting">
|
<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">W</span>
|
||||||
<span class="keyword">class</span> <span class="identifier">W</span>
|
|
||||||
<span class="special">{</span>
|
<span class="special">{</span>
|
||||||
<span class="identifier">X</span> <span class="identifier">wrapped_</span> <span class="special">;</span>
|
<span class="identifier">X</span> <span class="identifier">wrapped_</span> <span class="special">;</span>
|
||||||
|
|
||||||
|
@ -14,8 +14,8 @@
|
|||||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
|
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
|
||||||
<td align="center"><a href="../../../../../index.html">Home</a></td>
|
<td align="center"><a href="../../../../../index.html">Home</a></td>
|
||||||
<td align="center"><a href="../../../../libraries.htm">Libraries</a></td>
|
<td align="center"><a href="../../../../libraries.htm">Libraries</a></td>
|
||||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||||
<td align="center"><a href="../../../../../more/index.htm">More</a></td>
|
<td align="center"><a href="../../../../../more/index.htm">More</a></td>
|
||||||
</tr></table>
|
</tr></table>
|
||||||
<hr>
|
<hr>
|
||||||
|
@ -14,8 +14,8 @@
|
|||||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
|
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
|
||||||
<td align="center"><a href="../../../../../index.html">Home</a></td>
|
<td align="center"><a href="../../../../../index.html">Home</a></td>
|
||||||
<td align="center"><a href="../../../../libraries.htm">Libraries</a></td>
|
<td align="center"><a href="../../../../libraries.htm">Libraries</a></td>
|
||||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||||
<td align="center"><a href="../../../../../more/index.htm">More</a></td>
|
<td align="center"><a href="../../../../../more/index.htm">More</a></td>
|
||||||
</tr></table>
|
</tr></table>
|
||||||
<hr>
|
<hr>
|
||||||
@ -32,8 +32,7 @@
|
|||||||
the effect is to bind (for the first time) to the object. Clearly, there is
|
the effect is to bind (for the first time) to the object. Clearly, there is
|
||||||
no other choice.
|
no other choice.
|
||||||
</p>
|
</p>
|
||||||
<pre class="programlisting">
|
<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">x</span> <span class="special">=</span> <span class="number">1</span> <span class="special">;</span>
|
||||||
<span class="keyword">int</span> <span class="identifier">x</span> <span class="special">=</span> <span class="number">1</span> <span class="special">;</span>
|
|
||||||
<span class="keyword">int</span><span class="special">&</span> <span class="identifier">rx</span> <span class="special">=</span> <span class="identifier">x</span> <span class="special">;</span>
|
<span class="keyword">int</span><span class="special">&</span> <span class="identifier">rx</span> <span class="special">=</span> <span class="identifier">x</span> <span class="special">;</span>
|
||||||
<span class="identifier">optional</span><span class="special"><</span><span class="keyword">int</span><span class="special">&></span> <span class="identifier">ora</span> <span class="special">;</span>
|
<span class="identifier">optional</span><span class="special"><</span><span class="keyword">int</span><span class="special">&></span> <span class="identifier">ora</span> <span class="special">;</span>
|
||||||
<span class="identifier">optional</span><span class="special"><</span><span class="keyword">int</span><span class="special">&></span> <span class="identifier">orb</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span> <span class="special">;</span>
|
<span class="identifier">optional</span><span class="special"><</span><span class="keyword">int</span><span class="special">&></span> <span class="identifier">orb</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span> <span class="special">;</span>
|
||||||
@ -45,8 +44,7 @@
|
|||||||
If you assign to a bare C++ reference, the assignment is forwarded to the referenced
|
If you assign to a bare C++ reference, the assignment is forwarded to the referenced
|
||||||
object; it's value changes but the reference is never rebound.
|
object; it's value changes but the reference is never rebound.
|
||||||
</p>
|
</p>
|
||||||
<pre class="programlisting">
|
<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">a</span> <span class="special">=</span> <span class="number">1</span> <span class="special">;</span>
|
||||||
<span class="keyword">int</span> <span class="identifier">a</span> <span class="special">=</span> <span class="number">1</span> <span class="special">;</span>
|
|
||||||
<span class="keyword">int</span><span class="special">&</span> <span class="identifier">ra</span> <span class="special">=</span> <span class="identifier">a</span> <span class="special">;</span>
|
<span class="keyword">int</span><span class="special">&</span> <span class="identifier">ra</span> <span class="special">=</span> <span class="identifier">a</span> <span class="special">;</span>
|
||||||
<span class="keyword">int</span> <span class="identifier">b</span> <span class="special">=</span> <span class="number">2</span> <span class="special">;</span>
|
<span class="keyword">int</span> <span class="identifier">b</span> <span class="special">=</span> <span class="number">2</span> <span class="special">;</span>
|
||||||
<span class="keyword">int</span><span class="special">&</span> <span class="identifier">rb</span> <span class="special">=</span> <span class="identifier">b</span> <span class="special">;</span>
|
<span class="keyword">int</span><span class="special">&</span> <span class="identifier">rb</span> <span class="special">=</span> <span class="identifier">b</span> <span class="special">;</span>
|
||||||
@ -60,8 +58,7 @@
|
|||||||
the effect is to <span class="bold"><strong>rebind</strong></span> to the new object
|
the effect is to <span class="bold"><strong>rebind</strong></span> to the new object
|
||||||
instead of assigning the referee. This is unlike bare C++ references.
|
instead of assigning the referee. This is unlike bare C++ references.
|
||||||
</p>
|
</p>
|
||||||
<pre class="programlisting">
|
<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">a</span> <span class="special">=</span> <span class="number">1</span> <span class="special">;</span>
|
||||||
<span class="keyword">int</span> <span class="identifier">a</span> <span class="special">=</span> <span class="number">1</span> <span class="special">;</span>
|
|
||||||
<span class="keyword">int</span> <span class="identifier">b</span> <span class="special">=</span> <span class="number">2</span> <span class="special">;</span>
|
<span class="keyword">int</span> <span class="identifier">b</span> <span class="special">=</span> <span class="number">2</span> <span class="special">;</span>
|
||||||
<span class="keyword">int</span><span class="special">&</span> <span class="identifier">ra</span> <span class="special">=</span> <span class="identifier">a</span> <span class="special">;</span>
|
<span class="keyword">int</span><span class="special">&</span> <span class="identifier">ra</span> <span class="special">=</span> <span class="identifier">a</span> <span class="special">;</span>
|
||||||
<span class="keyword">int</span><span class="special">&</span> <span class="identifier">rb</span> <span class="special">=</span> <span class="identifier">b</span> <span class="special">;</span>
|
<span class="keyword">int</span><span class="special">&</span> <span class="identifier">rb</span> <span class="special">=</span> <span class="identifier">b</span> <span class="special">;</span>
|
||||||
@ -73,7 +70,7 @@
|
|||||||
<span class="identifier">assert</span><span class="special">(</span><span class="identifier">b</span><span class="special">==</span><span class="number">3</span><span class="special">);</span>
|
<span class="identifier">assert</span><span class="special">(</span><span class="identifier">b</span><span class="special">==</span><span class="number">3</span><span class="special">);</span>
|
||||||
</pre>
|
</pre>
|
||||||
<a name="boost_optional.rebinding_semantics_for_assignment_of_optional_references.rationale"></a><h4>
|
<a name="boost_optional.rebinding_semantics_for_assignment_of_optional_references.rationale"></a><h4>
|
||||||
<a name="id2660242"></a>
|
<a name="id2860344"></a>
|
||||||
<a class="link" href="rebinding_semantics_for_assignment_of_optional_references.html#boost_optional.rebinding_semantics_for_assignment_of_optional_references.rationale">Rationale</a>
|
<a class="link" href="rebinding_semantics_for_assignment_of_optional_references.html#boost_optional.rebinding_semantics_for_assignment_of_optional_references.rationale">Rationale</a>
|
||||||
</h4>
|
</h4>
|
||||||
<p>
|
<p>
|
||||||
@ -93,8 +90,7 @@
|
|||||||
forwarding assignment to the referenced object (thus changing the referenced
|
forwarding assignment to the referenced object (thus changing the referenced
|
||||||
object value but not rebinding), and consider the following code:
|
object value but not rebinding), and consider the following code:
|
||||||
</p>
|
</p>
|
||||||
<pre class="programlisting">
|
<pre class="programlisting"><span class="identifier">optional</span><span class="special"><</span><span class="keyword">int</span><span class="special">&></span> <span class="identifier">a</span> <span class="special">=</span> <span class="identifier">get</span><span class="special">();</span>
|
||||||
<span class="identifier">optional</span><span class="special"><</span><span class="keyword">int</span><span class="special">&></span> <span class="identifier">a</span> <span class="special">=</span> <span class="identifier">get</span><span class="special">();</span>
|
|
||||||
<span class="keyword">int</span> <span class="identifier">x</span> <span class="special">=</span> <span class="number">1</span> <span class="special">;</span>
|
<span class="keyword">int</span> <span class="identifier">x</span> <span class="special">=</span> <span class="number">1</span> <span class="special">;</span>
|
||||||
<span class="keyword">int</span><span class="special">&</span> <span class="identifier">rx</span> <span class="special">=</span> <span class="identifier">x</span> <span class="special">;</span>
|
<span class="keyword">int</span><span class="special">&</span> <span class="identifier">rx</span> <span class="special">=</span> <span class="identifier">x</span> <span class="special">;</span>
|
||||||
<span class="identifier">optional</span><span class="special"><</span><span class="keyword">int</span><span class="special">&></span> <span class="identifier">b</span><span class="special">(</span><span class="identifier">rx</span><span class="special">);</span>
|
<span class="identifier">optional</span><span class="special"><</span><span class="keyword">int</span><span class="special">&></span> <span class="identifier">b</span><span class="special">(</span><span class="identifier">rx</span><span class="special">);</span>
|
||||||
@ -132,8 +128,7 @@
|
|||||||
for the first time is OK while rebinding is not which is IMO very unlikely.
|
for the first time is OK while rebinding is not which is IMO very unlikely.
|
||||||
In such scenario, you can assign the value itself directly, as in:
|
In such scenario, you can assign the value itself directly, as in:
|
||||||
</p>
|
</p>
|
||||||
<pre class="programlisting">
|
<pre class="programlisting"><span class="identifier">assert</span><span class="special">(!!</span><span class="identifier">opt</span><span class="special">);</span>
|
||||||
<span class="identifier">assert</span><span class="special">(!!</span><span class="identifier">opt</span><span class="special">);</span>
|
|
||||||
<span class="special">*</span><span class="identifier">opt</span><span class="special">=</span><span class="identifier">value</span><span class="special">;</span>
|
<span class="special">*</span><span class="identifier">opt</span><span class="special">=</span><span class="identifier">value</span><span class="special">;</span>
|
||||||
</pre>
|
</pre>
|
||||||
</div>
|
</div>
|
||||||
|
@ -14,8 +14,8 @@
|
|||||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
|
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
|
||||||
<td align="center"><a href="../../../../../index.html">Home</a></td>
|
<td align="center"><a href="../../../../../index.html">Home</a></td>
|
||||||
<td align="center"><a href="../../../../libraries.htm">Libraries</a></td>
|
<td align="center"><a href="../../../../libraries.htm">Libraries</a></td>
|
||||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||||
<td align="center"><a href="../../../../../more/index.htm">More</a></td>
|
<td align="center"><a href="../../../../../more/index.htm">More</a></td>
|
||||||
</tr></table>
|
</tr></table>
|
||||||
<hr>
|
<hr>
|
||||||
@ -26,8 +26,7 @@
|
|||||||
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
||||||
<a name="boost_optional.synopsis"></a><a class="link" href="synopsis.html" title="Synopsis">Synopsis</a>
|
<a name="boost_optional.synopsis"></a><a class="link" href="synopsis.html" title="Synopsis">Synopsis</a>
|
||||||
</h2></div></div></div>
|
</h2></div></div></div>
|
||||||
<pre class="programlisting">
|
<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
|
||||||
<span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
|
|
||||||
|
|
||||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
|
<span class="keyword">template</span><span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
|
||||||
<span class="keyword">class</span> <span class="identifier">optional</span>
|
<span class="keyword">class</span> <span class="identifier">optional</span>
|
||||||
|
@ -14,8 +14,8 @@
|
|||||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
|
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
|
||||||
<td align="center"><a href="../../../../../index.html">Home</a></td>
|
<td align="center"><a href="../../../../../index.html">Home</a></td>
|
||||||
<td align="center"><a href="../../../../libraries.htm">Libraries</a></td>
|
<td align="center"><a href="../../../../libraries.htm">Libraries</a></td>
|
||||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||||
<td align="center"><a href="../../../../../more/index.htm">More</a></td>
|
<td align="center"><a href="../../../../../more/index.htm">More</a></td>
|
||||||
</tr></table>
|
</tr></table>
|
||||||
<hr>
|
<hr>
|
||||||
|
@ -12,8 +12,8 @@
|
|||||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
|
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
|
||||||
<td align="center"><a href="../../../../index.html">Home</a></td>
|
<td align="center"><a href="../../../../index.html">Home</a></td>
|
||||||
<td align="center"><a href="../../../libraries.htm">Libraries</a></td>
|
<td align="center"><a href="../../../libraries.htm">Libraries</a></td>
|
||||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||||
<td align="center"><a href="../../../../more/index.htm">More</a></td>
|
<td align="center"><a href="../../../../more/index.htm">More</a></td>
|
||||||
</tr></table>
|
</tr></table>
|
||||||
<hr>
|
<hr>
|
||||||
@ -27,7 +27,7 @@
|
|||||||
</h3></div></div>
|
</h3></div></div>
|
||||||
<div><p class="copyright">Copyright <20> 2003 -2007 Fernando Luis Cacciola Carballal</p></div>
|
<div><p class="copyright">Copyright <20> 2003 -2007 Fernando Luis Cacciola Carballal</p></div>
|
||||||
<div><div class="legalnotice">
|
<div><div class="legalnotice">
|
||||||
<a name="id2625900"></a><p>
|
<a name="id2826039"></a><p>
|
||||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||||
</p>
|
</p>
|
||||||
@ -142,16 +142,14 @@
|
|||||||
the function would conceptually return. For example, the last two functions
|
the function would conceptually return. For example, the last two functions
|
||||||
could have the following interface:
|
could have the following interface:
|
||||||
</p>
|
</p>
|
||||||
<pre class="programlisting">
|
<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special"><</span><span class="keyword">char</span><span class="special">,</span><span class="keyword">bool</span><span class="special">></span> <span class="identifier">get_async_input</span><span class="special">();</span>
|
||||||
<span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special"><</span><span class="keyword">char</span><span class="special">,</span><span class="keyword">bool</span><span class="special">></span> <span class="identifier">get_async_input</span><span class="special">();</span>
|
|
||||||
<span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special"><</span><span class="identifier">point</span><span class="special">,</span><span class="keyword">bool</span><span class="special">></span> <span class="identifier">polygon</span><span class="special">::</span><span class="identifier">get_any_point_effectively_inside</span><span class="special">();</span>
|
<span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special"><</span><span class="identifier">point</span><span class="special">,</span><span class="keyword">bool</span><span class="special">></span> <span class="identifier">polygon</span><span class="special">::</span><span class="identifier">get_any_point_effectively_inside</span><span class="special">();</span>
|
||||||
</pre>
|
</pre>
|
||||||
<p>
|
<p>
|
||||||
These functions use a consistent interface for dealing with possibly inexistent
|
These functions use a consistent interface for dealing with possibly inexistent
|
||||||
results:
|
results:
|
||||||
</p>
|
</p>
|
||||||
<pre class="programlisting">
|
<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special"><</span><span class="identifier">point</span><span class="special">,</span><span class="keyword">bool</span><span class="special">></span> <span class="identifier">p</span> <span class="special">=</span> <span class="identifier">poly</span><span class="special">.</span><span class="identifier">get_any_point_effectively_inside</span><span class="special">();</span>
|
||||||
<span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special"><</span><span class="identifier">point</span><span class="special">,</span><span class="keyword">bool</span><span class="special">></span> <span class="identifier">p</span> <span class="special">=</span> <span class="identifier">poly</span><span class="special">.</span><span class="identifier">get_any_point_effectively_inside</span><span class="special">();</span>
|
|
||||||
<span class="keyword">if</span> <span class="special">(</span> <span class="identifier">p</span><span class="special">.</span><span class="identifier">second</span> <span class="special">)</span>
|
<span class="keyword">if</span> <span class="special">(</span> <span class="identifier">p</span><span class="special">.</span><span class="identifier">second</span> <span class="special">)</span>
|
||||||
<span class="identifier">flood_fill</span><span class="special">(</span><span class="identifier">p</span><span class="special">.</span><span class="identifier">first</span><span class="special">);</span>
|
<span class="identifier">flood_fill</span><span class="special">(</span><span class="identifier">p</span><span class="special">.</span><span class="identifier">first</span><span class="special">);</span>
|
||||||
</pre>
|
</pre>
|
||||||
@ -174,7 +172,7 @@
|
|||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||||
<td align="left"><p><small>Last revised: March 15, 2008 at 13:58:42 GMT</small></p></td>
|
<td align="left"><p><small>Last revised: October 10, 2008 at 20:53:37 GMT</small></p></td>
|
||||||
<td align="right"><div class="copyright-footer"></div></td>
|
<td align="right"><div class="copyright-footer"></div></td>
|
||||||
</tr></table>
|
</tr></table>
|
||||||
<hr>
|
<hr>
|
||||||
|
Reference in New Issue
Block a user