<!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++: shared_ptr_atomic.h 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('a00503.html','');}); /* @license-end */ </script> <div id="doc-content"> <div class="header"> <div class="summary"> <a href="#namespaces">Namespaces</a> </div> <div class="headertitle"> <div class="title">shared_ptr_atomic.h File Reference</div> </div> </div><!--header--> <div class="contents"> <p><a href="a00503_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="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="func-members"></a> Functions</h2></td></tr> <tr><td colspan="2"><div class="groupHeader"></div></td></tr> <tr class="memitem:ga26f0b2f2e5e143c43b9ac86853cdb495"><td class="memTemplParams" colspan="2">template<typename _Tp , _Lock_policy _Lp> </td></tr> <tr class="memitem:ga26f0b2f2e5e143c43b9ac86853cdb495"><td class="memTemplItemLeft" align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01472.html#ga26f0b2f2e5e143c43b9ac86853cdb495">std::atomic_is_lock_free</a> (const __shared_ptr< _Tp, _Lp > *__p)</td></tr> <tr class="separator:ga26f0b2f2e5e143c43b9ac86853cdb495"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga5fe925503fa03a8132ab6ac8c3d05017"><td class="memTemplParams" colspan="2">template<typename _Tp > </td></tr> <tr class="memitem:ga5fe925503fa03a8132ab6ac8c3d05017"><td class="memTemplItemLeft" align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01472.html#ga5fe925503fa03a8132ab6ac8c3d05017">std::atomic_is_lock_free</a> (const shared_ptr< _Tp > *__p)</td></tr> <tr class="separator:ga5fe925503fa03a8132ab6ac8c3d05017"><td class="memSeparator" colspan="2"> </td></tr> <tr><td colspan="2"><div class="groupHeader"></div></td></tr> <tr class="memitem:gac5834272ab3ee80d5263ec71c30d4e40"><td class="memTemplParams" colspan="2">template<typename _Tp > </td></tr> <tr class="memitem:gac5834272ab3ee80d5263ec71c30d4e40"><td class="memTemplItemLeft" align="right" valign="top">shared_ptr< _Tp > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01472.html#gac5834272ab3ee80d5263ec71c30d4e40">std::atomic_load_explicit</a> (const shared_ptr< _Tp > *__p, memory_order)</td></tr> <tr class="separator:gac5834272ab3ee80d5263ec71c30d4e40"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gaa1f2f437e65f14cbc39dc5aa9c7787cb"><td class="memTemplParams" colspan="2">template<typename _Tp > </td></tr> <tr class="memitem:gaa1f2f437e65f14cbc39dc5aa9c7787cb"><td class="memTemplItemLeft" align="right" valign="top">shared_ptr< _Tp > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01472.html#gaa1f2f437e65f14cbc39dc5aa9c7787cb">std::atomic_load</a> (const shared_ptr< _Tp > *__p)</td></tr> <tr class="separator:gaa1f2f437e65f14cbc39dc5aa9c7787cb"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gac10fed73419a9afc7442fcf685c9f4ef"><td class="memTemplParams" colspan="2">template<typename _Tp , _Lock_policy _Lp> </td></tr> <tr class="memitem:gac10fed73419a9afc7442fcf685c9f4ef"><td class="memTemplItemLeft" align="right" valign="top">__shared_ptr< _Tp, _Lp > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01472.html#gac10fed73419a9afc7442fcf685c9f4ef">std::atomic_load_explicit</a> (const __shared_ptr< _Tp, _Lp > *__p, memory_order)</td></tr> <tr class="separator:gac10fed73419a9afc7442fcf685c9f4ef"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga068286dfd18be5a7656c478f4b23ea11"><td class="memTemplParams" colspan="2">template<typename _Tp , _Lock_policy _Lp> </td></tr> <tr class="memitem:ga068286dfd18be5a7656c478f4b23ea11"><td class="memTemplItemLeft" align="right" valign="top">__shared_ptr< _Tp, _Lp > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01472.html#ga068286dfd18be5a7656c478f4b23ea11">std::atomic_load</a> (const __shared_ptr< _Tp, _Lp > *__p)</td></tr> <tr class="separator:ga068286dfd18be5a7656c478f4b23ea11"><td class="memSeparator" colspan="2"> </td></tr> <tr><td colspan="2"><div class="groupHeader"></div></td></tr> <tr class="memitem:gac459811f24dfa61ca04dff98c59b0433"><td class="memTemplParams" colspan="2">template<typename _Tp > </td></tr> <tr class="memitem:gac459811f24dfa61ca04dff98c59b0433"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01472.html#gac459811f24dfa61ca04dff98c59b0433">std::atomic_store_explicit</a> (shared_ptr< _Tp > *__p, shared_ptr< _Tp > __r, memory_order)</td></tr> <tr class="separator:gac459811f24dfa61ca04dff98c59b0433"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gaad7c9077082544dc2454ef66eb252cad"><td class="memTemplParams" colspan="2">template<typename _Tp > </td></tr> <tr class="memitem:gaad7c9077082544dc2454ef66eb252cad"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01472.html#gaad7c9077082544dc2454ef66eb252cad">std::atomic_store</a> (shared_ptr< _Tp > *__p, shared_ptr< _Tp > __r)</td></tr> <tr class="separator:gaad7c9077082544dc2454ef66eb252cad"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga4fb42f2c743388ba4dcf24abf0cc2701"><td class="memTemplParams" colspan="2">template<typename _Tp , _Lock_policy _Lp> </td></tr> <tr class="memitem:ga4fb42f2c743388ba4dcf24abf0cc2701"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01472.html#ga4fb42f2c743388ba4dcf24abf0cc2701">std::atomic_store_explicit</a> (__shared_ptr< _Tp, _Lp > *__p, __shared_ptr< _Tp, _Lp > __r, memory_order)</td></tr> <tr class="separator:ga4fb42f2c743388ba4dcf24abf0cc2701"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gaf607a58027ea400e7688daa2832c67ef"><td class="memTemplParams" colspan="2">template<typename _Tp , _Lock_policy _Lp> </td></tr> <tr class="memitem:gaf607a58027ea400e7688daa2832c67ef"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01472.html#gaf607a58027ea400e7688daa2832c67ef">std::atomic_store</a> (__shared_ptr< _Tp, _Lp > *__p, __shared_ptr< _Tp, _Lp > __r)</td></tr> <tr class="separator:gaf607a58027ea400e7688daa2832c67ef"><td class="memSeparator" colspan="2"> </td></tr> <tr><td colspan="2"><div class="groupHeader"></div></td></tr> <tr class="memitem:ga663e97cb5020aa674934c4eda56ea7a0"><td class="memTemplParams" colspan="2">template<typename _Tp > </td></tr> <tr class="memitem:ga663e97cb5020aa674934c4eda56ea7a0"><td class="memTemplItemLeft" align="right" valign="top">shared_ptr< _Tp > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01472.html#ga663e97cb5020aa674934c4eda56ea7a0">std::atomic_exchange_explicit</a> (shared_ptr< _Tp > *__p, shared_ptr< _Tp > __r, memory_order)</td></tr> <tr class="separator:ga663e97cb5020aa674934c4eda56ea7a0"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga0e05e0e96f4b0cfdce2e7f6143976070"><td class="memTemplParams" colspan="2">template<typename _Tp > </td></tr> <tr class="memitem:ga0e05e0e96f4b0cfdce2e7f6143976070"><td class="memTemplItemLeft" align="right" valign="top">shared_ptr< _Tp > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01472.html#ga0e05e0e96f4b0cfdce2e7f6143976070">std::atomic_exchange</a> (shared_ptr< _Tp > *__p, shared_ptr< _Tp > __r)</td></tr> <tr class="separator:ga0e05e0e96f4b0cfdce2e7f6143976070"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gac73bf6a6160e468fc776581bcecd5424"><td class="memTemplParams" colspan="2">template<typename _Tp , _Lock_policy _Lp> </td></tr> <tr class="memitem:gac73bf6a6160e468fc776581bcecd5424"><td class="memTemplItemLeft" align="right" valign="top">__shared_ptr< _Tp, _Lp > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01472.html#gac73bf6a6160e468fc776581bcecd5424">std::atomic_exchange_explicit</a> (__shared_ptr< _Tp, _Lp > *__p, __shared_ptr< _Tp, _Lp > __r, memory_order)</td></tr> <tr class="separator:gac73bf6a6160e468fc776581bcecd5424"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga419348e5a13dcd7fdccd244f6c15bd35"><td class="memTemplParams" colspan="2">template<typename _Tp , _Lock_policy _Lp> </td></tr> <tr class="memitem:ga419348e5a13dcd7fdccd244f6c15bd35"><td class="memTemplItemLeft" align="right" valign="top">__shared_ptr< _Tp, _Lp > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01472.html#ga419348e5a13dcd7fdccd244f6c15bd35">std::atomic_exchange</a> (__shared_ptr< _Tp, _Lp > *__p, __shared_ptr< _Tp, _Lp > __r)</td></tr> <tr class="separator:ga419348e5a13dcd7fdccd244f6c15bd35"><td class="memSeparator" colspan="2"> </td></tr> <tr><td colspan="2"><div class="groupHeader"></div></td></tr> <tr class="memitem:ga7b812df2cdd0c01f09d65168d22418c9"><td class="memTemplParams" colspan="2">template<typename _Tp > </td></tr> <tr class="memitem:ga7b812df2cdd0c01f09d65168d22418c9"><td class="memTemplItemLeft" align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01472.html#ga7b812df2cdd0c01f09d65168d22418c9">std::atomic_compare_exchange_strong_explicit</a> (shared_ptr< _Tp > *__p, shared_ptr< _Tp > *__v, shared_ptr< _Tp > __w, memory_order, memory_order)</td></tr> <tr class="separator:ga7b812df2cdd0c01f09d65168d22418c9"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga8b4c27092fe0543d16aa24679ab64f35"><td class="memTemplParams" colspan="2">template<typename _Tp > </td></tr> <tr class="memitem:ga8b4c27092fe0543d16aa24679ab64f35"><td class="memTemplItemLeft" align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01472.html#ga8b4c27092fe0543d16aa24679ab64f35">std::atomic_compare_exchange_strong</a> (shared_ptr< _Tp > *__p, shared_ptr< _Tp > *__v, shared_ptr< _Tp > __w)</td></tr> <tr class="separator:ga8b4c27092fe0543d16aa24679ab64f35"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga8ddc9b0002afbe0001718de9c8ca931e"><td class="memTemplParams" colspan="2">template<typename _Tp > </td></tr> <tr class="memitem:ga8ddc9b0002afbe0001718de9c8ca931e"><td class="memTemplItemLeft" align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01472.html#ga8ddc9b0002afbe0001718de9c8ca931e">std::atomic_compare_exchange_weak_explicit</a> (shared_ptr< _Tp > *__p, shared_ptr< _Tp > *__v, shared_ptr< _Tp > __w, memory_order __success, memory_order __failure)</td></tr> <tr class="separator:ga8ddc9b0002afbe0001718de9c8ca931e"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga6aa9828191cf7749c72581e719dde0b0"><td class="memTemplParams" colspan="2">template<typename _Tp > </td></tr> <tr class="memitem:ga6aa9828191cf7749c72581e719dde0b0"><td class="memTemplItemLeft" align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01472.html#ga6aa9828191cf7749c72581e719dde0b0">std::atomic_compare_exchange_weak</a> (shared_ptr< _Tp > *__p, shared_ptr< _Tp > *__v, shared_ptr< _Tp > __w)</td></tr> <tr class="separator:ga6aa9828191cf7749c72581e719dde0b0"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga8ac0b3f7aae34919ebc25fc54ff6b9c8"><td class="memTemplParams" colspan="2">template<typename _Tp , _Lock_policy _Lp> </td></tr> <tr class="memitem:ga8ac0b3f7aae34919ebc25fc54ff6b9c8"><td class="memTemplItemLeft" align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01472.html#ga8ac0b3f7aae34919ebc25fc54ff6b9c8">std::atomic_compare_exchange_strong_explicit</a> (__shared_ptr< _Tp, _Lp > *__p, __shared_ptr< _Tp, _Lp > *__v, __shared_ptr< _Tp, _Lp > __w, memory_order, memory_order)</td></tr> <tr class="separator:ga8ac0b3f7aae34919ebc25fc54ff6b9c8"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga7f9e658275d4a2cdbf1b6a00d02adcc7"><td class="memTemplParams" colspan="2">template<typename _Tp , _Lock_policy _Lp> </td></tr> <tr class="memitem:ga7f9e658275d4a2cdbf1b6a00d02adcc7"><td class="memTemplItemLeft" align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01472.html#ga7f9e658275d4a2cdbf1b6a00d02adcc7">std::atomic_compare_exchange_strong</a> (__shared_ptr< _Tp, _Lp > *__p, __shared_ptr< _Tp, _Lp > *__v, __shared_ptr< _Tp, _Lp > __w)</td></tr> <tr class="separator:ga7f9e658275d4a2cdbf1b6a00d02adcc7"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga31df9efdf79235d0f8e112d245deb431"><td class="memTemplParams" colspan="2">template<typename _Tp , _Lock_policy _Lp> </td></tr> <tr class="memitem:ga31df9efdf79235d0f8e112d245deb431"><td class="memTemplItemLeft" align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01472.html#ga31df9efdf79235d0f8e112d245deb431">std::atomic_compare_exchange_weak_explicit</a> (__shared_ptr< _Tp, _Lp > *__p, __shared_ptr< _Tp, _Lp > *__v, __shared_ptr< _Tp, _Lp > __w, memory_order __success, memory_order __failure)</td></tr> <tr class="separator:ga31df9efdf79235d0f8e112d245deb431"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga6860aafd01c4daf71cca0efe5193437f"><td class="memTemplParams" colspan="2">template<typename _Tp , _Lock_policy _Lp> </td></tr> <tr class="memitem:ga6860aafd01c4daf71cca0efe5193437f"><td class="memTemplItemLeft" align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01472.html#ga6860aafd01c4daf71cca0efe5193437f">std::atomic_compare_exchange_weak</a> (__shared_ptr< _Tp, _Lp > *__p, __shared_ptr< _Tp, _Lp > *__v, __shared_ptr< _Tp, _Lp > __w)</td></tr> <tr class="separator:ga6860aafd01c4daf71cca0efe5193437f"><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 an internal header file, included by other library headers. Do not attempt to use it directly. Instead, include <memory>. </p> <p class="definition">Definition in file <a class="el" href="a00503_source.html">shared_ptr_atomic.h</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="dir_599c955538774c0249d4ddd97c0a9ae8.html">bits</a></li><li class="navelem"><a class="el" href="a00503.html">shared_ptr_atomic.h</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>