<!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++: utility File Reference</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('a00176.html','');}); /* @license-end */ </script> <div id="doc-content"> <div class="header"> <div class="summary"> <a href="#nested-classes">Classes</a> | <a href="#namespaces">Namespaces</a> | <a href="#define-members">Macros</a> | <a href="#typedef-members">Typedefs</a> | <a href="#func-members">Functions</a> </div> <div class="headertitle"> <div class="title">utility File Reference</div> </div> </div><!--header--> <div class="contents"> <p><a href="a00176_source.html">Go to the source code of this file.</a></p> <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="a04520.html">std::__is_tuple_like_impl< 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="a04556.html">std::integer_sequence< _Tp, _Idx ></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="a01704.html">std::tuple_element< _Int, _Tp ></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="a04528.html">std::tuple_element< 0, std::pair< _Tp1, _Tp2 > ></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="a04532.html">std::tuple_element< 1, std::pair< _Tp1, _Tp2 > ></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="a01696.html">std::tuple_size< _Tp ></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="a04524.html">std::tuple_size< std::pair< _Tp1, _Tp2 > ></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="namespaces"></a> Namespaces</h2></td></tr> <tr class="memitem:a01538"><td class="memItemLeft" align="right" valign="top">  </td><td class="memItemRight" valign="bottom"><a class="el" href="a01538.html">std</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:a4ee339e5b7989ad606b504625585c73e"><td class="memItemLeft" align="right" valign="top"><a id="a4ee339e5b7989ad606b504625585c73e"></a> #define </td><td class="memItemRight" valign="bottom"><b>__cpp_lib_exchange_function</b></td></tr> <tr class="separator:a4ee339e5b7989ad606b504625585c73e"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aaf47d57d938cbe604782d12d594d422b"><td class="memItemLeft" align="right" valign="top"><a id="aaf47d57d938cbe604782d12d594d422b"></a> #define </td><td class="memItemRight" valign="bottom"><b>__cpp_lib_integer_sequence</b></td></tr> <tr class="separator:aaf47d57d938cbe604782d12d594d422b"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aa301e2a41de5626db41a09ee108165c6"><td class="memItemLeft" align="right" valign="top"><a id="aa301e2a41de5626db41a09ee108165c6"></a> #define </td><td class="memItemRight" valign="bottom"><b>__cpp_lib_tuple_element_t</b></td></tr> <tr class="separator:aa301e2a41de5626db41a09ee108165c6"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a535e0cc4e6f1608e66d07a2ff1d7e665"><td class="memItemLeft" align="right" valign="top"><a id="a535e0cc4e6f1608e66d07a2ff1d7e665"></a> #define </td><td class="memItemRight" valign="bottom"><b>__cpp_lib_tuples_by_type</b></td></tr> <tr class="separator:a535e0cc4e6f1608e66d07a2ff1d7e665"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:af5f9b0b1adbb265d5eba5c133aa9b164"><td class="memItemLeft" align="right" valign="top"><a id="af5f9b0b1adbb265d5eba5c133aa9b164"></a> #define </td><td class="memItemRight" valign="bottom"><b>_GLIBCXX_UTILITY</b></td></tr> <tr class="separator:af5f9b0b1adbb265d5eba5c133aa9b164"><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:a8eab6a73f784a6e5fd6ee33528425d7a"><td class="memTemplParams" colspan="2"><a id="a8eab6a73f784a6e5fd6ee33528425d7a"></a> template<typename _Tp , typename _Up = typename remove_cv<_Tp>::type, typename = typename enable_if<is_same<_Tp, _Up>::value>::type, size_t = tuple_size<_Tp>::value> </td></tr> <tr class="memitem:a8eab6a73f784a6e5fd6ee33528425d7a"><td class="memTemplItemLeft" align="right" valign="top">using </td><td class="memTemplItemRight" valign="bottom"><b>std::__enable_if_has_tuple_size</b> = _Tp</td></tr> <tr class="separator:a8eab6a73f784a6e5fd6ee33528425d7a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aed7ca0b4b216cbe46de2cd3e9e9dc7a9"><td class="memTemplParams" colspan="2"><a id="aed7ca0b4b216cbe46de2cd3e9e9dc7a9"></a> template<std::size_t __i, typename _Tp > </td></tr> <tr class="memitem:aed7ca0b4b216cbe46de2cd3e9e9dc7a9"><td class="memTemplItemLeft" align="right" valign="top">using </td><td class="memTemplItemRight" valign="bottom"><b>std::__tuple_element_t</b> = typename tuple_element< __i, _Tp >::type</td></tr> <tr class="separator:aed7ca0b4b216cbe46de2cd3e9e9dc7a9"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:acdfada06a9fb47abbf52c264b95e689e"><td class="memTemplParams" colspan="2">template<size_t... _Idx> </td></tr> <tr class="memitem:acdfada06a9fb47abbf52c264b95e689e"><td class="memTemplItemLeft" align="right" valign="top">using </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01538.html#acdfada06a9fb47abbf52c264b95e689e">std::index_sequence</a> = integer_sequence< size_t, _Idx... ></td></tr> <tr class="separator:acdfada06a9fb47abbf52c264b95e689e"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:af540abd32f95a08e48ea6ca00a5a8ad3"><td class="memTemplParams" colspan="2">template<typename... _Types> </td></tr> <tr class="memitem:af540abd32f95a08e48ea6ca00a5a8ad3"><td class="memTemplItemLeft" align="right" valign="top">using </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01538.html#af540abd32f95a08e48ea6ca00a5a8ad3">std::index_sequence_for</a> = make_index_sequence< sizeof...(_Types)></td></tr> <tr class="separator:af540abd32f95a08e48ea6ca00a5a8ad3"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a52f9da82a634cff032d6df672cd9a25d"><td class="memTemplParams" colspan="2">template<size_t _Num> </td></tr> <tr class="memitem:a52f9da82a634cff032d6df672cd9a25d"><td class="memTemplItemLeft" align="right" valign="top">using </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01538.html#a52f9da82a634cff032d6df672cd9a25d">std::make_index_sequence</a> = make_integer_sequence< size_t, _Num ></td></tr> <tr class="separator:a52f9da82a634cff032d6df672cd9a25d"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a655c95c83b8065fcc9245539a8b94c2a"><td class="memTemplParams" colspan="2">template<typename _Tp , _Tp _Num> </td></tr> <tr class="memitem:a655c95c83b8065fcc9245539a8b94c2a"><td class="memTemplItemLeft" align="right" valign="top">using </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01538.html#a655c95c83b8065fcc9245539a8b94c2a">std::make_integer_sequence</a> = integer_sequence< _Tp, __integer_pack(_Num)... ></td></tr> <tr class="separator:a655c95c83b8065fcc9245539a8b94c2a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a0dc37144155153b6c43b0e60a7b5240a"><td class="memTemplParams" colspan="2"><a id="a0dc37144155153b6c43b0e60a7b5240a"></a> template<std::size_t __i, typename _Tp > </td></tr> <tr class="memitem:a0dc37144155153b6c43b0e60a7b5240a"><td class="memTemplItemLeft" align="right" valign="top">using </td><td class="memTemplItemRight" valign="bottom"><b>std::tuple_element_t</b> = typename tuple_element< __i, _Tp >::type</td></tr> <tr class="separator:a0dc37144155153b6c43b0e60a7b5240a"><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:a38a02a658328c056688ab79c7ab7bbf6"><td class="memTemplParams" colspan="2">template<typename _Tp , typename _Up = _Tp> </td></tr> <tr class="memitem:a38a02a658328c056688ab79c7ab7bbf6"><td class="memTemplItemLeft" align="right" valign="top">_Tp </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01538.html#a38a02a658328c056688ab79c7ab7bbf6">std::exchange</a> (_Tp &__obj, _Up &&__new_val)</td></tr> <tr class="separator:a38a02a658328c056688ab79c7ab7bbf6"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a157248270957cf092a22e63d3b48b45e"><td class="memTemplParams" colspan="2"><a id="a157248270957cf092a22e63d3b48b45e"></a> template<std::size_t _Int, class _Tp1 , class _Tp2 > </td></tr> <tr class="memitem:a157248270957cf092a22e63d3b48b45e"><td class="memTemplItemLeft" align="right" valign="top">constexpr tuple_element< _Int, <a class="el" href="a07764.html">std::pair</a>< _Tp1, _Tp2 > >::type & </td><td class="memTemplItemRight" valign="bottom"><b>std::get</b> (<a class="el" href="a07764.html">std::pair</a>< _Tp1, _Tp2 > &__in) noexcept</td></tr> <tr class="separator:a157248270957cf092a22e63d3b48b45e"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a09c469bcb7c0cbee70e3670adb707ee8"><td class="memTemplParams" colspan="2"><a id="a09c469bcb7c0cbee70e3670adb707ee8"></a> template<std::size_t _Int, class _Tp1 , class _Tp2 > </td></tr> <tr class="memitem:a09c469bcb7c0cbee70e3670adb707ee8"><td class="memTemplItemLeft" align="right" valign="top">constexpr tuple_element< _Int, <a class="el" href="a07764.html">std::pair</a>< _Tp1, _Tp2 > >::type && </td><td class="memTemplItemRight" valign="bottom"><b>std::get</b> (<a class="el" href="a07764.html">std::pair</a>< _Tp1, _Tp2 > &&__in) noexcept</td></tr> <tr class="separator:a09c469bcb7c0cbee70e3670adb707ee8"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aaa2e5166c5673d27433df330c518363a"><td class="memTemplParams" colspan="2"><a id="aaa2e5166c5673d27433df330c518363a"></a> template<std::size_t _Int, class _Tp1 , class _Tp2 > </td></tr> <tr class="memitem:aaa2e5166c5673d27433df330c518363a"><td class="memTemplItemLeft" align="right" valign="top">constexpr const tuple_element< _Int, <a class="el" href="a07764.html">std::pair</a>< _Tp1, _Tp2 > >::type & </td><td class="memTemplItemRight" valign="bottom"><b>std::get</b> (const <a class="el" href="a07764.html">std::pair</a>< _Tp1, _Tp2 > &__in) noexcept</td></tr> <tr class="separator:aaa2e5166c5673d27433df330c518363a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a97f2e4dc3d549126c2348a871209a3b3"><td class="memTemplParams" colspan="2"><a id="a97f2e4dc3d549126c2348a871209a3b3"></a> template<std::size_t _Int, class _Tp1 , class _Tp2 > </td></tr> <tr class="memitem:a97f2e4dc3d549126c2348a871209a3b3"><td class="memTemplItemLeft" align="right" valign="top">constexpr const tuple_element< _Int, <a class="el" href="a07764.html">std::pair</a>< _Tp1, _Tp2 > >::type && </td><td class="memTemplItemRight" valign="bottom"><b>std::get</b> (const <a class="el" href="a07764.html">std::pair</a>< _Tp1, _Tp2 > &&__in) noexcept</td></tr> <tr class="separator:a97f2e4dc3d549126c2348a871209a3b3"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a8c91f72b68eb76975e7d922f17a54853"><td class="memTemplParams" colspan="2"><a id="a8c91f72b68eb76975e7d922f17a54853"></a> template<typename _Tp , typename _Up > </td></tr> <tr class="memitem:a8c91f72b68eb76975e7d922f17a54853"><td class="memTemplItemLeft" align="right" valign="top">constexpr _Tp & </td><td class="memTemplItemRight" valign="bottom"><b>std::get</b> (pair< _Tp, _Up > &__p) noexcept</td></tr> <tr class="separator:a8c91f72b68eb76975e7d922f17a54853"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a11f251c88e31863922268857c75b8e51"><td class="memTemplParams" colspan="2"><a id="a11f251c88e31863922268857c75b8e51"></a> template<typename _Tp , typename _Up > </td></tr> <tr class="memitem:a11f251c88e31863922268857c75b8e51"><td class="memTemplItemLeft" align="right" valign="top">constexpr const _Tp & </td><td class="memTemplItemRight" valign="bottom"><b>std::get</b> (const pair< _Tp, _Up > &__p) noexcept</td></tr> <tr class="separator:a11f251c88e31863922268857c75b8e51"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ad7395f96676299b7ae48896e7cf6d997"><td class="memTemplParams" colspan="2"><a id="ad7395f96676299b7ae48896e7cf6d997"></a> template<typename _Tp , typename _Up > </td></tr> <tr class="memitem:ad7395f96676299b7ae48896e7cf6d997"><td class="memTemplItemLeft" align="right" valign="top">constexpr _Tp && </td><td class="memTemplItemRight" valign="bottom"><b>std::get</b> (pair< _Tp, _Up > &&__p) noexcept</td></tr> <tr class="separator:ad7395f96676299b7ae48896e7cf6d997"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a4ea317369d0a10f0d208f5f4a0021974"><td class="memTemplParams" colspan="2"><a id="a4ea317369d0a10f0d208f5f4a0021974"></a> template<typename _Tp , typename _Up > </td></tr> <tr class="memitem:a4ea317369d0a10f0d208f5f4a0021974"><td class="memTemplItemLeft" align="right" valign="top">constexpr const _Tp && </td><td class="memTemplItemRight" valign="bottom"><b>std::get</b> (const pair< _Tp, _Up > &&__p) noexcept</td></tr> <tr class="separator:a4ea317369d0a10f0d208f5f4a0021974"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a8203ee914e51db21d736711fbe5338ca"><td class="memTemplParams" colspan="2"><a id="a8203ee914e51db21d736711fbe5338ca"></a> template<typename _Tp , typename _Up > </td></tr> <tr class="memitem:a8203ee914e51db21d736711fbe5338ca"><td class="memTemplItemLeft" align="right" valign="top">constexpr _Tp & </td><td class="memTemplItemRight" valign="bottom"><b>std::get</b> (pair< _Up, _Tp > &__p) noexcept</td></tr> <tr class="separator:a8203ee914e51db21d736711fbe5338ca"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aa3e46f879b2959978ec017b2684ea4a5"><td class="memTemplParams" colspan="2"><a id="aa3e46f879b2959978ec017b2684ea4a5"></a> template<typename _Tp , typename _Up > </td></tr> <tr class="memitem:aa3e46f879b2959978ec017b2684ea4a5"><td class="memTemplItemLeft" align="right" valign="top">constexpr const _Tp & </td><td class="memTemplItemRight" valign="bottom"><b>std::get</b> (const pair< _Up, _Tp > &__p) noexcept</td></tr> <tr class="separator:aa3e46f879b2959978ec017b2684ea4a5"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a4aab72985c6c5e0f0620ca46805b5b1c"><td class="memTemplParams" colspan="2"><a id="a4aab72985c6c5e0f0620ca46805b5b1c"></a> template<typename _Tp , typename _Up > </td></tr> <tr class="memitem:a4aab72985c6c5e0f0620ca46805b5b1c"><td class="memTemplItemLeft" align="right" valign="top">constexpr _Tp && </td><td class="memTemplItemRight" valign="bottom"><b>std::get</b> (pair< _Up, _Tp > &&__p) noexcept</td></tr> <tr class="separator:a4aab72985c6c5e0f0620ca46805b5b1c"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aaabf953a0ad545905d42432ccda9d9fc"><td class="memTemplParams" colspan="2"><a id="aaabf953a0ad545905d42432ccda9d9fc"></a> template<typename _Tp , typename _Up > </td></tr> <tr class="memitem:aaabf953a0ad545905d42432ccda9d9fc"><td class="memTemplItemLeft" align="right" valign="top">constexpr const _Tp && </td><td class="memTemplItemRight" valign="bottom"><b>std::get</b> (const pair< _Up, _Tp > &&__p) noexcept</td></tr> <tr class="separator:aaabf953a0ad545905d42432ccda9d9fc"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <div class="textblock"><p>This is a Standard C++ Library header. </p> <p class="definition">Definition in file <a class="el" href="a00176_source.html">utility</a>.</p> </div></div><!-- contents --> </div><!-- doc-content --> <!-- start footer part --> <div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> <ul> <li class="navelem"><a class="el" href="dir_3a83f109ff04170a1f8448445d1bdcba.html">include</a></li><li class="navelem"><a class="el" href="a00176.html">utility</a></li> <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>