<!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++: Utilities</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('a01477.html','');}); /* @license-end */ </script> <div id="doc-content"> <div class="header"> <div class="summary"> <a href="#groups">Modules</a> | <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">Utilities</div> </div> </div><!--header--> <div class="contents"> <div class="dynheader"> Collaboration diagram for Utilities:</div> <div class="dyncontent"> <center><table><tr><td><div class="center"><iframe scrolling="no" frameborder="0" src="a01477.svg" width="247" height="227"><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="groups"></a> Modules</h2></td></tr> <tr class="memitem:a01496"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a01496.html">Function Objects</a></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a01471"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a01471.html">Memory</a></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a01476"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a01476.html">Metaprogramming</a></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a01474"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a01474.html">Rational Arithmetic</a></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a01466"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a01466.html">Time</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="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="a02904.html">std::_Tuple_impl< _Idx, _Elements ></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="a02908.html">std::_Tuple_impl< _Idx, _Head, _Tail... ></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="a01812.html">std::bitset< _Nb ></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="a07764.html">std::pair< _T1, _T2 ></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="a07744.html">std::piecewise_construct_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="a02880.html">std::tuple< _Elements ></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="a02932.html">std::tuple< _T1, _T2 ></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="a02944.html">std::tuple_element< 0, tuple< _Head, _Tail... > ></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="a02940.html">std::tuple_element< __i, tuple< _Head, _Tail... > ></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="a02948.html">std::tuple_element< __i, tuple<> ></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="a02936.html">std::tuple_size< tuple< _Elements... > ></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="a03032.html">std::type_index</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="a03028.html">std::uses_allocator< tuple< _Types... >, _Alloc ></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:ga535e0cc4e6f1608e66d07a2ff1d7e665"><td class="memItemLeft" align="right" valign="top"><a id="ga535e0cc4e6f1608e66d07a2ff1d7e665"></a> #define </td><td class="memItemRight" valign="bottom"><b>__cpp_lib_tuples_by_type</b></td></tr> <tr class="separator:ga535e0cc4e6f1608e66d07a2ff1d7e665"><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:gae416b8cdb0fbfe120244c45cf2521b91"><td class="memTemplParams" colspan="2"><a id="gae416b8cdb0fbfe120244c45cf2521b91"></a> template<typename _Tp > </td></tr> <tr class="memitem:gae416b8cdb0fbfe120244c45cf2521b91"><td class="memTemplItemLeft" align="right" valign="top">using </td><td class="memTemplItemRight" valign="bottom"><b>std::__empty_not_final</b> = typename <a class="el" href="a03044.html">conditional</a>< __is_final(_Tp), <a class="el" href="a01476.html#gaebe6729ab5488ecc76c762873d226857">false_type</a>, __is_empty_non_tuple< _Tp > >::type</td></tr> <tr class="separator:gae416b8cdb0fbfe120244c45cf2521b91"><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:gade65ba1c1fd684cf294419ce44f400d6"><td class="memTemplParams" colspan="2"><a id="gade65ba1c1fd684cf294419ce44f400d6"></a> template<typename... _Args1, typename... _Args2> </td></tr> <tr class="memitem:gade65ba1c1fd684cf294419ce44f400d6"><td class="memTemplItemLeft" align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><b>std::pair< _T1, _T2 >::pair</b> (<a class="el" href="a07744.html">piecewise_construct_t</a>, <a class="el" href="a02880.html">tuple</a>< _Args1... >, <a class="el" href="a02880.html">tuple</a>< _Args2... >)</td></tr> <tr class="separator:gade65ba1c1fd684cf294419ce44f400d6"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga1954d5552e24586051011312041033f6"><td class="memTemplParams" colspan="2">template<typename _Tp > </td></tr> <tr class="memitem:ga1954d5552e24586051011312041033f6"><td class="memTemplItemLeft" align="right" valign="top">constexpr _Tp * </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01477.html#ga1954d5552e24586051011312041033f6">std::__addressof</a> (_Tp &__r) noexcept</td></tr> <tr class="separator:ga1954d5552e24586051011312041033f6"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga9e545d1ff43132a62c7b4cea284ef108"><td class="memTemplParams" colspan="2"><a id="ga9e545d1ff43132a62c7b4cea284ef108"></a> template<typename _Tp , typename _Up = _Tp> </td></tr> <tr class="memitem:ga9e545d1ff43132a62c7b4cea284ef108"><td class="memTemplItemLeft" align="right" valign="top">_Tp </td><td class="memTemplItemRight" valign="bottom"><b>std::__exchange</b> (_Tp &__obj, _Up &&__new_val)</td></tr> <tr class="separator:ga9e545d1ff43132a62c7b4cea284ef108"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga9338f50b32c46ce937b4c91e88fcd3c0"><td class="memTemplParams" colspan="2"><a id="ga9338f50b32c46ce937b4c91e88fcd3c0"></a> template<std::size_t __i, typename _Head , typename... _Tail> </td></tr> <tr class="memitem:ga9338f50b32c46ce937b4c91e88fcd3c0"><td class="memTemplItemLeft" align="right" valign="top">constexpr _Head & </td><td class="memTemplItemRight" valign="bottom"><b>std::__get_helper</b> (<a class="el" href="a02904.html">_Tuple_impl</a>< __i, _Head, _Tail... > &__t) noexcept</td></tr> <tr class="separator:ga9338f50b32c46ce937b4c91e88fcd3c0"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga610b9ad7184d4a1a8425ce506d383b8e"><td class="memTemplParams" colspan="2"><a id="ga610b9ad7184d4a1a8425ce506d383b8e"></a> template<std::size_t __i, typename _Head , typename... _Tail> </td></tr> <tr class="memitem:ga610b9ad7184d4a1a8425ce506d383b8e"><td class="memTemplItemLeft" align="right" valign="top">constexpr const _Head & </td><td class="memTemplItemRight" valign="bottom"><b>std::__get_helper</b> (const <a class="el" href="a02904.html">_Tuple_impl</a>< __i, _Head, _Tail... > &__t) noexcept</td></tr> <tr class="separator:ga610b9ad7184d4a1a8425ce506d383b8e"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gac5e6184c5a5323deda9a257719b400c6"><td class="memTemplParams" colspan="2"><a id="gac5e6184c5a5323deda9a257719b400c6"></a> template<typename _Head , size_t __i, typename... _Tail> </td></tr> <tr class="memitem:gac5e6184c5a5323deda9a257719b400c6"><td class="memTemplItemLeft" align="right" valign="top">constexpr _Head & </td><td class="memTemplItemRight" valign="bottom"><b>std::__get_helper2</b> (<a class="el" href="a02904.html">_Tuple_impl</a>< __i, _Head, _Tail... > &__t) noexcept</td></tr> <tr class="separator:gac5e6184c5a5323deda9a257719b400c6"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga06a19e5431271c9fdf64a4e038788ce2"><td class="memTemplParams" colspan="2"><a id="ga06a19e5431271c9fdf64a4e038788ce2"></a> template<typename _Head , size_t __i, typename... _Tail> </td></tr> <tr class="memitem:ga06a19e5431271c9fdf64a4e038788ce2"><td class="memTemplItemLeft" align="right" valign="top">constexpr const _Head & </td><td class="memTemplItemRight" valign="bottom"><b>std::__get_helper2</b> (const <a class="el" href="a02904.html">_Tuple_impl</a>< __i, _Head, _Tail... > &__t) noexcept</td></tr> <tr class="separator:ga06a19e5431271c9fdf64a4e038788ce2"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gab1f369bc187c426018bdf6cb2330bd9e"><td class="memTemplParams" colspan="2"><a id="gab1f369bc187c426018bdf6cb2330bd9e"></a> template<typename _Tp , typename _Up = typename __inv_unwrap<_Tp>::type> </td></tr> <tr class="memitem:gab1f369bc187c426018bdf6cb2330bd9e"><td class="memTemplItemLeft" align="right" valign="top">constexpr _Up && </td><td class="memTemplItemRight" valign="bottom"><b>std::__invfwd</b> (typename <a class="el" href="a03932.html">remove_reference</a>< _Tp >::type &__t) noexcept</td></tr> <tr class="separator:gab1f369bc187c426018bdf6cb2330bd9e"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga5f5136396a5ab3c02543bb01d4364f40"><td class="memTemplParams" colspan="2">template<typename _Callable , typename... _Args> </td></tr> <tr class="memitem:ga5f5136396a5ab3c02543bb01d4364f40"><td class="memTemplItemLeft" align="right" valign="top">constexpr __invoke_result< _Callable, _Args... >::type </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01477.html#ga5f5136396a5ab3c02543bb01d4364f40">std::__invoke</a> (_Callable &&__fn, _Args &&... __args) noexcept(__is_nothrow_invocable< _Callable, _Args... >::value)</td></tr> <tr class="separator:ga5f5136396a5ab3c02543bb01d4364f40"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gad4670437b33805bbd91b00e576f054f1"><td class="memTemplParams" colspan="2"><a id="gad4670437b33805bbd91b00e576f054f1"></a> template<typename _Res , typename _Fn , typename... _Args> </td></tr> <tr class="memitem:gad4670437b33805bbd91b00e576f054f1"><td class="memTemplItemLeft" align="right" valign="top">constexpr _Res </td><td class="memTemplItemRight" valign="bottom"><b>std::__invoke_impl</b> (__invoke_other, _Fn &&__f, _Args &&... __args)</td></tr> <tr class="separator:gad4670437b33805bbd91b00e576f054f1"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga3cd1d577695405f215a7594bb91abd0f"><td class="memTemplParams" colspan="2"><a id="ga3cd1d577695405f215a7594bb91abd0f"></a> template<typename _Res , typename _MemFun , typename _Tp , typename... _Args> </td></tr> <tr class="memitem:ga3cd1d577695405f215a7594bb91abd0f"><td class="memTemplItemLeft" align="right" valign="top">constexpr _Res </td><td class="memTemplItemRight" valign="bottom"><b>std::__invoke_impl</b> (__invoke_memfun_ref, _MemFun &&__f, _Tp &&__t, _Args &&... __args)</td></tr> <tr class="separator:ga3cd1d577695405f215a7594bb91abd0f"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gaa8e9c51815e85e2a0b2d82ca32037a83"><td class="memTemplParams" colspan="2"><a id="gaa8e9c51815e85e2a0b2d82ca32037a83"></a> template<typename _Res , typename _MemFun , typename _Tp , typename... _Args> </td></tr> <tr class="memitem:gaa8e9c51815e85e2a0b2d82ca32037a83"><td class="memTemplItemLeft" align="right" valign="top">constexpr _Res </td><td class="memTemplItemRight" valign="bottom"><b>std::__invoke_impl</b> (__invoke_memfun_deref, _MemFun &&__f, _Tp &&__t, _Args &&... __args)</td></tr> <tr class="separator:gaa8e9c51815e85e2a0b2d82ca32037a83"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gaaca54b1aa93d0f86a7c2d52b2d51d54e"><td class="memTemplParams" colspan="2"><a id="gaaca54b1aa93d0f86a7c2d52b2d51d54e"></a> template<typename _Res , typename _MemPtr , typename _Tp > </td></tr> <tr class="memitem:gaaca54b1aa93d0f86a7c2d52b2d51d54e"><td class="memTemplItemLeft" align="right" valign="top">constexpr _Res </td><td class="memTemplItemRight" valign="bottom"><b>std::__invoke_impl</b> (__invoke_memobj_ref, _MemPtr &&__f, _Tp &&__t)</td></tr> <tr class="separator:gaaca54b1aa93d0f86a7c2d52b2d51d54e"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga2370ab35ad4f59f042ed07a284cb770f"><td class="memTemplParams" colspan="2"><a id="ga2370ab35ad4f59f042ed07a284cb770f"></a> template<typename _Res , typename _MemPtr , typename _Tp > </td></tr> <tr class="memitem:ga2370ab35ad4f59f042ed07a284cb770f"><td class="memTemplItemLeft" align="right" valign="top">constexpr _Res </td><td class="memTemplItemRight" valign="bottom"><b>std::__invoke_impl</b> (__invoke_memobj_deref, _MemPtr &&__f, _Tp &&__t)</td></tr> <tr class="separator:ga2370ab35ad4f59f042ed07a284cb770f"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gafffcfc895d2cfa7c934ec045e884faec"><td class="memTemplParams" colspan="2">template<typename _Tp > </td></tr> <tr class="memitem:gafffcfc895d2cfa7c934ec045e884faec"><td class="memTemplItemLeft" align="right" valign="top">_GLIBCXX17_CONSTEXPR _Tp * </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01477.html#gafffcfc895d2cfa7c934ec045e884faec">std::addressof</a> (_Tp &__r) noexcept</td></tr> <tr class="separator:gafffcfc895d2cfa7c934ec045e884faec"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga04fabfaa5829756b44caf6b5f80e4570"><td class="memTemplParams" colspan="2"><a id="ga04fabfaa5829756b44caf6b5f80e4570"></a> template<typename _Tp > </td></tr> <tr class="memitem:ga04fabfaa5829756b44caf6b5f80e4570"><td class="memTemplItemLeft" align="right" valign="top">const _Tp * </td><td class="memTemplItemRight" valign="bottom"><b>std::addressof</b> (const _Tp &&)=delete</td></tr> <tr class="separator:ga04fabfaa5829756b44caf6b5f80e4570"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gacb5baec338e12b99cb6bddea7506c7c6"><td class="memTemplParams" colspan="2">template<typename _Tp > </td></tr> <tr class="memitem:gacb5baec338e12b99cb6bddea7506c7c6"><td class="memTemplItemLeft" align="right" valign="top">constexpr _Tp && </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01477.html#gacb5baec338e12b99cb6bddea7506c7c6">std::forward</a> (typename <a class="el" href="a03932.html">std::remove_reference</a>< _Tp >::type &__t) noexcept</td></tr> <tr class="separator:gacb5baec338e12b99cb6bddea7506c7c6"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gade8e8737b971a056c0ebba2de0295467"><td class="memTemplParams" colspan="2">template<typename _Tp > </td></tr> <tr class="memitem:gade8e8737b971a056c0ebba2de0295467"><td class="memTemplItemLeft" align="right" valign="top">constexpr _Tp && </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01477.html#gade8e8737b971a056c0ebba2de0295467">std::forward</a> (typename <a class="el" href="a03932.html">std::remove_reference</a>< _Tp >::type &&__t) noexcept</td></tr> <tr class="separator:gade8e8737b971a056c0ebba2de0295467"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gabb17aea09199e2c250d78b7657837144"><td class="memTemplParams" colspan="2"><a id="gabb17aea09199e2c250d78b7657837144"></a> template<typename... _Elements> </td></tr> <tr class="memitem:gabb17aea09199e2c250d78b7657837144"><td class="memTemplItemLeft" align="right" valign="top">constexpr <a class="el" href="a02880.html">tuple</a>< _Elements &&... > </td><td class="memTemplItemRight" valign="bottom"><b>std::forward_as_tuple</b> (_Elements &&... __args) noexcept</td></tr> <tr class="separator:gabb17aea09199e2c250d78b7657837144"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga7f7d7109f98b031678c904fdd2a3613c"><td class="memTemplParams" colspan="2">template<std::size_t __i, typename... _Elements> </td></tr> <tr class="memitem:ga7f7d7109f98b031678c904fdd2a3613c"><td class="memTemplItemLeft" align="right" valign="top">constexpr __tuple_element_t< __i, <a class="el" href="a02880.html">tuple</a>< _Elements... > > & </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01477.html#ga7f7d7109f98b031678c904fdd2a3613c">std::get</a> (<a class="el" href="a02880.html">tuple</a>< _Elements... > &__t) noexcept</td></tr> <tr class="separator:ga7f7d7109f98b031678c904fdd2a3613c"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga0387c70ab722f736a4ba52998469f1b3"><td class="memTemplParams" colspan="2">template<std::size_t __i, typename... _Elements> </td></tr> <tr class="memitem:ga0387c70ab722f736a4ba52998469f1b3"><td class="memTemplItemLeft" align="right" valign="top">constexpr const __tuple_element_t< __i, <a class="el" href="a02880.html">tuple</a>< _Elements... > > & </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01477.html#ga0387c70ab722f736a4ba52998469f1b3">std::get</a> (const <a class="el" href="a02880.html">tuple</a>< _Elements... > &__t) noexcept</td></tr> <tr class="separator:ga0387c70ab722f736a4ba52998469f1b3"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga2403a27abb7055649be4b8176a87944f"><td class="memTemplParams" colspan="2">template<std::size_t __i, typename... _Elements> </td></tr> <tr class="memitem:ga2403a27abb7055649be4b8176a87944f"><td class="memTemplItemLeft" align="right" valign="top">constexpr __tuple_element_t< __i, <a class="el" href="a02880.html">tuple</a>< _Elements... > > && </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01477.html#ga2403a27abb7055649be4b8176a87944f">std::get</a> (<a class="el" href="a02880.html">tuple</a>< _Elements... > &&__t) noexcept</td></tr> <tr class="separator:ga2403a27abb7055649be4b8176a87944f"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga806a6004413f8b57ac2a1540711e2843"><td class="memTemplParams" colspan="2">template<std::size_t __i, typename... _Elements> </td></tr> <tr class="memitem:ga806a6004413f8b57ac2a1540711e2843"><td class="memTemplItemLeft" align="right" valign="top">constexpr const __tuple_element_t< __i, <a class="el" href="a02880.html">tuple</a>< _Elements... > > && </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01477.html#ga806a6004413f8b57ac2a1540711e2843">std::get</a> (const <a class="el" href="a02880.html">tuple</a>< _Elements... > &&__t) noexcept</td></tr> <tr class="separator:ga806a6004413f8b57ac2a1540711e2843"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga1a04510341e660eac4f8f6b062e935dc"><td class="memTemplParams" colspan="2">template<typename _Tp , typename... _Types> </td></tr> <tr class="memitem:ga1a04510341e660eac4f8f6b062e935dc"><td class="memTemplItemLeft" align="right" valign="top">constexpr _Tp & </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01477.html#ga1a04510341e660eac4f8f6b062e935dc">std::get</a> (<a class="el" href="a02880.html">tuple</a>< _Types... > &__t) noexcept</td></tr> <tr class="separator:ga1a04510341e660eac4f8f6b062e935dc"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga3f34a08fe13bed7a1d605c7ca6647ecc"><td class="memTemplParams" colspan="2">template<typename _Tp , typename... _Types> </td></tr> <tr class="memitem:ga3f34a08fe13bed7a1d605c7ca6647ecc"><td class="memTemplItemLeft" align="right" valign="top">constexpr _Tp && </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01477.html#ga3f34a08fe13bed7a1d605c7ca6647ecc">std::get</a> (<a class="el" href="a02880.html">tuple</a>< _Types... > &&__t) noexcept</td></tr> <tr class="separator:ga3f34a08fe13bed7a1d605c7ca6647ecc"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gadaa769abd0441f45a1c3968555cd9a21"><td class="memTemplParams" colspan="2">template<typename _Tp , typename... _Types> </td></tr> <tr class="memitem:gadaa769abd0441f45a1c3968555cd9a21"><td class="memTemplItemLeft" align="right" valign="top">constexpr const _Tp & </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01477.html#gadaa769abd0441f45a1c3968555cd9a21">std::get</a> (const <a class="el" href="a02880.html">tuple</a>< _Types... > &__t) noexcept</td></tr> <tr class="separator:gadaa769abd0441f45a1c3968555cd9a21"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gabf19639570c7f6a7025361d7f2d41ed7"><td class="memTemplParams" colspan="2">template<typename _Tp , typename... _Types> </td></tr> <tr class="memitem:gabf19639570c7f6a7025361d7f2d41ed7"><td class="memTemplItemLeft" align="right" valign="top">constexpr const _Tp && </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01477.html#gabf19639570c7f6a7025361d7f2d41ed7">std::get</a> (const <a class="el" href="a02880.html">tuple</a>< _Types... > &&__t) noexcept</td></tr> <tr class="separator:gabf19639570c7f6a7025361d7f2d41ed7"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga0409e288f07b697cb6885d1002df0bd6"><td class="memTemplParams" colspan="2">template<typename _T1 , typename _T2 > </td></tr> <tr class="memitem:ga0409e288f07b697cb6885d1002df0bd6"><td class="memTemplItemLeft" align="right" valign="top">constexpr <a class="el" href="a07764.html">pair</a>< typename __decay_and_strip< _T1 >::__type, typename __decay_and_strip< _T2 >::__type > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01477.html#ga0409e288f07b697cb6885d1002df0bd6">std::make_pair</a> (_T1 &&__x, _T2 &&__y)</td></tr> <tr class="separator:ga0409e288f07b697cb6885d1002df0bd6"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gac7fb2321d72ae1b16a314647a02ebce0"><td class="memTemplParams" colspan="2"><a id="gac7fb2321d72ae1b16a314647a02ebce0"></a> template<typename... _Elements> </td></tr> <tr class="memitem:gac7fb2321d72ae1b16a314647a02ebce0"><td class="memTemplItemLeft" align="right" valign="top">constexpr <a class="el" href="a02880.html">tuple</a>< typename __decay_and_strip< _Elements >::__type... > </td><td class="memTemplItemRight" valign="bottom"><b>std::make_tuple</b> (_Elements &&... __args)</td></tr> <tr class="separator:gac7fb2321d72ae1b16a314647a02ebce0"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga9f81219bfbfaac50d44f79095a639620"><td class="memTemplParams" colspan="2">template<typename _Tp > </td></tr> <tr class="memitem:ga9f81219bfbfaac50d44f79095a639620"><td class="memTemplItemLeft" align="right" valign="top">constexpr <a class="el" href="a03932.html">std::remove_reference</a>< _Tp >::type && </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01477.html#ga9f81219bfbfaac50d44f79095a639620">std::move</a> (_Tp &&__t) noexcept</td></tr> <tr class="separator:ga9f81219bfbfaac50d44f79095a639620"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gad065507b1d170a56e1ee2c77251554a3"><td class="memTemplParams" colspan="2">template<typename _Tp > </td></tr> <tr class="memitem:gad065507b1d170a56e1ee2c77251554a3"><td class="memTemplItemLeft" align="right" valign="top">constexpr <a class="el" href="a03044.html">conditional</a>< __move_if_noexcept_cond< _Tp >::value, const _Tp &, _Tp && >::type </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01477.html#gad065507b1d170a56e1ee2c77251554a3">std::move_if_noexcept</a> (_Tp &__x) noexcept</td></tr> <tr class="separator:gad065507b1d170a56e1ee2c77251554a3"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga226dae1d9406b9c3804f20d31c15e21a"><td class="memTemplParams" colspan="2">template<typename _T1 , typename _T2 > </td></tr> <tr class="memitem:ga226dae1d9406b9c3804f20d31c15e21a"><td class="memTemplItemLeft" align="right" valign="top">constexpr bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01477.html#ga226dae1d9406b9c3804f20d31c15e21a">std::operator!=</a> (const <a class="el" href="a07764.html">pair</a>< _T1, _T2 > &__x, const <a class="el" href="a07764.html">pair</a>< _T1, _T2 > &__y)</td></tr> <tr class="separator:ga226dae1d9406b9c3804f20d31c15e21a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gae6dbe15cdb042b2fdea0c5aac5fa4565"><td class="memTemplParams" colspan="2"><a id="gae6dbe15cdb042b2fdea0c5aac5fa4565"></a> template<typename... _TElements, typename... _UElements> </td></tr> <tr class="memitem:gae6dbe15cdb042b2fdea0c5aac5fa4565"><td class="memTemplItemLeft" align="right" valign="top">constexpr bool </td><td class="memTemplItemRight" valign="bottom"><b>std::operator!=</b> (const <a class="el" href="a02880.html">tuple</a>< _TElements... > &__t, const <a class="el" href="a02880.html">tuple</a>< _UElements... > &__u)</td></tr> <tr class="separator:gae6dbe15cdb042b2fdea0c5aac5fa4565"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga69e152dbea8e3ca77b307634084fb164"><td class="memTemplParams" colspan="2">template<typename _T1 , typename _T2 > </td></tr> <tr class="memitem:ga69e152dbea8e3ca77b307634084fb164"><td class="memTemplItemLeft" align="right" valign="top">constexpr bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01477.html#ga69e152dbea8e3ca77b307634084fb164">std::operator<</a> (const <a class="el" href="a07764.html">pair</a>< _T1, _T2 > &__x, const <a class="el" href="a07764.html">pair</a>< _T1, _T2 > &__y)</td></tr> <tr class="separator:ga69e152dbea8e3ca77b307634084fb164"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga05a8fc1593474be4726d4e5148a97ca6"><td class="memTemplParams" colspan="2"><a id="ga05a8fc1593474be4726d4e5148a97ca6"></a> template<typename... _TElements, typename... _UElements> </td></tr> <tr class="memitem:ga05a8fc1593474be4726d4e5148a97ca6"><td class="memTemplItemLeft" align="right" valign="top">constexpr bool </td><td class="memTemplItemRight" valign="bottom"><b>std::operator<</b> (const <a class="el" href="a02880.html">tuple</a>< _TElements... > &__t, const <a class="el" href="a02880.html">tuple</a>< _UElements... > &__u)</td></tr> <tr class="separator:ga05a8fc1593474be4726d4e5148a97ca6"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga9e2bd7d69af9d03b7df4858595a3202e"><td class="memTemplParams" colspan="2">template<typename _T1 , typename _T2 > </td></tr> <tr class="memitem:ga9e2bd7d69af9d03b7df4858595a3202e"><td class="memTemplItemLeft" align="right" valign="top">constexpr bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01477.html#ga9e2bd7d69af9d03b7df4858595a3202e">std::operator<=</a> (const <a class="el" href="a07764.html">pair</a>< _T1, _T2 > &__x, const <a class="el" href="a07764.html">pair</a>< _T1, _T2 > &__y)</td></tr> <tr class="separator:ga9e2bd7d69af9d03b7df4858595a3202e"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gabfac5f43717e1671f39e377d11a0e2c3"><td class="memTemplParams" colspan="2"><a id="gabfac5f43717e1671f39e377d11a0e2c3"></a> template<typename... _TElements, typename... _UElements> </td></tr> <tr class="memitem:gabfac5f43717e1671f39e377d11a0e2c3"><td class="memTemplItemLeft" align="right" valign="top">constexpr bool </td><td class="memTemplItemRight" valign="bottom"><b>std::operator<=</b> (const <a class="el" href="a02880.html">tuple</a>< _TElements... > &__t, const <a class="el" href="a02880.html">tuple</a>< _UElements... > &__u)</td></tr> <tr class="separator:gabfac5f43717e1671f39e377d11a0e2c3"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga5559f33b5ba6dbf83e961888d324dd40"><td class="memTemplParams" colspan="2">template<typename _T1 , typename _T2 > </td></tr> <tr class="memitem:ga5559f33b5ba6dbf83e961888d324dd40"><td class="memTemplItemLeft" align="right" valign="top">constexpr bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01477.html#ga5559f33b5ba6dbf83e961888d324dd40">std::operator==</a> (const <a class="el" href="a07764.html">pair</a>< _T1, _T2 > &__x, const <a class="el" href="a07764.html">pair</a>< _T1, _T2 > &__y)</td></tr> <tr class="separator:ga5559f33b5ba6dbf83e961888d324dd40"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga9649983540a8ec8cc9707ca7e53f38dd"><td class="memTemplParams" colspan="2"><a id="ga9649983540a8ec8cc9707ca7e53f38dd"></a> template<typename... _TElements, typename... _UElements> </td></tr> <tr class="memitem:ga9649983540a8ec8cc9707ca7e53f38dd"><td class="memTemplItemLeft" align="right" valign="top">constexpr bool </td><td class="memTemplItemRight" valign="bottom"><b>std::operator==</b> (const <a class="el" href="a02880.html">tuple</a>< _TElements... > &__t, const <a class="el" href="a02880.html">tuple</a>< _UElements... > &__u)</td></tr> <tr class="separator:ga9649983540a8ec8cc9707ca7e53f38dd"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga00de6fe7684f71fc08bad81b4bc65c52"><td class="memTemplParams" colspan="2">template<typename _T1 , typename _T2 > </td></tr> <tr class="memitem:ga00de6fe7684f71fc08bad81b4bc65c52"><td class="memTemplItemLeft" align="right" valign="top">constexpr bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01477.html#ga00de6fe7684f71fc08bad81b4bc65c52">std::operator></a> (const <a class="el" href="a07764.html">pair</a>< _T1, _T2 > &__x, const <a class="el" href="a07764.html">pair</a>< _T1, _T2 > &__y)</td></tr> <tr class="separator:ga00de6fe7684f71fc08bad81b4bc65c52"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga16aa3269487ac851836d11cc1f10efe7"><td class="memTemplParams" colspan="2"><a id="ga16aa3269487ac851836d11cc1f10efe7"></a> template<typename... _TElements, typename... _UElements> </td></tr> <tr class="memitem:ga16aa3269487ac851836d11cc1f10efe7"><td class="memTemplItemLeft" align="right" valign="top">constexpr bool </td><td class="memTemplItemRight" valign="bottom"><b>std::operator></b> (const <a class="el" href="a02880.html">tuple</a>< _TElements... > &__t, const <a class="el" href="a02880.html">tuple</a>< _UElements... > &__u)</td></tr> <tr class="separator:ga16aa3269487ac851836d11cc1f10efe7"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga4abfa75dbeb7ee6922ab97aaaba57d47"><td class="memTemplParams" colspan="2">template<typename _T1 , typename _T2 > </td></tr> <tr class="memitem:ga4abfa75dbeb7ee6922ab97aaaba57d47"><td class="memTemplItemLeft" align="right" valign="top">constexpr bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01477.html#ga4abfa75dbeb7ee6922ab97aaaba57d47">std::operator>=</a> (const <a class="el" href="a07764.html">pair</a>< _T1, _T2 > &__x, const <a class="el" href="a07764.html">pair</a>< _T1, _T2 > &__y)</td></tr> <tr class="separator:ga4abfa75dbeb7ee6922ab97aaaba57d47"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gab50cf0b84fc8123badeda9f3d9168f14"><td class="memTemplParams" colspan="2"><a id="gab50cf0b84fc8123badeda9f3d9168f14"></a> template<typename... _TElements, typename... _UElements> </td></tr> <tr class="memitem:gab50cf0b84fc8123badeda9f3d9168f14"><td class="memTemplItemLeft" align="right" valign="top">constexpr bool </td><td class="memTemplItemRight" valign="bottom"><b>std::operator>=</b> (const <a class="el" href="a02880.html">tuple</a>< _TElements... > &__t, const <a class="el" href="a02880.html">tuple</a>< _UElements... > &__u)</td></tr> <tr class="separator:gab50cf0b84fc8123badeda9f3d9168f14"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga9d75305041fc556b922d4b3bd2667742"><td class="memTemplParams" colspan="2">template<typename _T1 , typename _T2 > </td></tr> <tr class="memitem:ga9d75305041fc556b922d4b3bd2667742"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a04188.html">enable_if</a>< __and_< __is_swappable< _T1 >, __is_swappable< _T2 > >::value >::type </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01477.html#ga9d75305041fc556b922d4b3bd2667742">std::swap</a> (<a class="el" href="a07764.html">pair</a>< _T1, _T2 > &__x, <a class="el" href="a07764.html">pair</a>< _T1, _T2 > &__y) noexcept(noexcept(__x.swap(__y)))</td></tr> <tr class="separator:ga9d75305041fc556b922d4b3bd2667742"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga77f74f34f378f6d6b5b987ab9a684c2d"><td class="memTemplParams" colspan="2">template<typename... _Elements> </td></tr> <tr class="memitem:ga77f74f34f378f6d6b5b987ab9a684c2d"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a04188.html">enable_if</a>< __and_< __is_swappable< _Elements >... >::value >::type </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01477.html#ga77f74f34f378f6d6b5b987ab9a684c2d">std::swap</a> (<a class="el" href="a02880.html">tuple</a>< _Elements... > &__x, <a class="el" href="a02880.html">tuple</a>< _Elements... > &__y) noexcept(noexcept(__x.swap(__y)))</td></tr> <tr class="separator:ga77f74f34f378f6d6b5b987ab9a684c2d"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gafa6fdf3b3bd0b4a333f150d62001e9fc"><td class="memTemplParams" colspan="2">template<typename _Tp > </td></tr> <tr class="memitem:gafa6fdf3b3bd0b4a333f150d62001e9fc"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a04188.html">enable_if</a>< __and_< __not_< __is_tuple_like< _Tp > >, <a class="el" href="a03608.html">is_move_constructible</a>< _Tp >, <a class="el" href="a03712.html">is_move_assignable</a>< _Tp > >::value >::type </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01477.html#gafa6fdf3b3bd0b4a333f150d62001e9fc">std::swap</a> (_Tp &__a, _Tp &__b) noexcept(__and_< <a class="el" href="a03676.html">is_nothrow_move_constructible</a>< _Tp >, <a class="el" href="a03752.html">is_nothrow_move_assignable</a>< _Tp >>::value)</td></tr> <tr class="separator:gafa6fdf3b3bd0b4a333f150d62001e9fc"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga6b5d2a0f9529c41034917992630c6c85"><td class="memTemplParams" colspan="2">template<typename _Tp , size_t _Nm> </td></tr> <tr class="memitem:ga6b5d2a0f9529c41034917992630c6c85"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a04188.html">enable_if</a>< __is_swappable< _Tp >::value >::type </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01477.html#ga6b5d2a0f9529c41034917992630c6c85">std::swap</a> (_Tp(&__a)[_Nm], _Tp(&__b)[_Nm]) noexcept(__is_nothrow_swappable< _Tp >::value)</td></tr> <tr class="separator:ga6b5d2a0f9529c41034917992630c6c85"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga2445a380e4367c31c737e4a1f1855950"><td class="memTemplParams" colspan="2">template<typename... _Elements> </td></tr> <tr class="memitem:ga2445a380e4367c31c737e4a1f1855950"><td class="memTemplItemLeft" align="right" valign="top">constexpr <a class="el" href="a02880.html">tuple</a>< _Elements &... > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01477.html#ga2445a380e4367c31c737e4a1f1855950">std::tie</a> (_Elements &... __args) noexcept</td></tr> <tr class="separator:ga2445a380e4367c31c737e4a1f1855950"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga23a2e3e40fefd39ffe278df7ebbd52a0"><td class="memTemplParams" colspan="2">template<typename... _Tpls, typename = typename enable_if<__and_<__is_tuple_like<_Tpls>...>::value>::type> </td></tr> <tr class="memitem:ga23a2e3e40fefd39ffe278df7ebbd52a0"><td class="memTemplItemLeft" align="right" valign="top">constexpr auto </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01477.html#ga23a2e3e40fefd39ffe278df7ebbd52a0">std::tuple_cat</a> (_Tpls &&... __tpls) -> typename __tuple_cat_result< _Tpls... >::__type</td></tr> <tr class="separator:ga23a2e3e40fefd39ffe278df7ebbd52a0"><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:gaf47c15e1fd4fb940e444560af27502fa"><td class="memItemLeft" align="right" valign="top"><a id="gaf47c15e1fd4fb940e444560af27502fa"></a> _GLIBCXX17_INLINE constexpr _Swallow_assign </td><td class="memItemRight" valign="bottom"><b>std::ignore</b></td></tr> <tr class="separator:gaf47c15e1fd4fb940e444560af27502fa"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga4be4b722e942cd646f19614bcff7a328"><td class="memItemLeft" align="right" valign="top">_GLIBCXX17_INLINE constexpr <a class="el" href="a07744.html">piecewise_construct_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a01477.html#ga4be4b722e942cd646f19614bcff7a328">std::piecewise_construct</a></td></tr> <tr class="separator:ga4be4b722e942cd646f19614bcff7a328"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <p>Components deemed generally useful. Includes pair, tuple, forward/move helpers, ratio, function object, metaprogramming and type traits, time, date, and memory functions. </p> <h2 class="groupheader">Function Documentation</h2> <a id="ga1954d5552e24586051011312041033f6"></a> <h2 class="memtitle"><span class="permalink"><a href="#ga1954d5552e24586051011312041033f6">◆ </a></span>__addressof()</h2> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _Tp > </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">constexpr _Tp* std::__addressof </td> <td>(</td> <td class="paramtype">_Tp & </td> <td class="paramname"><em>__r</em></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Same as C++11 std::addressof. </p> <p class="definition">Definition at line <a class="el" href="a00422_source.html#l00047">47</a> of file <a class="el" href="a00422_source.html">move.h</a>.</p> <p class="reference">Referenced by <a class="el" href="a01007_source.html#l00184">std::experimental::fundamentals_v1::__constexpr_addressof()</a>, <a class="el" href="a00536_source.html#l00193">std::_Destroy()</a>, <a class="el" href="a00422_source.html#l00138">std::addressof()</a>, <a class="el" href="a00179_source.html#l01201">std::begin()</a>, <a class="el" href="a00110_source.html#l00667">std::call_once()</a>, <a class="el" href="a00179_source.html#l01221">std::end()</a>, <a class="el" href="a00389_source.html#l00375">std::list< __inp, __rebind_inp >::merge()</a>, <a class="el" href="a17142_source.html#l00183">std::reverse_iterator< _Iterator >::operator->()</a>, <a class="el" href="a00338_source.html#l00140">std::forward_list< _Tp, _Alloc >::operator=()</a>, <a class="el" href="a00389_source.html#l00268">std::list< __inp, __rebind_inp >::operator=()</a>, <a class="el" href="a00389_source.html#l00326">std::list< __inp, __rebind_inp >::remove()</a>, <a class="el" href="a00425_source.html#l00151">std::rethrow_if_nested()</a>, and <a class="el" href="a00557_source.html#l01561">std::list< __inp, __rebind_inp >::splice()</a>.</p> </div> </div> <a id="ga5f5136396a5ab3c02543bb01d4364f40"></a> <h2 class="memtitle"><span class="permalink"><a href="#ga5f5136396a5ab3c02543bb01d4364f40">◆ </a></span>__invoke()</h2> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _Callable , typename... _Args> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">constexpr __invoke_result<_Callable, _Args...>::type std::__invoke </td> <td>(</td> <td class="paramtype">_Callable && </td> <td class="paramname"><em>__fn</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">_Args &&... </td> <td class="paramname"><em>__args</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">noexcept</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Invoke a callable object. </p> <p class="definition">Definition at line <a class="el" href="a00380_source.html#l00089">89</a> of file <a class="el" href="a00380_source.html">invoke.h</a>.</p> <p class="reference">Referenced by <a class="el" href="a00110_source.html#l00667">std::call_once()</a>.</p> </div> </div> <a id="gafffcfc895d2cfa7c934ec045e884faec"></a> <h2 class="memtitle"><span class="permalink"><a href="#gafffcfc895d2cfa7c934ec045e884faec">◆ </a></span>addressof()</h2> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _Tp > </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">_GLIBCXX17_CONSTEXPR _Tp* std::addressof </td> <td>(</td> <td class="paramtype">_Tp & </td> <td class="paramname"><em>__r</em></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Returns the actual address of the object or function referenced by r, even in the presence of an overloaded operator&. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">__r</td><td>Reference to an object or function. </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>The actual address. </dd></dl> <p class="definition">Definition at line <a class="el" href="a00422_source.html#l00138">138</a> of file <a class="el" href="a00422_source.html">move.h</a>.</p> <p class="reference">References <a class="el" href="a00422_source.html#l00047">std::__addressof()</a>.</p> <p class="reference">Referenced by <a class="el" href="a00446_source.html#l00141">std::pointer_traits< _Tp * >::pointer_to()</a>.</p> </div> </div> <a id="gacb5baec338e12b99cb6bddea7506c7c6"></a> <h2 class="memtitle"><span class="permalink"><a href="#gacb5baec338e12b99cb6bddea7506c7c6">◆ </a></span>forward() <span class="overload">[1/2]</span></h2> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _Tp > </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">constexpr _Tp&& std::forward </td> <td>(</td> <td class="paramtype">typename <a class="el" href="a03932.html">std::remove_reference</a>< _Tp >::type & </td> <td class="paramname"><em>__t</em></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">noexcept</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Forward an lvalue. </p> <dl class="section return"><dt>Returns</dt><dd>The parameter cast to the specified type.</dd></dl> <p>This function is used to implement "perfect forwarding". </p> <p class="definition">Definition at line <a class="el" href="a00422_source.html#l00074">74</a> of file <a class="el" href="a00422_source.html">move.h</a>.</p> </div> </div> <a id="gade8e8737b971a056c0ebba2de0295467"></a> <h2 class="memtitle"><span class="permalink"><a href="#gade8e8737b971a056c0ebba2de0295467">◆ </a></span>forward() <span class="overload">[2/2]</span></h2> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _Tp > </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">constexpr _Tp&& std::forward </td> <td>(</td> <td class="paramtype">typename <a class="el" href="a03932.html">std::remove_reference</a>< _Tp >::type && </td> <td class="paramname"><em>__t</em></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">noexcept</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Forward an rvalue. </p> <dl class="section return"><dt>Returns</dt><dd>The parameter cast to the specified type.</dd></dl> <p>This function is used to implement "perfect forwarding". </p> <p class="definition">Definition at line <a class="el" href="a00422_source.html#l00085">85</a> of file <a class="el" href="a00422_source.html">move.h</a>.</p> </div> </div> <a id="ga7f7d7109f98b031678c904fdd2a3613c"></a> <h2 class="memtitle"><span class="permalink"><a href="#ga7f7d7109f98b031678c904fdd2a3613c">◆ </a></span>get() <span class="overload">[1/8]</span></h2> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<std::size_t __i, typename... _Elements> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">constexpr __tuple_element_t<__i, <a class="el" href="a02880.html">tuple</a><_Elements...> >& std::get </td> <td>(</td> <td class="paramtype"><a class="el" href="a02880.html">tuple</a>< _Elements... > & </td> <td class="paramname"><em>__t</em></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">noexcept</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Return a reference to the ith element of a tuple. </p> <p class="definition">Definition at line <a class="el" href="a00161_source.html#l01314">1314</a> of file <a class="el" href="a00161_source.html">tuple</a>.</p> </div> </div> <a id="ga0387c70ab722f736a4ba52998469f1b3"></a> <h2 class="memtitle"><span class="permalink"><a href="#ga0387c70ab722f736a4ba52998469f1b3">◆ </a></span>get() <span class="overload">[2/8]</span></h2> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<std::size_t __i, typename... _Elements> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">constexpr const __tuple_element_t<__i, <a class="el" href="a02880.html">tuple</a><_Elements...> >& std::get </td> <td>(</td> <td class="paramtype">const <a class="el" href="a02880.html">tuple</a>< _Elements... > & </td> <td class="paramname"><em>__t</em></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">noexcept</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Return a const reference to the ith element of a const tuple. </p> <p class="definition">Definition at line <a class="el" href="a00161_source.html#l01320">1320</a> of file <a class="el" href="a00161_source.html">tuple</a>.</p> </div> </div> <a id="ga2403a27abb7055649be4b8176a87944f"></a> <h2 class="memtitle"><span class="permalink"><a href="#ga2403a27abb7055649be4b8176a87944f">◆ </a></span>get() <span class="overload">[3/8]</span></h2> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<std::size_t __i, typename... _Elements> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">constexpr __tuple_element_t<__i, <a class="el" href="a02880.html">tuple</a><_Elements...> >&& std::get </td> <td>(</td> <td class="paramtype"><a class="el" href="a02880.html">tuple</a>< _Elements... > && </td> <td class="paramname"><em>__t</em></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">noexcept</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Return an rvalue reference to the ith element of a tuple rvalue. </p> <p class="definition">Definition at line <a class="el" href="a00161_source.html#l01326">1326</a> of file <a class="el" href="a00161_source.html">tuple</a>.</p> </div> </div> <a id="ga806a6004413f8b57ac2a1540711e2843"></a> <h2 class="memtitle"><span class="permalink"><a href="#ga806a6004413f8b57ac2a1540711e2843">◆ </a></span>get() <span class="overload">[4/8]</span></h2> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<std::size_t __i, typename... _Elements> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">constexpr const __tuple_element_t<__i, <a class="el" href="a02880.html">tuple</a><_Elements...> >&& std::get </td> <td>(</td> <td class="paramtype">const <a class="el" href="a02880.html">tuple</a>< _Elements... > && </td> <td class="paramname"><em>__t</em></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">noexcept</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Return a const rvalue reference to the ith element of a const tuple rvalue. </p> <p class="definition">Definition at line <a class="el" href="a00161_source.html#l01335">1335</a> of file <a class="el" href="a00161_source.html">tuple</a>.</p> </div> </div> <a id="ga1a04510341e660eac4f8f6b062e935dc"></a> <h2 class="memtitle"><span class="permalink"><a href="#ga1a04510341e660eac4f8f6b062e935dc">◆ </a></span>get() <span class="overload">[5/8]</span></h2> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _Tp , typename... _Types> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">constexpr _Tp& std::get </td> <td>(</td> <td class="paramtype"><a class="el" href="a02880.html">tuple</a>< _Types... > & </td> <td class="paramname"><em>__t</em></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">noexcept</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Return a reference to the unique element of type _Tp of a tuple. </p> <p class="definition">Definition at line <a class="el" href="a00161_source.html#l01358">1358</a> of file <a class="el" href="a00161_source.html">tuple</a>.</p> </div> </div> <a id="ga3f34a08fe13bed7a1d605c7ca6647ecc"></a> <h2 class="memtitle"><span class="permalink"><a href="#ga3f34a08fe13bed7a1d605c7ca6647ecc">◆ </a></span>get() <span class="overload">[6/8]</span></h2> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _Tp , typename... _Types> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">constexpr _Tp&& std::get </td> <td>(</td> <td class="paramtype"><a class="el" href="a02880.html">tuple</a>< _Types... > && </td> <td class="paramname"><em>__t</em></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">noexcept</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Return a reference to the unique element of type _Tp of a tuple rvalue. </p> <p class="definition">Definition at line <a class="el" href="a00161_source.html#l01364">1364</a> of file <a class="el" href="a00161_source.html">tuple</a>.</p> </div> </div> <a id="gadaa769abd0441f45a1c3968555cd9a21"></a> <h2 class="memtitle"><span class="permalink"><a href="#gadaa769abd0441f45a1c3968555cd9a21">◆ </a></span>get() <span class="overload">[7/8]</span></h2> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _Tp , typename... _Types> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">constexpr const _Tp& std::get </td> <td>(</td> <td class="paramtype">const <a class="el" href="a02880.html">tuple</a>< _Types... > & </td> <td class="paramname"><em>__t</em></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">noexcept</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Return a const reference to the unique element of type _Tp of a tuple. </p> <p class="definition">Definition at line <a class="el" href="a00161_source.html#l01370">1370</a> of file <a class="el" href="a00161_source.html">tuple</a>.</p> </div> </div> <a id="gabf19639570c7f6a7025361d7f2d41ed7"></a> <h2 class="memtitle"><span class="permalink"><a href="#gabf19639570c7f6a7025361d7f2d41ed7">◆ </a></span>get() <span class="overload">[8/8]</span></h2> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _Tp , typename... _Types> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">constexpr const _Tp&& std::get </td> <td>(</td> <td class="paramtype">const <a class="el" href="a02880.html">tuple</a>< _Types... > && </td> <td class="paramname"><em>__t</em></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">noexcept</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Return a const reference to the unique element of type _Tp of a const tuple rvalue. </p> <p class="definition">Definition at line <a class="el" href="a00161_source.html#l01377">1377</a> of file <a class="el" href="a00161_source.html">tuple</a>.</p> </div> </div> <a id="ga0409e288f07b697cb6885d1002df0bd6"></a> <h2 class="memtitle"><span class="permalink"><a href="#ga0409e288f07b697cb6885d1002df0bd6">◆ </a></span>make_pair()</h2> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _T1 , typename _T2 > </div> <table class="memname"> <tr> <td class="memname">constexpr <a class="el" href="a07764.html">pair</a><typename __decay_and_strip<_T1>::__type, typename __decay_and_strip<_T2>::__type> std::make_pair </td> <td>(</td> <td class="paramtype">_T1 && </td> <td class="paramname"><em>__x</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">_T2 && </td> <td class="paramname"><em>__y</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>A convenience wrapper for creating a pair from two objects. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">__x</td><td>The first object. </td></tr> <tr><td class="paramname">__y</td><td>The second object. </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>A newly-constructed pair<> object of the appropriate type.</dd></dl> <p>The standard requires that the objects be passed by reference-to-const, but LWG issue #181 says they should be passed by const value. We follow the LWG by default. </p> <p class="definition">Definition at line <a class="el" href="a00572_source.html#l00524">524</a> of file <a class="el" href="a00572_source.html">stl_pair.h</a>.</p> <p class="reference">Referenced by <a class="el" href="a00527_source.html#l03769">std::__gen_two_uniform_ints()</a>, <a class="el" href="a00752_source.html#l00083">__gnu_debug::__get_distance()</a>, <a class="el" href="a00908_source.html#l00223">__gnu_parallel::__parallel_merge_advance()</a>, <a class="el" href="a00869_source.html#l00433">__gnu_parallel::__parallel_sort_qsb()</a>, <a class="el" href="a00752_source.html#l00109">__gnu_debug::__valid_range_aux()</a>, <a class="el" href="a00890_source.html#l00072">__gnu_parallel::__find_if_selector::_M_sequential_algorithm()</a>, <a class="el" href="a00890_source.html#l00186">__gnu_parallel::__find_first_of_selector< _FIterator >::_M_sequential_algorithm()</a>, <a class="el" href="a00911_source.html#l00388">__gnu_parallel::multiseq_selection()</a>, <a class="el" href="a00917_source.html#l00308">__gnu_parallel::parallel_sort_mwms_pu()</a>, and <a class="el" href="a01370_source.html#l00880">__gnu_pbds::detail::pat_trie_base::_Node_citer< Node, Leaf, Head, Inode, _CIterator, Iterator, _Alloc >::valid_prefix()</a>.</p> </div> </div> <a id="ga9f81219bfbfaac50d44f79095a639620"></a> <h2 class="memtitle"><span class="permalink"><a href="#ga9f81219bfbfaac50d44f79095a639620">◆ </a></span>move()</h2> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _Tp > </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">constexpr <a class="el" href="a03932.html">std::remove_reference</a><_Tp>::type&& std::move </td> <td>(</td> <td class="paramtype">_Tp && </td> <td class="paramname"><em>__t</em></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">noexcept</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Convert a value to an rvalue. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">__t</td><td>A thing of arbitrary type. </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>The parameter cast to an rvalue-reference to allow moving it. </dd></dl> <p class="definition">Definition at line <a class="el" href="a00422_source.html#l00099">99</a> of file <a class="el" href="a00422_source.html">move.h</a>.</p> </div> </div> <a id="gad065507b1d170a56e1ee2c77251554a3"></a> <h2 class="memtitle"><span class="permalink"><a href="#gad065507b1d170a56e1ee2c77251554a3">◆ </a></span>move_if_noexcept()</h2> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _Tp > </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">constexpr <a class="el" href="a03044.html">conditional</a><__move_if_noexcept_cond<_Tp>::value, const _Tp&, _Tp&&>::type std::move_if_noexcept </td> <td>(</td> <td class="paramtype">_Tp & </td> <td class="paramname"><em>__x</em></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">noexcept</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Conditionally convert a value to an rvalue. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">__x</td><td>A thing of arbitrary type. </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>The parameter, possibly cast to an rvalue-reference.</dd></dl> <p>Same as std::move unless the type's move constructor could throw and the type is copyable, in which case an lvalue-reference is returned instead. </p> <p class="definition">Definition at line <a class="el" href="a00422_source.html#l00119">119</a> of file <a class="el" href="a00422_source.html">move.h</a>.</p> </div> </div> <a id="ga226dae1d9406b9c3804f20d31c15e21a"></a> <h2 class="memtitle"><span class="permalink"><a href="#ga226dae1d9406b9c3804f20d31c15e21a">◆ </a></span>operator!=()</h2> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _T1 , typename _T2 > </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">constexpr bool std::operator!= </td> <td>(</td> <td class="paramtype">const <a class="el" href="a07764.html">pair</a>< _T1, _T2 > & </td> <td class="paramname"><em>__x</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="a07764.html">pair</a>< _T1, _T2 > & </td> <td class="paramname"><em>__y</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Uses <code>operator==</code> to find the result. </p> <p class="definition">Definition at line <a class="el" href="a00572_source.html#l00461">461</a> of file <a class="el" href="a00572_source.html">stl_pair.h</a>.</p> </div> </div> <a id="ga69e152dbea8e3ca77b307634084fb164"></a> <h2 class="memtitle"><span class="permalink"><a href="#ga69e152dbea8e3ca77b307634084fb164">◆ </a></span>operator<()</h2> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _T1 , typename _T2 > </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">constexpr bool std::operator< </td> <td>(</td> <td class="paramtype">const <a class="el" href="a07764.html">pair</a>< _T1, _T2 > & </td> <td class="paramname"><em>__x</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="a07764.html">pair</a>< _T1, _T2 > & </td> <td class="paramname"><em>__y</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span></span> </td> </tr> </table> </div><div class="memdoc"> <p><a href="http://gcc.gnu.org/onlinedocs/libstdc++/manual/utilities.html">http://gcc.gnu.org/onlinedocs/libstdc++/manual/utilities.html</a> </p> <p class="definition">Definition at line <a class="el" href="a00572_source.html#l00454">454</a> of file <a class="el" href="a00572_source.html">stl_pair.h</a>.</p> <p class="reference">References <a class="el" href="a00572_source.html#l00214">std::pair< _T1, _T2 >::first</a>, and <a class="el" href="a00572_source.html#l00215">std::pair< _T1, _T2 >::second</a>.</p> </div> </div> <a id="ga9e2bd7d69af9d03b7df4858595a3202e"></a> <h2 class="memtitle"><span class="permalink"><a href="#ga9e2bd7d69af9d03b7df4858595a3202e">◆ </a></span>operator<=()</h2> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _T1 , typename _T2 > </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">constexpr bool std::operator<= </td> <td>(</td> <td class="paramtype">const <a class="el" href="a07764.html">pair</a>< _T1, _T2 > & </td> <td class="paramname"><em>__x</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="a07764.html">pair</a>< _T1, _T2 > & </td> <td class="paramname"><em>__y</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Uses <code>operator<</code> to find the result. </p> <p class="definition">Definition at line <a class="el" href="a00572_source.html#l00473">473</a> of file <a class="el" href="a00572_source.html">stl_pair.h</a>.</p> </div> </div> <a id="ga5559f33b5ba6dbf83e961888d324dd40"></a> <h2 class="memtitle"><span class="permalink"><a href="#ga5559f33b5ba6dbf83e961888d324dd40">◆ </a></span>operator==()</h2> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _T1 , typename _T2 > </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">constexpr bool std::operator== </td> <td>(</td> <td class="paramtype">const <a class="el" href="a07764.html">pair</a>< _T1, _T2 > & </td> <td class="paramname"><em>__x</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="a07764.html">pair</a>< _T1, _T2 > & </td> <td class="paramname"><em>__y</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Two pairs of the same type are equal iff their members are equal. </p> <p class="definition">Definition at line <a class="el" href="a00572_source.html#l00448">448</a> of file <a class="el" href="a00572_source.html">stl_pair.h</a>.</p> <p class="reference">References <a class="el" href="a00572_source.html#l00214">std::pair< _T1, _T2 >::first</a>, and <a class="el" href="a00572_source.html#l00215">std::pair< _T1, _T2 >::second</a>.</p> </div> </div> <a id="ga00de6fe7684f71fc08bad81b4bc65c52"></a> <h2 class="memtitle"><span class="permalink"><a href="#ga00de6fe7684f71fc08bad81b4bc65c52">◆ </a></span>operator>()</h2> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _T1 , typename _T2 > </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">constexpr bool std::operator> </td> <td>(</td> <td class="paramtype">const <a class="el" href="a07764.html">pair</a>< _T1, _T2 > & </td> <td class="paramname"><em>__x</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="a07764.html">pair</a>< _T1, _T2 > & </td> <td class="paramname"><em>__y</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Uses <code>operator<</code> to find the result. </p> <p class="definition">Definition at line <a class="el" href="a00572_source.html#l00467">467</a> of file <a class="el" href="a00572_source.html">stl_pair.h</a>.</p> </div> </div> <a id="ga4abfa75dbeb7ee6922ab97aaaba57d47"></a> <h2 class="memtitle"><span class="permalink"><a href="#ga4abfa75dbeb7ee6922ab97aaaba57d47">◆ </a></span>operator>=()</h2> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _T1 , typename _T2 > </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">constexpr bool std::operator>= </td> <td>(</td> <td class="paramtype">const <a class="el" href="a07764.html">pair</a>< _T1, _T2 > & </td> <td class="paramname"><em>__x</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="a07764.html">pair</a>< _T1, _T2 > & </td> <td class="paramname"><em>__y</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Uses <code>operator<</code> to find the result. </p> <p class="definition">Definition at line <a class="el" href="a00572_source.html#l00479">479</a> of file <a class="el" href="a00572_source.html">stl_pair.h</a>.</p> </div> </div> <a id="ga9d75305041fc556b922d4b3bd2667742"></a> <h2 class="memtitle"><span class="permalink"><a href="#ga9d75305041fc556b922d4b3bd2667742">◆ </a></span>swap() <span class="overload">[1/4]</span></h2> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _T1 , typename _T2 > </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a04188.html">enable_if</a><__and_<__is_swappable<_T1>, __is_swappable<_T2> >::value>::type std::swap </td> <td>(</td> <td class="paramtype"><a class="el" href="a07764.html">pair</a>< _T1, _T2 > & </td> <td class="paramname"><em>__x</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a07764.html">pair</a>< _T1, _T2 > & </td> <td class="paramname"><em>__y</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">delete</span><span class="mlabel">noexcept</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>See std::pair::swap(). </p> <p class="definition">Definition at line <a class="el" href="a00572_source.html#l00495">495</a> of file <a class="el" href="a00572_source.html">stl_pair.h</a>.</p> </div> </div> <a id="ga77f74f34f378f6d6b5b987ab9a684c2d"></a> <h2 class="memtitle"><span class="permalink"><a href="#ga77f74f34f378f6d6b5b987ab9a684c2d">◆ </a></span>swap() <span class="overload">[2/4]</span></h2> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename... _Elements> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a04188.html">enable_if</a><__and_<__is_swappable<_Elements>...>::value >::type std::swap </td> <td>(</td> <td class="paramtype"><a class="el" href="a02880.html">tuple</a>< _Elements... > & </td> <td class="paramname"><em>__x</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a02880.html">tuple</a>< _Elements... > & </td> <td class="paramname"><em>__y</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">delete</span><span class="mlabel">noexcept</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>swap </p> <p class="definition">Definition at line <a class="el" href="a00161_source.html#l01618">1618</a> of file <a class="el" href="a00161_source.html">tuple</a>.</p> </div> </div> <a id="gafa6fdf3b3bd0b4a333f150d62001e9fc"></a> <h2 class="memtitle"><span class="permalink"><a href="#gafa6fdf3b3bd0b4a333f150d62001e9fc">◆ </a></span>swap() <span class="overload">[3/4]</span></h2> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _Tp > </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a04188.html">enable_if</a>< __and_< __not_< __is_tuple_like< _Tp > >, <a class="el" href="a03608.html">is_move_constructible</a>< _Tp >, <a class="el" href="a03712.html">is_move_assignable</a>< _Tp > >::value >::type std::swap </td> <td>(</td> <td class="paramtype">_Tp & </td> <td class="paramname"><em>__a</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">_Tp & </td> <td class="paramname"><em>__b</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td> const</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Swaps two values. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">__a</td><td>A thing of arbitrary type. </td></tr> <tr><td class="paramname">__b</td><td>Another thing of arbitrary type. </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>Nothing. </dd></dl> <p class="definition">Definition at line <a class="el" href="a00422_source.html#l00182">182</a> of file <a class="el" href="a00422_source.html">move.h</a>.</p> </div> </div> <a id="ga6b5d2a0f9529c41034917992630c6c85"></a> <h2 class="memtitle"><span class="permalink"><a href="#ga6b5d2a0f9529c41034917992630c6c85">◆ </a></span>swap() <span class="overload">[4/4]</span></h2> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _Tp , size_t _Nm> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a04188.html">enable_if</a>< __is_swappable< _Tp >::value >::type std::swap </td> <td>(</td> <td class="paramtype">_Tp(&) </td> <td class="paramname"><em>__a</em>[_Nm], </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">_Tp(&) </td> <td class="paramname"><em>__b</em>[_Nm] </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Swap the contents of two arrays. </p> <p class="definition">Definition at line <a class="el" href="a00422_source.html#l00205">205</a> of file <a class="el" href="a00422_source.html">move.h</a>.</p> </div> </div> <a id="ga2445a380e4367c31c737e4a1f1855950"></a> <h2 class="memtitle"><span class="permalink"><a href="#ga2445a380e4367c31c737e4a1f1855950">◆ </a></span>tie()</h2> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename... _Elements> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">constexpr <a class="el" href="a02880.html">tuple</a><_Elements&...> std::tie </td> <td>(</td> <td class="paramtype">_Elements &... </td> <td class="paramname"><em>__args</em></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">noexcept</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>tie </p> <p class="definition">Definition at line <a class="el" href="a00161_source.html#l01605">1605</a> of file <a class="el" href="a00161_source.html">tuple</a>.</p> <p class="reference">Referenced by <a class="el" href="a00287_source.html#l00063">std::basic_ios< char, _Traits >::copyfmt()</a>, <a class="el" href="a00110_source.html#l00542">std::lock()</a>, and <a class="el" href="a00110_source.html#l00521">std::try_lock()</a>.</p> </div> </div> <a id="ga23a2e3e40fefd39ffe278df7ebbd52a0"></a> <h2 class="memtitle"><span class="permalink"><a href="#ga23a2e3e40fefd39ffe278df7ebbd52a0">◆ </a></span>tuple_cat()</h2> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename... _Tpls, typename = typename enable_if<__and_<__is_tuple_like<_Tpls>...>::value>::type> </div> <table class="memname"> <tr> <td class="memname">constexpr auto std::tuple_cat </td> <td>(</td> <td class="paramtype">_Tpls &&... </td> <td class="paramname"><em>__tpls</em></td><td>)</td> <td> -> typename __tuple_cat_result<_Tpls...>::__type </td> </tr> </table> </div><div class="memdoc"> <p>tuple_cat </p> <p class="definition">Definition at line <a class="el" href="a00161_source.html#l01591">1591</a> of file <a class="el" href="a00161_source.html">tuple</a>.</p> </div> </div> <h2 class="groupheader">Variable Documentation</h2> <a id="ga4be4b722e942cd646f19614bcff7a328"></a> <h2 class="memtitle"><span class="permalink"><a href="#ga4be4b722e942cd646f19614bcff7a328">◆ </a></span>piecewise_construct</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">_GLIBCXX17_INLINE constexpr <a class="el" href="a07744.html">piecewise_construct_t</a> std::piecewise_construct</td> </tr> </table> </div><div class="memdoc"> <p>piecewise_construct </p> <p class="definition">Definition at line <a class="el" href="a00572_source.html#l00079">79</a> of file <a class="el" href="a00572_source.html">stl_pair.h</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>