forked from boostorg/optional
explicit operator bool becomes noexcept
This commit is contained in:
@ -85,7 +85,7 @@
|
|||||||
T const* get_ptr() const ; ``[link reference_optional_get_ptr __GO_TO__]``
|
T const* get_ptr() const ; ``[link reference_optional_get_ptr __GO_TO__]``
|
||||||
T* get_ptr() ; ``[link reference_optional_get_ptr __GO_TO__]``
|
T* get_ptr() ; ``[link reference_optional_get_ptr __GO_TO__]``
|
||||||
|
|
||||||
explicit operator bool() const ; ``[link reference_optional_operator_bool __GO_TO__]``
|
explicit operator bool() const noexcept ; ``[link reference_optional_operator_bool __GO_TO__]``
|
||||||
|
|
||||||
bool operator!() const noexcept ; ``[link reference_optional_operator_not __GO_TO__]``
|
bool operator!() const noexcept ; ``[link reference_optional_operator_not __GO_TO__]``
|
||||||
|
|
||||||
@ -989,10 +989,9 @@ __SPACE__
|
|||||||
|
|
||||||
[#reference_optional_operator_bool]
|
[#reference_optional_operator_bool]
|
||||||
|
|
||||||
[: `explicit optional<T>::operator bool() const ;`]
|
[: `explicit optional<T>::operator bool() const noexcept ;`]
|
||||||
|
|
||||||
* [*Returns:] `get_ptr() != 0`.
|
* [*Returns:] `get_ptr() != 0`.
|
||||||
* [*Throws:] Nothing.
|
|
||||||
* [*Notes:] On compilers that do not support explicit conversion operators this falls back to safe-bool idiom.
|
* [*Notes:] On compilers that do not support explicit conversion operators this falls back to safe-bool idiom.
|
||||||
* [*Example:]
|
* [*Example:]
|
||||||
``
|
``
|
||||||
|
@ -1572,15 +1572,13 @@
|
|||||||
<a name="reference_optional_operator_bool"></a><div class="blockquote"><blockquote class="blockquote"><p>
|
<a name="reference_optional_operator_bool"></a><div class="blockquote"><blockquote class="blockquote"><p>
|
||||||
<code class="computeroutput"><span class="keyword">explicit</span> <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="keyword">operator</span>
|
<code class="computeroutput"><span class="keyword">explicit</span> <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="keyword">operator</span>
|
||||||
<span class="keyword">bool</span><span class="special">()</span>
|
<span class="keyword">bool</span><span class="special">()</span>
|
||||||
<span class="keyword">const</span> <span class="special">;</span></code>
|
<span class="keyword">const</span> <span class="keyword">noexcept</span>
|
||||||
|
<span class="special">;</span></code>
|
||||||
</p></blockquote></div>
|
</p></blockquote></div>
|
||||||
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
|
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
|
||||||
<li class="listitem">
|
<li class="listitem">
|
||||||
<span class="bold"><strong>Returns:</strong></span> <code class="computeroutput"><span class="identifier">get_ptr</span><span class="special">()</span> <span class="special">!=</span> <span class="number">0</span></code>.
|
<span class="bold"><strong>Returns:</strong></span> <code class="computeroutput"><span class="identifier">get_ptr</span><span class="special">()</span> <span class="special">!=</span> <span class="number">0</span></code>.
|
||||||
</li>
|
</li>
|
||||||
<li class="listitem">
|
|
||||||
<span class="bold"><strong>Throws:</strong></span> Nothing.
|
|
||||||
</li>
|
|
||||||
<li class="listitem">
|
<li class="listitem">
|
||||||
<span class="bold"><strong>Notes:</strong></span> On compilers that do not support
|
<span class="bold"><strong>Notes:</strong></span> On compilers that do not support
|
||||||
explicit conversion operators this falls back to safe-bool idiom.
|
explicit conversion operators this falls back to safe-bool idiom.
|
||||||
|
@ -133,7 +133,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</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: June 08, 2014 at 18:14:37 GMT</small></p></td>
|
<td align="left"><p><small>Last revised: June 13, 2014 at 21:36:29 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>
|
||||||
|
@ -109,7 +109,7 @@
|
|||||||
<span class="identifier">T</span> <span class="keyword">const</span><span class="special">*</span> <span class="identifier">get_ptr</span><span class="special">()</span> <span class="keyword">const</span> <span class="special">;</span> <a class="link" href="../boost_optional/reference/detailed_semantics.html#reference_optional_get_ptr"><span class="inlinemediaobject"><img src="../images/callouts/R.png" alt="R"></span></a>
|
<span class="identifier">T</span> <span class="keyword">const</span><span class="special">*</span> <span class="identifier">get_ptr</span><span class="special">()</span> <span class="keyword">const</span> <span class="special">;</span> <a class="link" href="../boost_optional/reference/detailed_semantics.html#reference_optional_get_ptr"><span class="inlinemediaobject"><img src="../images/callouts/R.png" alt="R"></span></a>
|
||||||
<span class="identifier">T</span><span class="special">*</span> <span class="identifier">get_ptr</span><span class="special">()</span> <span class="special">;</span> <a class="link" href="../boost_optional/reference/detailed_semantics.html#reference_optional_get_ptr"><span class="inlinemediaobject"><img src="../images/callouts/R.png" alt="R"></span></a>
|
<span class="identifier">T</span><span class="special">*</span> <span class="identifier">get_ptr</span><span class="special">()</span> <span class="special">;</span> <a class="link" href="../boost_optional/reference/detailed_semantics.html#reference_optional_get_ptr"><span class="inlinemediaobject"><img src="../images/callouts/R.png" alt="R"></span></a>
|
||||||
|
|
||||||
<span class="keyword">explicit</span> <span class="keyword">operator</span> <span class="keyword">bool</span><span class="special">()</span> <span class="keyword">const</span> <span class="special">;</span> <a class="link" href="../boost_optional/reference/detailed_semantics.html#reference_optional_operator_bool"><span class="inlinemediaobject"><img src="../images/callouts/R.png" alt="R"></span></a>
|
<span class="keyword">explicit</span> <span class="keyword">operator</span> <span class="keyword">bool</span><span class="special">()</span> <span class="keyword">const</span> <span class="keyword">noexcept</span> <span class="special">;</span> <a class="link" href="../boost_optional/reference/detailed_semantics.html#reference_optional_operator_bool"><span class="inlinemediaobject"><img src="../images/callouts/R.png" alt="R"></span></a>
|
||||||
|
|
||||||
<span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">!()</span> <span class="keyword">const</span> <span class="keyword">noexcept</span> <span class="special">;</span> <a class="link" href="../boost_optional/reference/detailed_semantics.html#reference_optional_operator_not"><span class="inlinemediaobject"><img src="../images/callouts/R.png" alt="R"></span></a>
|
<span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">!()</span> <span class="keyword">const</span> <span class="keyword">noexcept</span> <span class="special">;</span> <a class="link" href="../boost_optional/reference/detailed_semantics.html#reference_optional_operator_not"><span class="inlinemediaobject"><img src="../images/callouts/R.png" alt="R"></span></a>
|
||||||
|
|
||||||
|
@ -23,6 +23,7 @@
|
|||||||
|
|
||||||
#include <boost/config.hpp>
|
#include <boost/config.hpp>
|
||||||
#include <boost/assert.hpp>
|
#include <boost/assert.hpp>
|
||||||
|
#include <boost/core/explicit_operator_bool.hpp>
|
||||||
#include <boost/optional/bad_optional_access.hpp>
|
#include <boost/optional/bad_optional_access.hpp>
|
||||||
#include <boost/static_assert.hpp>
|
#include <boost/static_assert.hpp>
|
||||||
#include <boost/throw_exception.hpp>
|
#include <boost/throw_exception.hpp>
|
||||||
@ -49,7 +50,7 @@
|
|||||||
#include <boost/utility/addressof.hpp>
|
#include <boost/utility/addressof.hpp>
|
||||||
#include <boost/utility/compare_pointees.hpp>
|
#include <boost/utility/compare_pointees.hpp>
|
||||||
#include <boost/utility/enable_if.hpp>
|
#include <boost/utility/enable_if.hpp>
|
||||||
#include <boost/utility/explicit_operator_bool.hpp>
|
|
||||||
#include <boost/utility/in_place_factory.hpp>
|
#include <boost/utility/in_place_factory.hpp>
|
||||||
#include <boost/utility/swap.hpp>
|
#include <boost/utility/swap.hpp>
|
||||||
|
|
||||||
@ -1075,7 +1076,7 @@ class optional : public optional_detail::optional_base<T>
|
|||||||
|
|
||||||
bool operator!() const BOOST_NOEXCEPT { return !this->is_initialized() ; }
|
bool operator!() const BOOST_NOEXCEPT { return !this->is_initialized() ; }
|
||||||
|
|
||||||
BOOST_EXPLICIT_OPERATOR_BOOL()
|
BOOST_EXPLICIT_OPERATOR_BOOL_NOEXCEPT()
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
|
#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
|
||||||
|
Reference in New Issue
Block a user