<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <meta http-equiv="X-UA-Compatible" content="IE=9"/> <meta name="generator" content="Doxygen 1.8.15"/> <meta name="viewport" content="width=device-width, initial-scale=1"/> <title>libstdc++: Optional values</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="dynsections.js"></script> <link href="navtree.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="resize.js"></script> <script type="text/javascript" src="navtreedata.js"></script> <script type="text/javascript" src="navtree.js"></script> <script type="text/javascript"> /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ $(document).ready(initResizable); /* @license-end */</script> <link href="doxygen.css" rel="stylesheet" type="text/css" /> </head> <body> <div id="top"><!-- do not remove this div, it is closed by doxygen! --> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">libstdc++ </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.15 --> </div><!-- top --> <div id="side-nav" class="ui-resizable side-nav-resizable"> <div id="nav-tree"> <div id="nav-tree-contents"> <div id="nav-sync" class="sync"></div> </div> </div> <div id="splitbar" style="-moz-user-select:none;" class="ui-resizable-handle"> </div> </div> <script type="text/javascript"> /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ $(document).ready(function(){initNavTree('a01515.html','');}); /* @license-end */ </script> <div id="doc-content"> <div class="header"> <div class="summary"> <a href="#nested-classes">Classes</a> | <a href="#define-members">Macros</a> | <a href="#typedef-members">Typedefs</a> | <a href="#func-members">Functions</a> | <a href="#var-members">Variables</a> </div> <div class="headertitle"> <div class="title">Optional values<div class="ingroups"><a class="el" href="a01514.html">Experimental</a></div></div> </div> </div><!--header--> <div class="contents"> <div class="dynheader"> Collaboration diagram for Optional values:</div> <div class="dyncontent"> <center><table><tr><td><div class="center"><iframe scrolling="no" frameborder="0" src="a01515.svg" width="514" height="63"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe> </div> </td></tr></table></center> </div> <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a> Classes</h2></td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="a10020.html">std::experimental::fundamentals_v1::_Has_addressof< _Tp ></a></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a10024.html">std::experimental::fundamentals_v1::_Optional_base< _Tp, _ShouldProvideDestructor ></a></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a10036.html">std::experimental::fundamentals_v1::_Optional_base< _Tp, false ></a></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a10000.html">std::experimental::fundamentals_v1::bad_optional_access</a></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="a09992.html">std::experimental::fundamentals_v1::in_place_t</a></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="a09996.html">std::experimental::fundamentals_v1::nullopt_t</a></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a09988.html">std::experimental::fundamentals_v1::optional< _Tp ></a></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a> Macros</h2></td></tr> <tr class="memitem:ga260dcc4f5a180911a49f8205325d2720"><td class="memItemLeft" align="right" valign="top"><a id="ga260dcc4f5a180911a49f8205325d2720"></a> #define </td><td class="memItemRight" valign="bottom"><b>__cpp_lib_experimental_optional</b></td></tr> <tr class="separator:ga260dcc4f5a180911a49f8205325d2720"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a> Typedefs</h2></td></tr> <tr class="memitem:ga86c6701b3405c379c63491fd48e8324c"><td class="memTemplParams" colspan="2"><a id="ga86c6701b3405c379c63491fd48e8324c"></a> template<typename _Tp , typename _Up > </td></tr> <tr class="memitem:ga86c6701b3405c379c63491fd48e8324c"><td class="memTemplItemLeft" align="right" valign="top">using </td><td class="memTemplItemRight" valign="bottom"><b>std::experimental::fundamentals_v1::__assigns_from_optional</b> = __or_< <a class="el" href="a03680.html">is_assignable</a>< _Tp &, const <a class="el" href="a09988.html">optional</a>< _Up > & >, <a class="el" href="a03680.html">is_assignable</a>< _Tp &, <a class="el" href="a09988.html">optional</a>< _Up > & >, <a class="el" href="a03680.html">is_assignable</a>< _Tp &, const <a class="el" href="a09988.html">optional</a>< _Up > && >, <a class="el" href="a03680.html">is_assignable</a>< _Tp &, <a class="el" href="a09988.html">optional</a>< _Up > && > ></td></tr> <tr class="separator:ga86c6701b3405c379c63491fd48e8324c"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga8a21421d6df7f37219e9c8cf1e2cb577"><td class="memTemplParams" colspan="2"><a id="ga8a21421d6df7f37219e9c8cf1e2cb577"></a> template<typename _Tp , typename _Up > </td></tr> <tr class="memitem:ga8a21421d6df7f37219e9c8cf1e2cb577"><td class="memTemplItemLeft" align="right" valign="top">using </td><td class="memTemplItemRight" valign="bottom"><b>std::experimental::fundamentals_v1::__converts_from_optional</b> = __or_< <a class="el" href="a03572.html">is_constructible</a>< _Tp, const <a class="el" href="a09988.html">optional</a>< _Up > & >, <a class="el" href="a03572.html">is_constructible</a>< _Tp, <a class="el" href="a09988.html">optional</a>< _Up > & >, <a class="el" href="a03572.html">is_constructible</a>< _Tp, const <a class="el" href="a09988.html">optional</a>< _Up > && >, <a class="el" href="a03572.html">is_constructible</a>< _Tp, <a class="el" href="a09988.html">optional</a>< _Up > && >, <a class="el" href="a03900.html">is_convertible</a>< const <a class="el" href="a09988.html">optional</a>< _Up > &, _Tp >, <a class="el" href="a03900.html">is_convertible</a>< <a class="el" href="a09988.html">optional</a>< _Up > &, _Tp >, <a class="el" href="a03900.html">is_convertible</a>< const <a class="el" href="a09988.html">optional</a>< _Up > &&, _Tp >, <a class="el" href="a03900.html">is_convertible</a>< <a class="el" href="a09988.html">optional</a>< _Up > &&, _Tp > ></td></tr> <tr class="separator:ga8a21421d6df7f37219e9c8cf1e2cb577"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a> Functions</h2></td></tr> <tr class="memitem:gaec6098e9e49d3b1918c5de29086aeead"><td class="memTemplParams" colspan="2">template<typename _Tp > </td></tr> <tr class="memitem:gaec6098e9e49d3b1918c5de29086aeead"><td class="memTemplItemLeft" align="right" valign="top">constexpr <a class="el" href="a01476.html#gaccc2a55dff256e901d69f67ef213d12c">enable_if_t</a><!<a class="el" href="a10020.html">_Has_addressof</a>< _Tp >::value, _Tp * > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01515.html#gaec6098e9e49d3b1918c5de29086aeead">std::experimental::fundamentals_v1::__constexpr_addressof</a> (_Tp &__t)</td></tr> <tr class="separator:gaec6098e9e49d3b1918c5de29086aeead"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga46377d6edc296713b771e947b9c63d94"><td class="memItemLeft" align="right" valign="top"><a id="ga46377d6edc296713b771e947b9c63d94"></a> void </td><td class="memItemRight" valign="bottom"><b>std::experimental::fundamentals_v1::__throw_bad_optional_access</b> (const char *) __attribute__((__noreturn__))</td></tr> <tr class="separator:ga46377d6edc296713b771e947b9c63d94"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga5e3332d1bc3558af6648ec3c81a48422"><td class="memTemplParams" colspan="2"><a id="ga5e3332d1bc3558af6648ec3c81a48422"></a> template<typename _Tp > </td></tr> <tr class="memitem:ga5e3332d1bc3558af6648ec3c81a48422"><td class="memTemplItemLeft" align="right" valign="top">constexpr <a class="el" href="a09988.html">optional</a>< <a class="el" href="a01476.html#gabe26c12710bb4c683badfaf0a586c5be">decay_t</a>< _Tp > > </td><td class="memTemplItemRight" valign="bottom"><b>std::experimental::fundamentals_v1::make_optional</b> (_Tp &&__t)</td></tr> <tr class="separator:ga5e3332d1bc3558af6648ec3c81a48422"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gafa89e01830c1f9c1288d01822f8f5a50"><td class="memTemplParams" colspan="2"><a id="gafa89e01830c1f9c1288d01822f8f5a50"></a> template<typename _Tp > </td></tr> <tr class="memitem:gafa89e01830c1f9c1288d01822f8f5a50"><td class="memTemplItemLeft" align="right" valign="top">constexpr bool </td><td class="memTemplItemRight" valign="bottom"><b>std::experimental::fundamentals_v1::operator!=</b> (const <a class="el" href="a09988.html">optional</a>< _Tp > &__lhs, const <a class="el" href="a09988.html">optional</a>< _Tp > &__rhs)</td></tr> <tr class="separator:gafa89e01830c1f9c1288d01822f8f5a50"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gad2d15fb8dde72a662b347083fcf3dbeb"><td class="memTemplParams" colspan="2"><a id="gad2d15fb8dde72a662b347083fcf3dbeb"></a> template<typename _Tp > </td></tr> <tr class="memitem:gad2d15fb8dde72a662b347083fcf3dbeb"><td class="memTemplItemLeft" align="right" valign="top">constexpr bool </td><td class="memTemplItemRight" valign="bottom"><b>std::experimental::fundamentals_v1::operator!=</b> (const <a class="el" href="a09988.html">optional</a>< _Tp > &__lhs, <a class="el" href="a09996.html">nullopt_t</a>) noexcept</td></tr> <tr class="separator:gad2d15fb8dde72a662b347083fcf3dbeb"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gaf5ad413b3276e90e4336a988d377d909"><td class="memTemplParams" colspan="2"><a id="gaf5ad413b3276e90e4336a988d377d909"></a> template<typename _Tp > </td></tr> <tr class="memitem:gaf5ad413b3276e90e4336a988d377d909"><td class="memTemplItemLeft" align="right" valign="top">constexpr bool </td><td class="memTemplItemRight" valign="bottom"><b>std::experimental::fundamentals_v1::operator!=</b> (<a class="el" href="a09996.html">nullopt_t</a>, const <a class="el" href="a09988.html">optional</a>< _Tp > &__rhs) noexcept</td></tr> <tr class="separator:gaf5ad413b3276e90e4336a988d377d909"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga9af2b2191132ca4afac1f7d6e257305c"><td class="memTemplParams" colspan="2"><a id="ga9af2b2191132ca4afac1f7d6e257305c"></a> template<typename _Tp > </td></tr> <tr class="memitem:ga9af2b2191132ca4afac1f7d6e257305c"><td class="memTemplItemLeft" align="right" valign="top">constexpr bool </td><td class="memTemplItemRight" valign="bottom"><b>std::experimental::fundamentals_v1::operator!=</b> (const <a class="el" href="a09988.html">optional</a>< _Tp > &__lhs, _Tp const &__rhs)</td></tr> <tr class="separator:ga9af2b2191132ca4afac1f7d6e257305c"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga5691fc1d7f600c2e3b6b8079a8e7d183"><td class="memTemplParams" colspan="2"><a id="ga5691fc1d7f600c2e3b6b8079a8e7d183"></a> template<typename _Tp > </td></tr> <tr class="memitem:ga5691fc1d7f600c2e3b6b8079a8e7d183"><td class="memTemplItemLeft" align="right" valign="top">constexpr bool </td><td class="memTemplItemRight" valign="bottom"><b>std::experimental::fundamentals_v1::operator!=</b> (const _Tp &__lhs, const <a class="el" href="a09988.html">optional</a>< _Tp > &__rhs)</td></tr> <tr class="separator:ga5691fc1d7f600c2e3b6b8079a8e7d183"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga308163334bb62007f5695c529bb97246"><td class="memTemplParams" colspan="2"><a id="ga308163334bb62007f5695c529bb97246"></a> template<typename _Tp > </td></tr> <tr class="memitem:ga308163334bb62007f5695c529bb97246"><td class="memTemplItemLeft" align="right" valign="top">constexpr bool </td><td class="memTemplItemRight" valign="bottom"><b>std::experimental::fundamentals_v1::operator<</b> (const <a class="el" href="a09988.html">optional</a>< _Tp > &__lhs, const <a class="el" href="a09988.html">optional</a>< _Tp > &__rhs)</td></tr> <tr class="separator:ga308163334bb62007f5695c529bb97246"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gac95632502ce96bb40fa0240764fe7226"><td class="memTemplParams" colspan="2"><a id="gac95632502ce96bb40fa0240764fe7226"></a> template<typename _Tp > </td></tr> <tr class="memitem:gac95632502ce96bb40fa0240764fe7226"><td class="memTemplItemLeft" align="right" valign="top">constexpr bool </td><td class="memTemplItemRight" valign="bottom"><b>std::experimental::fundamentals_v1::operator<</b> (const <a class="el" href="a09988.html">optional</a>< _Tp > &, <a class="el" href="a09996.html">nullopt_t</a>) noexcept</td></tr> <tr class="separator:gac95632502ce96bb40fa0240764fe7226"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga0d92ece4ff7b433864b328504d5e1652"><td class="memTemplParams" colspan="2"><a id="ga0d92ece4ff7b433864b328504d5e1652"></a> template<typename _Tp > </td></tr> <tr class="memitem:ga0d92ece4ff7b433864b328504d5e1652"><td class="memTemplItemLeft" align="right" valign="top">constexpr bool </td><td class="memTemplItemRight" valign="bottom"><b>std::experimental::fundamentals_v1::operator<</b> (<a class="el" href="a09996.html">nullopt_t</a>, const <a class="el" href="a09988.html">optional</a>< _Tp > &__rhs) noexcept</td></tr> <tr class="separator:ga0d92ece4ff7b433864b328504d5e1652"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gaafc2fcbb8790af9045d1c423058acc94"><td class="memTemplParams" colspan="2"><a id="gaafc2fcbb8790af9045d1c423058acc94"></a> template<typename _Tp > </td></tr> <tr class="memitem:gaafc2fcbb8790af9045d1c423058acc94"><td class="memTemplItemLeft" align="right" valign="top">constexpr bool </td><td class="memTemplItemRight" valign="bottom"><b>std::experimental::fundamentals_v1::operator<</b> (const <a class="el" href="a09988.html">optional</a>< _Tp > &__lhs, const _Tp &__rhs)</td></tr> <tr class="separator:gaafc2fcbb8790af9045d1c423058acc94"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga06d1a4cf6b2d0e90a91b4699e28bd5d5"><td class="memTemplParams" colspan="2"><a id="ga06d1a4cf6b2d0e90a91b4699e28bd5d5"></a> template<typename _Tp > </td></tr> <tr class="memitem:ga06d1a4cf6b2d0e90a91b4699e28bd5d5"><td class="memTemplItemLeft" align="right" valign="top">constexpr bool </td><td class="memTemplItemRight" valign="bottom"><b>std::experimental::fundamentals_v1::operator<</b> (const _Tp &__lhs, const <a class="el" href="a09988.html">optional</a>< _Tp > &__rhs)</td></tr> <tr class="separator:ga06d1a4cf6b2d0e90a91b4699e28bd5d5"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga33c6aba7f151138f55c564360aa3ff3d"><td class="memTemplParams" colspan="2"><a id="ga33c6aba7f151138f55c564360aa3ff3d"></a> template<typename _Tp > </td></tr> <tr class="memitem:ga33c6aba7f151138f55c564360aa3ff3d"><td class="memTemplItemLeft" align="right" valign="top">constexpr bool </td><td class="memTemplItemRight" valign="bottom"><b>std::experimental::fundamentals_v1::operator<=</b> (const <a class="el" href="a09988.html">optional</a>< _Tp > &__lhs, const <a class="el" href="a09988.html">optional</a>< _Tp > &__rhs)</td></tr> <tr class="separator:ga33c6aba7f151138f55c564360aa3ff3d"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga900eb06a1985d5f870b99fbf14e82f95"><td class="memTemplParams" colspan="2"><a id="ga900eb06a1985d5f870b99fbf14e82f95"></a> template<typename _Tp > </td></tr> <tr class="memitem:ga900eb06a1985d5f870b99fbf14e82f95"><td class="memTemplItemLeft" align="right" valign="top">constexpr bool </td><td class="memTemplItemRight" valign="bottom"><b>std::experimental::fundamentals_v1::operator<=</b> (const <a class="el" href="a09988.html">optional</a>< _Tp > &__lhs, <a class="el" href="a09996.html">nullopt_t</a>) noexcept</td></tr> <tr class="separator:ga900eb06a1985d5f870b99fbf14e82f95"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga0870c9a4c47b2ce3ec6a4e747c7aad98"><td class="memTemplParams" colspan="2"><a id="ga0870c9a4c47b2ce3ec6a4e747c7aad98"></a> template<typename _Tp > </td></tr> <tr class="memitem:ga0870c9a4c47b2ce3ec6a4e747c7aad98"><td class="memTemplItemLeft" align="right" valign="top">constexpr bool </td><td class="memTemplItemRight" valign="bottom"><b>std::experimental::fundamentals_v1::operator<=</b> (<a class="el" href="a09996.html">nullopt_t</a>, const <a class="el" href="a09988.html">optional</a>< _Tp > &) noexcept</td></tr> <tr class="separator:ga0870c9a4c47b2ce3ec6a4e747c7aad98"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga265adf85e8d630826debcc9c26c55d92"><td class="memTemplParams" colspan="2"><a id="ga265adf85e8d630826debcc9c26c55d92"></a> template<typename _Tp > </td></tr> <tr class="memitem:ga265adf85e8d630826debcc9c26c55d92"><td class="memTemplItemLeft" align="right" valign="top">constexpr bool </td><td class="memTemplItemRight" valign="bottom"><b>std::experimental::fundamentals_v1::operator<=</b> (const <a class="el" href="a09988.html">optional</a>< _Tp > &__lhs, const _Tp &__rhs)</td></tr> <tr class="separator:ga265adf85e8d630826debcc9c26c55d92"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga46479658dca35c89ace61d667e7ba5ad"><td class="memTemplParams" colspan="2"><a id="ga46479658dca35c89ace61d667e7ba5ad"></a> template<typename _Tp > </td></tr> <tr class="memitem:ga46479658dca35c89ace61d667e7ba5ad"><td class="memTemplItemLeft" align="right" valign="top">constexpr bool </td><td class="memTemplItemRight" valign="bottom"><b>std::experimental::fundamentals_v1::operator<=</b> (const _Tp &__lhs, const <a class="el" href="a09988.html">optional</a>< _Tp > &__rhs)</td></tr> <tr class="separator:ga46479658dca35c89ace61d667e7ba5ad"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga67fcf17b2b4907134e82b0ac0e76e6d4"><td class="memTemplParams" colspan="2"><a id="ga67fcf17b2b4907134e82b0ac0e76e6d4"></a> template<typename _Tp > </td></tr> <tr class="memitem:ga67fcf17b2b4907134e82b0ac0e76e6d4"><td class="memTemplItemLeft" align="right" valign="top">constexpr bool </td><td class="memTemplItemRight" valign="bottom"><b>std::experimental::fundamentals_v1::operator==</b> (const <a class="el" href="a09988.html">optional</a>< _Tp > &__lhs, const <a class="el" href="a09988.html">optional</a>< _Tp > &__rhs)</td></tr> <tr class="separator:ga67fcf17b2b4907134e82b0ac0e76e6d4"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga79ef99fcd5ba1a506aa8929a824415b1"><td class="memTemplParams" colspan="2"><a id="ga79ef99fcd5ba1a506aa8929a824415b1"></a> template<typename _Tp > </td></tr> <tr class="memitem:ga79ef99fcd5ba1a506aa8929a824415b1"><td class="memTemplItemLeft" align="right" valign="top">constexpr bool </td><td class="memTemplItemRight" valign="bottom"><b>std::experimental::fundamentals_v1::operator==</b> (const <a class="el" href="a09988.html">optional</a>< _Tp > &__lhs, <a class="el" href="a09996.html">nullopt_t</a>) noexcept</td></tr> <tr class="separator:ga79ef99fcd5ba1a506aa8929a824415b1"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga2c1ecafaae1f5831ba4a5333244a5a20"><td class="memTemplParams" colspan="2"><a id="ga2c1ecafaae1f5831ba4a5333244a5a20"></a> template<typename _Tp > </td></tr> <tr class="memitem:ga2c1ecafaae1f5831ba4a5333244a5a20"><td class="memTemplItemLeft" align="right" valign="top">constexpr bool </td><td class="memTemplItemRight" valign="bottom"><b>std::experimental::fundamentals_v1::operator==</b> (<a class="el" href="a09996.html">nullopt_t</a>, const <a class="el" href="a09988.html">optional</a>< _Tp > &__rhs) noexcept</td></tr> <tr class="separator:ga2c1ecafaae1f5831ba4a5333244a5a20"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gaeeea1b93032add6f2fb9842e6bb5010a"><td class="memTemplParams" colspan="2"><a id="gaeeea1b93032add6f2fb9842e6bb5010a"></a> template<typename _Tp > </td></tr> <tr class="memitem:gaeeea1b93032add6f2fb9842e6bb5010a"><td class="memTemplItemLeft" align="right" valign="top">constexpr bool </td><td class="memTemplItemRight" valign="bottom"><b>std::experimental::fundamentals_v1::operator==</b> (const <a class="el" href="a09988.html">optional</a>< _Tp > &__lhs, const _Tp &__rhs)</td></tr> <tr class="separator:gaeeea1b93032add6f2fb9842e6bb5010a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga085ff505c85c3b1dac5126b7f7bfb3a0"><td class="memTemplParams" colspan="2"><a id="ga085ff505c85c3b1dac5126b7f7bfb3a0"></a> template<typename _Tp > </td></tr> <tr class="memitem:ga085ff505c85c3b1dac5126b7f7bfb3a0"><td class="memTemplItemLeft" align="right" valign="top">constexpr bool </td><td class="memTemplItemRight" valign="bottom"><b>std::experimental::fundamentals_v1::operator==</b> (const _Tp &__lhs, const <a class="el" href="a09988.html">optional</a>< _Tp > &__rhs)</td></tr> <tr class="separator:ga085ff505c85c3b1dac5126b7f7bfb3a0"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga143feae7a8684fdbf230ba134fea47bd"><td class="memTemplParams" colspan="2"><a id="ga143feae7a8684fdbf230ba134fea47bd"></a> template<typename _Tp > </td></tr> <tr class="memitem:ga143feae7a8684fdbf230ba134fea47bd"><td class="memTemplItemLeft" align="right" valign="top">constexpr bool </td><td class="memTemplItemRight" valign="bottom"><b>std::experimental::fundamentals_v1::operator></b> (const <a class="el" href="a09988.html">optional</a>< _Tp > &__lhs, const <a class="el" href="a09988.html">optional</a>< _Tp > &__rhs)</td></tr> <tr class="separator:ga143feae7a8684fdbf230ba134fea47bd"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gac1172bd1ffeea7da0023b17567ddd074"><td class="memTemplParams" colspan="2"><a id="gac1172bd1ffeea7da0023b17567ddd074"></a> template<typename _Tp > </td></tr> <tr class="memitem:gac1172bd1ffeea7da0023b17567ddd074"><td class="memTemplItemLeft" align="right" valign="top">constexpr bool </td><td class="memTemplItemRight" valign="bottom"><b>std::experimental::fundamentals_v1::operator></b> (const <a class="el" href="a09988.html">optional</a>< _Tp > &__lhs, <a class="el" href="a09996.html">nullopt_t</a>) noexcept</td></tr> <tr class="separator:gac1172bd1ffeea7da0023b17567ddd074"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga3802afd7c3be74c237e7d635b4f5c3f2"><td class="memTemplParams" colspan="2"><a id="ga3802afd7c3be74c237e7d635b4f5c3f2"></a> template<typename _Tp > </td></tr> <tr class="memitem:ga3802afd7c3be74c237e7d635b4f5c3f2"><td class="memTemplItemLeft" align="right" valign="top">constexpr bool </td><td class="memTemplItemRight" valign="bottom"><b>std::experimental::fundamentals_v1::operator></b> (<a class="el" href="a09996.html">nullopt_t</a>, const <a class="el" href="a09988.html">optional</a>< _Tp > &) noexcept</td></tr> <tr class="separator:ga3802afd7c3be74c237e7d635b4f5c3f2"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gadc9e1ec8e395b7e57155ae606854bbc3"><td class="memTemplParams" colspan="2"><a id="gadc9e1ec8e395b7e57155ae606854bbc3"></a> template<typename _Tp > </td></tr> <tr class="memitem:gadc9e1ec8e395b7e57155ae606854bbc3"><td class="memTemplItemLeft" align="right" valign="top">constexpr bool </td><td class="memTemplItemRight" valign="bottom"><b>std::experimental::fundamentals_v1::operator></b> (const <a class="el" href="a09988.html">optional</a>< _Tp > &__lhs, const _Tp &__rhs)</td></tr> <tr class="separator:gadc9e1ec8e395b7e57155ae606854bbc3"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gab525797c5b63490e3adf6d4e452ae519"><td class="memTemplParams" colspan="2"><a id="gab525797c5b63490e3adf6d4e452ae519"></a> template<typename _Tp > </td></tr> <tr class="memitem:gab525797c5b63490e3adf6d4e452ae519"><td class="memTemplItemLeft" align="right" valign="top">constexpr bool </td><td class="memTemplItemRight" valign="bottom"><b>std::experimental::fundamentals_v1::operator></b> (const _Tp &__lhs, const <a class="el" href="a09988.html">optional</a>< _Tp > &__rhs)</td></tr> <tr class="separator:gab525797c5b63490e3adf6d4e452ae519"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gad21c2cfa12b9e8914f8f614c2dea1d17"><td class="memTemplParams" colspan="2"><a id="gad21c2cfa12b9e8914f8f614c2dea1d17"></a> template<typename _Tp > </td></tr> <tr class="memitem:gad21c2cfa12b9e8914f8f614c2dea1d17"><td class="memTemplItemLeft" align="right" valign="top">constexpr bool </td><td class="memTemplItemRight" valign="bottom"><b>std::experimental::fundamentals_v1::operator>=</b> (const <a class="el" href="a09988.html">optional</a>< _Tp > &__lhs, const <a class="el" href="a09988.html">optional</a>< _Tp > &__rhs)</td></tr> <tr class="separator:gad21c2cfa12b9e8914f8f614c2dea1d17"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gabde3ca93641b83881f0672bdd6e51f06"><td class="memTemplParams" colspan="2"><a id="gabde3ca93641b83881f0672bdd6e51f06"></a> template<typename _Tp > </td></tr> <tr class="memitem:gabde3ca93641b83881f0672bdd6e51f06"><td class="memTemplItemLeft" align="right" valign="top">constexpr bool </td><td class="memTemplItemRight" valign="bottom"><b>std::experimental::fundamentals_v1::operator>=</b> (const <a class="el" href="a09988.html">optional</a>< _Tp > &, <a class="el" href="a09996.html">nullopt_t</a>) noexcept</td></tr> <tr class="separator:gabde3ca93641b83881f0672bdd6e51f06"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga501734c1e41f41d0bfe5737a29adc7c0"><td class="memTemplParams" colspan="2"><a id="ga501734c1e41f41d0bfe5737a29adc7c0"></a> template<typename _Tp > </td></tr> <tr class="memitem:ga501734c1e41f41d0bfe5737a29adc7c0"><td class="memTemplItemLeft" align="right" valign="top">constexpr bool </td><td class="memTemplItemRight" valign="bottom"><b>std::experimental::fundamentals_v1::operator>=</b> (<a class="el" href="a09996.html">nullopt_t</a>, const <a class="el" href="a09988.html">optional</a>< _Tp > &__rhs) noexcept</td></tr> <tr class="separator:ga501734c1e41f41d0bfe5737a29adc7c0"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gadf7495f5951c509f62df399d0e088445"><td class="memTemplParams" colspan="2"><a id="gadf7495f5951c509f62df399d0e088445"></a> template<typename _Tp > </td></tr> <tr class="memitem:gadf7495f5951c509f62df399d0e088445"><td class="memTemplItemLeft" align="right" valign="top">constexpr bool </td><td class="memTemplItemRight" valign="bottom"><b>std::experimental::fundamentals_v1::operator>=</b> (const <a class="el" href="a09988.html">optional</a>< _Tp > &__lhs, const _Tp &__rhs)</td></tr> <tr class="separator:gadf7495f5951c509f62df399d0e088445"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga1df8d87902badff8cfcfa595b6db252a"><td class="memTemplParams" colspan="2"><a id="ga1df8d87902badff8cfcfa595b6db252a"></a> template<typename _Tp > </td></tr> <tr class="memitem:ga1df8d87902badff8cfcfa595b6db252a"><td class="memTemplItemLeft" align="right" valign="top">constexpr bool </td><td class="memTemplItemRight" valign="bottom"><b>std::experimental::fundamentals_v1::operator>=</b> (const _Tp &__lhs, const <a class="el" href="a09988.html">optional</a>< _Tp > &__rhs)</td></tr> <tr class="separator:ga1df8d87902badff8cfcfa595b6db252a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gaf01b6218334faed161011f0a40eac4c4"><td class="memTemplParams" colspan="2"><a id="gaf01b6218334faed161011f0a40eac4c4"></a> template<typename _Tp > </td></tr> <tr class="memitem:gaf01b6218334faed161011f0a40eac4c4"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>std::experimental::fundamentals_v1::swap</b> (<a class="el" href="a09988.html">optional</a>< _Tp > &__lhs, <a class="el" href="a09988.html">optional</a>< _Tp > &__rhs) noexcept(noexcept(__lhs.swap(__rhs)))</td></tr> <tr class="separator:gaf01b6218334faed161011f0a40eac4c4"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a> Variables</h2></td></tr> <tr class="memitem:ga69b3880c858acc1b7f88478d209b2fb3"><td class="memItemLeft" align="right" valign="top">constexpr <a class="el" href="a09992.html">in_place_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a01515.html#ga69b3880c858acc1b7f88478d209b2fb3">std::experimental::fundamentals_v1::in_place</a></td></tr> <tr class="separator:ga69b3880c858acc1b7f88478d209b2fb3"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga2221e221b29838a39e88d176b5859900"><td class="memItemLeft" align="right" valign="top">constexpr <a class="el" href="a09996.html">nullopt_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a01515.html#ga2221e221b29838a39e88d176b5859900">std::experimental::fundamentals_v1::nullopt</a></td></tr> <tr class="separator:ga2221e221b29838a39e88d176b5859900"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <p>Class template for optional values and surrounding facilities, as described in n3793 "A proposal to add a utility class to represent optional objects (Revision 5)". </p> <h2 class="groupheader">Function Documentation</h2> <a id="gaec6098e9e49d3b1918c5de29086aeead"></a> <h2 class="memtitle"><span class="permalink"><a href="#gaec6098e9e49d3b1918c5de29086aeead">◆ </a></span>__constexpr_addressof()</h2> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _Tp > </div> <table class="memname"> <tr> <td class="memname">constexpr <a class="el" href="a01476.html#gaccc2a55dff256e901d69f67ef213d12c">enable_if_t</a><!<a class="el" href="a10020.html">_Has_addressof</a><_Tp>::value, _Tp*> std::experimental::fundamentals_v1::__constexpr_addressof </td> <td>(</td> <td class="paramtype">_Tp & </td> <td class="paramname"><em>__t</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>An overload that attempts to take the address of an lvalue as a constant expression. Falls back to __addressof in the presence of an overloaded addressof operator (unary operator&), in which case the call will not be a constant expression. </p> <p class="definition">Definition at line <a class="el" href="a01007_source.html#l00175">175</a> of file <a class="el" href="a01007_source.html">optional</a>.</p> <p class="reference">References <a class="el" href="a01007_source.html#l00175">std::experimental::fundamentals_v1::__constexpr_addressof()</a>.</p> <p class="reference">Referenced by <a class="el" href="a01007_source.html#l00175">std::experimental::fundamentals_v1::__constexpr_addressof()</a>.</p> </div> </div> <h2 class="groupheader">Variable Documentation</h2> <a id="ga69b3880c858acc1b7f88478d209b2fb3"></a> <h2 class="memtitle"><span class="permalink"><a href="#ga69b3880c858acc1b7f88478d209b2fb3">◆ </a></span>in_place</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">constexpr <a class="el" href="a09992.html">in_place_t</a> std::experimental::fundamentals_v1::in_place</td> </tr> </table> </div><div class="memdoc"> <p>Tag for in-place construction. </p> <p class="definition">Definition at line <a class="el" href="a01007_source.html#l00088">88</a> of file <a class="el" href="a01007_source.html">optional</a>.</p> </div> </div> <a id="ga2221e221b29838a39e88d176b5859900"></a> <h2 class="memtitle"><span class="permalink"><a href="#ga2221e221b29838a39e88d176b5859900">◆ </a></span>nullopt</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">constexpr <a class="el" href="a09996.html">nullopt_t</a> std::experimental::fundamentals_v1::nullopt</td> </tr> </table> </div><div class="memdoc"> <p>Tag to disengage optional objects. </p> <p class="definition">Definition at line <a class="el" href="a01007_source.html#l00107">107</a> of file <a class="el" href="a01007_source.html">optional</a>.</p> </div> </div> </div><!-- contents --> </div><!-- doc-content --> <!-- start footer part --> <div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> <ul> <li class="footer">Generated by <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.15 </li> </ul> </div> </body> </html>