<!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++: Const-propagating wrapper</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('a01516.html','');}); /* @license-end */ </script> <div id="doc-content"> <div class="header"> <div class="summary"> <a href="#nested-classes">Classes</a> | <a href="#func-members">Functions</a> </div> <div class="headertitle"> <div class="title">Const-propagating wrapper<div class="ingroups"><a class="el" href="a01514.html">Experimental</a></div></div> </div> </div><!--header--> <div class="contents"> <div class="dynheader"> Collaboration diagram for Const-propagating wrapper:</div> <div class="dyncontent"> <center><table><tr><td><div class="center"><iframe scrolling="no" frameborder="0" src="a01516.svg" width="326" height="35"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe> </div> </td></tr></table></center> </div> <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a> Classes</h2></td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a10052.html">std::experimental::fundamentals_v2::propagate_const< _Tp ></a></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a> Functions</h2></td></tr> <tr class="memitem:ga92a80a841f54de39ef728038af86b99f"><td class="memTemplParams" colspan="2"><a id="ga92a80a841f54de39ef728038af86b99f"></a> template<typename _Tp > </td></tr> <tr class="memitem:ga92a80a841f54de39ef728038af86b99f"><td class="memTemplItemLeft" align="right" valign="top">constexpr const _Tp & </td><td class="memTemplItemRight" valign="bottom"><b>std::experimental::fundamentals_v2::get_underlying</b> (const <a class="el" href="a10052.html">propagate_const</a>< _Tp > &__pt) noexcept</td></tr> <tr class="separator:ga92a80a841f54de39ef728038af86b99f"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gae1f0f3cc0454c203382e8fb6b206dc5b"><td class="memTemplParams" colspan="2"><a id="gae1f0f3cc0454c203382e8fb6b206dc5b"></a> template<typename _Tp > </td></tr> <tr class="memitem:gae1f0f3cc0454c203382e8fb6b206dc5b"><td class="memTemplItemLeft" align="right" valign="top">constexpr _Tp & </td><td class="memTemplItemRight" valign="bottom"><b>std::experimental::fundamentals_v2::get_underlying</b> (<a class="el" href="a10052.html">propagate_const</a>< _Tp > &__pt) noexcept</td></tr> <tr class="separator:gae1f0f3cc0454c203382e8fb6b206dc5b"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga2d6f7a1fc39f3f6c09973d3862f5223d"><td class="memTemplParams" colspan="2"><a id="ga2d6f7a1fc39f3f6c09973d3862f5223d"></a> template<typename _Tp > </td></tr> <tr class="memitem:ga2d6f7a1fc39f3f6c09973d3862f5223d"><td class="memTemplItemLeft" align="right" valign="top">constexpr bool </td><td class="memTemplItemRight" valign="bottom"><b>std::experimental::fundamentals_v2::operator!=</b> (const <a class="el" href="a10052.html">propagate_const</a>< _Tp > &__pt, nullptr_t)</td></tr> <tr class="separator:ga2d6f7a1fc39f3f6c09973d3862f5223d"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gae1fa22b275104c8cf54e62918394a731"><td class="memTemplParams" colspan="2"><a id="gae1fa22b275104c8cf54e62918394a731"></a> template<typename _Tp > </td></tr> <tr class="memitem:gae1fa22b275104c8cf54e62918394a731"><td class="memTemplItemLeft" align="right" valign="top">constexpr bool </td><td class="memTemplItemRight" valign="bottom"><b>std::experimental::fundamentals_v2::operator!=</b> (nullptr_t, const <a class="el" href="a10052.html">propagate_const</a>< _Tp > &__pu)</td></tr> <tr class="separator:gae1fa22b275104c8cf54e62918394a731"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga735d9533ce5592aca5e7bb22a6f1b864"><td class="memTemplParams" colspan="2"><a id="ga735d9533ce5592aca5e7bb22a6f1b864"></a> template<typename _Tp , typename _Up > </td></tr> <tr class="memitem:ga735d9533ce5592aca5e7bb22a6f1b864"><td class="memTemplItemLeft" align="right" valign="top">constexpr bool </td><td class="memTemplItemRight" valign="bottom"><b>std::experimental::fundamentals_v2::operator!=</b> (const <a class="el" href="a10052.html">propagate_const</a>< _Tp > &__pt, const <a class="el" href="a10052.html">propagate_const</a>< _Up > &__pu)</td></tr> <tr class="separator:ga735d9533ce5592aca5e7bb22a6f1b864"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga697b3f31f1709e4d66193424824896a3"><td class="memTemplParams" colspan="2"><a id="ga697b3f31f1709e4d66193424824896a3"></a> template<typename _Tp , typename _Up > </td></tr> <tr class="memitem:ga697b3f31f1709e4d66193424824896a3"><td class="memTemplItemLeft" align="right" valign="top">constexpr bool </td><td class="memTemplItemRight" valign="bottom"><b>std::experimental::fundamentals_v2::operator!=</b> (const <a class="el" href="a10052.html">propagate_const</a>< _Tp > &__pt, const _Up &__u)</td></tr> <tr class="separator:ga697b3f31f1709e4d66193424824896a3"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gab1519f67e268f3344549130f6a485cf5"><td class="memTemplParams" colspan="2"><a id="gab1519f67e268f3344549130f6a485cf5"></a> template<typename _Tp , typename _Up > </td></tr> <tr class="memitem:gab1519f67e268f3344549130f6a485cf5"><td class="memTemplItemLeft" align="right" valign="top">constexpr bool </td><td class="memTemplItemRight" valign="bottom"><b>std::experimental::fundamentals_v2::operator!=</b> (const _Tp &__t, const <a class="el" href="a10052.html">propagate_const</a>< _Up > &__pu)</td></tr> <tr class="separator:gab1519f67e268f3344549130f6a485cf5"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gad805088dbffccd1d91b5b6139bd02fa5"><td class="memTemplParams" colspan="2"><a id="gad805088dbffccd1d91b5b6139bd02fa5"></a> template<typename _Tp , typename _Up > </td></tr> <tr class="memitem:gad805088dbffccd1d91b5b6139bd02fa5"><td class="memTemplItemLeft" align="right" valign="top">constexpr bool </td><td class="memTemplItemRight" valign="bottom"><b>std::experimental::fundamentals_v2::operator<</b> (const <a class="el" href="a10052.html">propagate_const</a>< _Tp > &__pt, const <a class="el" href="a10052.html">propagate_const</a>< _Up > &__pu)</td></tr> <tr class="separator:gad805088dbffccd1d91b5b6139bd02fa5"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gac9332623c3b6a9a152d0a7395a25935f"><td class="memTemplParams" colspan="2"><a id="gac9332623c3b6a9a152d0a7395a25935f"></a> template<typename _Tp , typename _Up > </td></tr> <tr class="memitem:gac9332623c3b6a9a152d0a7395a25935f"><td class="memTemplItemLeft" align="right" valign="top">constexpr bool </td><td class="memTemplItemRight" valign="bottom"><b>std::experimental::fundamentals_v2::operator<</b> (const <a class="el" href="a10052.html">propagate_const</a>< _Tp > &__pt, const _Up &__u)</td></tr> <tr class="separator:gac9332623c3b6a9a152d0a7395a25935f"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga2a7669a6bbfb8cbb9280685b05fe8f53"><td class="memTemplParams" colspan="2"><a id="ga2a7669a6bbfb8cbb9280685b05fe8f53"></a> template<typename _Tp , typename _Up > </td></tr> <tr class="memitem:ga2a7669a6bbfb8cbb9280685b05fe8f53"><td class="memTemplItemLeft" align="right" valign="top">constexpr bool </td><td class="memTemplItemRight" valign="bottom"><b>std::experimental::fundamentals_v2::operator<</b> (const _Tp &__t, const <a class="el" href="a10052.html">propagate_const</a>< _Up > &__pu)</td></tr> <tr class="separator:ga2a7669a6bbfb8cbb9280685b05fe8f53"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gab3037887ace43da8804582fb4e244cd2"><td class="memTemplParams" colspan="2"><a id="gab3037887ace43da8804582fb4e244cd2"></a> template<typename _Tp , typename _Up > </td></tr> <tr class="memitem:gab3037887ace43da8804582fb4e244cd2"><td class="memTemplItemLeft" align="right" valign="top">constexpr bool </td><td class="memTemplItemRight" valign="bottom"><b>std::experimental::fundamentals_v2::operator<=</b> (const <a class="el" href="a10052.html">propagate_const</a>< _Tp > &__pt, const <a class="el" href="a10052.html">propagate_const</a>< _Up > &__pu)</td></tr> <tr class="separator:gab3037887ace43da8804582fb4e244cd2"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga75c998363ea15b0f62e45421f751ee40"><td class="memTemplParams" colspan="2"><a id="ga75c998363ea15b0f62e45421f751ee40"></a> template<typename _Tp , typename _Up > </td></tr> <tr class="memitem:ga75c998363ea15b0f62e45421f751ee40"><td class="memTemplItemLeft" align="right" valign="top">constexpr bool </td><td class="memTemplItemRight" valign="bottom"><b>std::experimental::fundamentals_v2::operator<=</b> (const <a class="el" href="a10052.html">propagate_const</a>< _Tp > &__pt, const _Up &__u)</td></tr> <tr class="separator:ga75c998363ea15b0f62e45421f751ee40"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga45c73223a467f0cecaa7b8b42daf31ca"><td class="memTemplParams" colspan="2"><a id="ga45c73223a467f0cecaa7b8b42daf31ca"></a> template<typename _Tp , typename _Up > </td></tr> <tr class="memitem:ga45c73223a467f0cecaa7b8b42daf31ca"><td class="memTemplItemLeft" align="right" valign="top">constexpr bool </td><td class="memTemplItemRight" valign="bottom"><b>std::experimental::fundamentals_v2::operator<=</b> (const _Tp &__t, const <a class="el" href="a10052.html">propagate_const</a>< _Up > &__pu)</td></tr> <tr class="separator:ga45c73223a467f0cecaa7b8b42daf31ca"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gaee2e10f1a69a73fda8da988e9f815741"><td class="memTemplParams" colspan="2"><a id="gaee2e10f1a69a73fda8da988e9f815741"></a> template<typename _Tp > </td></tr> <tr class="memitem:gaee2e10f1a69a73fda8da988e9f815741"><td class="memTemplItemLeft" align="right" valign="top">constexpr bool </td><td class="memTemplItemRight" valign="bottom"><b>std::experimental::fundamentals_v2::operator==</b> (const <a class="el" href="a10052.html">propagate_const</a>< _Tp > &__pt, nullptr_t)</td></tr> <tr class="separator:gaee2e10f1a69a73fda8da988e9f815741"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gae0be42269f69e5faddddb5bed10beaad"><td class="memTemplParams" colspan="2"><a id="gae0be42269f69e5faddddb5bed10beaad"></a> template<typename _Tp > </td></tr> <tr class="memitem:gae0be42269f69e5faddddb5bed10beaad"><td class="memTemplItemLeft" align="right" valign="top">constexpr bool </td><td class="memTemplItemRight" valign="bottom"><b>std::experimental::fundamentals_v2::operator==</b> (nullptr_t, const <a class="el" href="a10052.html">propagate_const</a>< _Tp > &__pu)</td></tr> <tr class="separator:gae0be42269f69e5faddddb5bed10beaad"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gafcd1acebdfcc5e92053564adb86aa6fb"><td class="memTemplParams" colspan="2"><a id="gafcd1acebdfcc5e92053564adb86aa6fb"></a> template<typename _Tp , typename _Up > </td></tr> <tr class="memitem:gafcd1acebdfcc5e92053564adb86aa6fb"><td class="memTemplItemLeft" align="right" valign="top">constexpr bool </td><td class="memTemplItemRight" valign="bottom"><b>std::experimental::fundamentals_v2::operator==</b> (const <a class="el" href="a10052.html">propagate_const</a>< _Tp > &__pt, const <a class="el" href="a10052.html">propagate_const</a>< _Up > &__pu)</td></tr> <tr class="separator:gafcd1acebdfcc5e92053564adb86aa6fb"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga85b8e77cebad8479959f0bfd658800c2"><td class="memTemplParams" colspan="2"><a id="ga85b8e77cebad8479959f0bfd658800c2"></a> template<typename _Tp , typename _Up > </td></tr> <tr class="memitem:ga85b8e77cebad8479959f0bfd658800c2"><td class="memTemplItemLeft" align="right" valign="top">constexpr bool </td><td class="memTemplItemRight" valign="bottom"><b>std::experimental::fundamentals_v2::operator==</b> (const <a class="el" href="a10052.html">propagate_const</a>< _Tp > &__pt, const _Up &__u)</td></tr> <tr class="separator:ga85b8e77cebad8479959f0bfd658800c2"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gaaaec8d6eda8f462b69d7d783901e35bf"><td class="memTemplParams" colspan="2"><a id="gaaaec8d6eda8f462b69d7d783901e35bf"></a> template<typename _Tp , typename _Up > </td></tr> <tr class="memitem:gaaaec8d6eda8f462b69d7d783901e35bf"><td class="memTemplItemLeft" align="right" valign="top">constexpr bool </td><td class="memTemplItemRight" valign="bottom"><b>std::experimental::fundamentals_v2::operator==</b> (const _Tp &__t, const <a class="el" href="a10052.html">propagate_const</a>< _Up > &__pu)</td></tr> <tr class="separator:gaaaec8d6eda8f462b69d7d783901e35bf"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gabd45ddd871e4b142a6988e130457796b"><td class="memTemplParams" colspan="2"><a id="gabd45ddd871e4b142a6988e130457796b"></a> template<typename _Tp , typename _Up > </td></tr> <tr class="memitem:gabd45ddd871e4b142a6988e130457796b"><td class="memTemplItemLeft" align="right" valign="top">constexpr bool </td><td class="memTemplItemRight" valign="bottom"><b>std::experimental::fundamentals_v2::operator></b> (const <a class="el" href="a10052.html">propagate_const</a>< _Tp > &__pt, const <a class="el" href="a10052.html">propagate_const</a>< _Up > &__pu)</td></tr> <tr class="separator:gabd45ddd871e4b142a6988e130457796b"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga502e5a44ae2f61132a0370ba879122e3"><td class="memTemplParams" colspan="2"><a id="ga502e5a44ae2f61132a0370ba879122e3"></a> template<typename _Tp , typename _Up > </td></tr> <tr class="memitem:ga502e5a44ae2f61132a0370ba879122e3"><td class="memTemplItemLeft" align="right" valign="top">constexpr bool </td><td class="memTemplItemRight" valign="bottom"><b>std::experimental::fundamentals_v2::operator></b> (const <a class="el" href="a10052.html">propagate_const</a>< _Tp > &__pt, const _Up &__u)</td></tr> <tr class="separator:ga502e5a44ae2f61132a0370ba879122e3"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga5f27245f8905903f2f98dca6a1627077"><td class="memTemplParams" colspan="2"><a id="ga5f27245f8905903f2f98dca6a1627077"></a> template<typename _Tp , typename _Up > </td></tr> <tr class="memitem:ga5f27245f8905903f2f98dca6a1627077"><td class="memTemplItemLeft" align="right" valign="top">constexpr bool </td><td class="memTemplItemRight" valign="bottom"><b>std::experimental::fundamentals_v2::operator></b> (const _Tp &__t, const <a class="el" href="a10052.html">propagate_const</a>< _Up > &__pu)</td></tr> <tr class="separator:ga5f27245f8905903f2f98dca6a1627077"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga48eb0b7968ec096f0300c60d8b62c2e0"><td class="memTemplParams" colspan="2"><a id="ga48eb0b7968ec096f0300c60d8b62c2e0"></a> template<typename _Tp , typename _Up > </td></tr> <tr class="memitem:ga48eb0b7968ec096f0300c60d8b62c2e0"><td class="memTemplItemLeft" align="right" valign="top">constexpr bool </td><td class="memTemplItemRight" valign="bottom"><b>std::experimental::fundamentals_v2::operator>=</b> (const <a class="el" href="a10052.html">propagate_const</a>< _Tp > &__pt, const <a class="el" href="a10052.html">propagate_const</a>< _Up > &__pu)</td></tr> <tr class="separator:ga48eb0b7968ec096f0300c60d8b62c2e0"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga89f7a1489f8a805e26391629908bef5e"><td class="memTemplParams" colspan="2"><a id="ga89f7a1489f8a805e26391629908bef5e"></a> template<typename _Tp , typename _Up > </td></tr> <tr class="memitem:ga89f7a1489f8a805e26391629908bef5e"><td class="memTemplItemLeft" align="right" valign="top">constexpr bool </td><td class="memTemplItemRight" valign="bottom"><b>std::experimental::fundamentals_v2::operator>=</b> (const <a class="el" href="a10052.html">propagate_const</a>< _Tp > &__pt, const _Up &__u)</td></tr> <tr class="separator:ga89f7a1489f8a805e26391629908bef5e"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga747a26a1881105d7a3e8f04034db0312"><td class="memTemplParams" colspan="2"><a id="ga747a26a1881105d7a3e8f04034db0312"></a> template<typename _Tp , typename _Up > </td></tr> <tr class="memitem:ga747a26a1881105d7a3e8f04034db0312"><td class="memTemplItemLeft" align="right" valign="top">constexpr bool </td><td class="memTemplItemRight" valign="bottom"><b>std::experimental::fundamentals_v2::operator>=</b> (const _Tp &__t, const <a class="el" href="a10052.html">propagate_const</a>< _Up > &__pu)</td></tr> <tr class="separator:ga747a26a1881105d7a3e8f04034db0312"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga22df58b588820e4a3e16a5c568bacfbc"><td class="memTemplParams" colspan="2"><a id="ga22df58b588820e4a3e16a5c568bacfbc"></a> template<typename _Tp > </td></tr> <tr class="memitem:ga22df58b588820e4a3e16a5c568bacfbc"><td class="memTemplItemLeft" align="right" valign="top">constexpr void </td><td class="memTemplItemRight" valign="bottom"><b>std::experimental::fundamentals_v2::swap</b> (<a class="el" href="a10052.html">propagate_const</a>< _Tp > &__pt, <a class="el" href="a10052.html">propagate_const</a>< _Tp > &__pt2) noexcept(__is_nothrow_swappable< _Tp >::value)</td></tr> <tr class="separator:ga22df58b588820e4a3e16a5c568bacfbc"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <p>A const-propagating wrapper that propagates const to pointer-like members, as described in n4388 "A Proposal to Add a Const-Propagating Wrapper to the Standard Library". </p> </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>