<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://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"/> <title>libstdc++: std::atomic< _Tp * > Struct Template Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <link href="navtree.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="navtree.js"></script> <script type="text/javascript" src="resize.js"></script> <script type="text/javascript"> $(document).ready(initResizable); </script> <link href="doxygen.css" rel="stylesheet" type="text/css"/> </head> <body> <!-- Generated by Doxygen 1.7.4 --> <div id="top"> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td style="padding-left: 0.5em;"> <div id="projectname">libstdc++</div> </td> </tr> </tbody> </table> </div> </div> <div id="side-nav" class="ui-resizable side-nav-resizable"> <div id="nav-tree"> <div id="nav-tree-contents"> </div> </div> <div id="splitbar" style="-moz-user-select:none;" class="ui-resizable-handle"> </div> </div> <script type="text/javascript"> initNavTree('a00369.html',''); </script> <div id="doc-content"> <div class="header"> <div class="summary"> <a href="#pub-types">Public Types</a> | <a href="#pub-methods">Public Member Functions</a> | <a href="#pub-attribs">Public Attributes</a> </div> <div class="headertitle"> <div class="title">std::atomic< _Tp * > Struct Template Reference<div class="ingroups"><a class="el" href="a01188.html">Atomics</a></div></div> </div> </div> <div class="contents"> <!-- doxytag: class="std::atomic< _Tp * >" --> <p>Partial specialization for pointer types. <a href="a00369.html#details">More...</a></p> <p><a href="a01857.html">List of all members.</a></p> <h2><a name="pub-types"></a> Public Types</h2> <ul> <li><a class="anchor" id="a4ab1fa05c98df04b737ed1af59fd2bcf"></a><!-- doxytag: member="std::atomic< _Tp * >::__base_type" ref="a4ab1fa05c98df04b737ed1af59fd2bcf" args="" --> typedef __atomic_base< _Tp * > <b>__base_type</b> <li><a class="anchor" id="a1a5670a75df251f87554b3e8dbf929d4"></a><!-- doxytag: member="std::atomic< _Tp * >::__pointer_type" ref="a1a5670a75df251f87554b3e8dbf929d4" args="" --> typedef _Tp * <b>__pointer_type</b> </ul> <h2><a name="pub-methods"></a> Public Member Functions</h2> <ul> <li><a class="anchor" id="a3e60df2217629bf3887e676a39fa00be"></a><!-- doxytag: member="std::atomic< _Tp * >::atomic" ref="a3e60df2217629bf3887e676a39fa00be" args="(const atomic &)" --> <b>atomic</b> (const <a class="el" href="a00368.html">atomic</a> &) <li><a class="anchor" id="a046a8098d4d31bb4fa158876e397594e"></a><!-- doxytag: member="std::atomic< _Tp * >::atomic" ref="a046a8098d4d31bb4fa158876e397594e" args="(__pointer_type __p)" --> constexpr <b>atomic</b> (__pointer_type __p) <li><a class="anchor" id="a53644f1ed1df3d3366d0e6c403f7e129"></a><!-- doxytag: member="std::atomic< _Tp * >::compare_exchange_strong" ref="a53644f1ed1df3d3366d0e6c403f7e129" args="(__pointer_type &__p1, __pointer_type __p2, memory_order __m1, memory_order __m2)" --> bool <b>compare_exchange_strong</b> (__pointer_type &__p1, __pointer_type __p2, <a class="el" href="a01188.html#gab4f8c60de95c10793a8e3e27fcb800d9">memory_order</a> __m1, <a class="el" href="a01188.html#gab4f8c60de95c10793a8e3e27fcb800d9">memory_order</a> __m2) <li><a class="anchor" id="a47d12471975a2fd84093626d22ff40c3"></a><!-- doxytag: member="std::atomic< _Tp * >::compare_exchange_strong" ref="a47d12471975a2fd84093626d22ff40c3" args="(__pointer_type &__p1, __pointer_type __p2, memory_order __m1, memory_order __m2) volatile" --> bool <b>compare_exchange_strong</b> (__pointer_type &__p1, __pointer_type __p2, <a class="el" href="a01188.html#gab4f8c60de95c10793a8e3e27fcb800d9">memory_order</a> __m1, <a class="el" href="a01188.html#gab4f8c60de95c10793a8e3e27fcb800d9">memory_order</a> __m2) volatile <li><a class="anchor" id="a239dc7fb0aa7cb6e1e449bf161ca9a26"></a><!-- doxytag: member="std::atomic< _Tp * >::compare_exchange_strong" ref="a239dc7fb0aa7cb6e1e449bf161ca9a26" args="(__pointer_type &__p1, __pointer_type __p2, memory_order __m=memory_order_seq_cst)" --> bool <b>compare_exchange_strong</b> (__pointer_type &__p1, __pointer_type __p2, <a class="el" href="a01188.html#gab4f8c60de95c10793a8e3e27fcb800d9">memory_order</a> __m=memory_order_seq_cst) <li><a class="anchor" id="aa8cd271b317332926a9344b851239c68"></a><!-- doxytag: member="std::atomic< _Tp * >::compare_exchange_strong" ref="aa8cd271b317332926a9344b851239c68" args="(__pointer_type &__p1, __pointer_type __p2, memory_order __m=memory_order_seq_cst) volatile" --> bool <b>compare_exchange_strong</b> (__pointer_type &__p1, __pointer_type __p2, <a class="el" href="a01188.html#gab4f8c60de95c10793a8e3e27fcb800d9">memory_order</a> __m=memory_order_seq_cst) volatile <li><a class="anchor" id="a7a8d8aedc7aecf82309ee565f60429b8"></a><!-- doxytag: member="std::atomic< _Tp * >::compare_exchange_weak" ref="a7a8d8aedc7aecf82309ee565f60429b8" args="(__pointer_type &__p1, __pointer_type __p2, memory_order __m1, memory_order __m2) volatile" --> bool <b>compare_exchange_weak</b> (__pointer_type &__p1, __pointer_type __p2, <a class="el" href="a01188.html#gab4f8c60de95c10793a8e3e27fcb800d9">memory_order</a> __m1, <a class="el" href="a01188.html#gab4f8c60de95c10793a8e3e27fcb800d9">memory_order</a> __m2) volatile <li><a class="anchor" id="aeadc474aef8e99cd088fbbd096fadd92"></a><!-- doxytag: member="std::atomic< _Tp * >::compare_exchange_weak" ref="aeadc474aef8e99cd088fbbd096fadd92" args="(__pointer_type &__p1, __pointer_type __p2, memory_order __m=memory_order_seq_cst)" --> bool <b>compare_exchange_weak</b> (__pointer_type &__p1, __pointer_type __p2, <a class="el" href="a01188.html#gab4f8c60de95c10793a8e3e27fcb800d9">memory_order</a> __m=memory_order_seq_cst) <li><a class="anchor" id="aaf5d093eaf0299758ae1dacb2e051106"></a><!-- doxytag: member="std::atomic< _Tp * >::compare_exchange_weak" ref="aaf5d093eaf0299758ae1dacb2e051106" args="(__pointer_type &__p1, __pointer_type __p2, memory_order __m=memory_order_seq_cst) volatile" --> bool <b>compare_exchange_weak</b> (__pointer_type &__p1, __pointer_type __p2, <a class="el" href="a01188.html#gab4f8c60de95c10793a8e3e27fcb800d9">memory_order</a> __m=memory_order_seq_cst) volatile <li><a class="anchor" id="a964fc1286fff87e860c7d7a3ce073826"></a><!-- doxytag: member="std::atomic< _Tp * >::compare_exchange_weak" ref="a964fc1286fff87e860c7d7a3ce073826" args="(__pointer_type &__p1, __pointer_type __p2, memory_order __m1, memory_order __m2)" --> bool <b>compare_exchange_weak</b> (__pointer_type &__p1, __pointer_type __p2, <a class="el" href="a01188.html#gab4f8c60de95c10793a8e3e27fcb800d9">memory_order</a> __m1, <a class="el" href="a01188.html#gab4f8c60de95c10793a8e3e27fcb800d9">memory_order</a> __m2) <li><a class="anchor" id="a81050b8fc8c7f5fb6f42753a5322e674"></a><!-- doxytag: member="std::atomic< _Tp * >::exchange" ref="a81050b8fc8c7f5fb6f42753a5322e674" args="(__pointer_type __p, memory_order __m=memory_order_seq_cst)" --> __pointer_type <b>exchange</b> (__pointer_type __p, <a class="el" href="a01188.html#gab4f8c60de95c10793a8e3e27fcb800d9">memory_order</a> __m=memory_order_seq_cst) <li><a class="anchor" id="a4d933ee025949294f4b7eff6a9a9e979"></a><!-- doxytag: member="std::atomic< _Tp * >::exchange" ref="a4d933ee025949294f4b7eff6a9a9e979" args="(__pointer_type __p, memory_order __m=memory_order_seq_cst) volatile" --> __pointer_type <b>exchange</b> (__pointer_type __p, <a class="el" href="a01188.html#gab4f8c60de95c10793a8e3e27fcb800d9">memory_order</a> __m=memory_order_seq_cst) volatile <li><a class="anchor" id="ab152cbb1480dd5bb93d0cb842b9cceba"></a><!-- doxytag: member="std::atomic< _Tp * >::fetch_add" ref="ab152cbb1480dd5bb93d0cb842b9cceba" args="(ptrdiff_t __d, memory_order __m=memory_order_seq_cst)" --> __pointer_type <b>fetch_add</b> (ptrdiff_t __d, <a class="el" href="a01188.html#gab4f8c60de95c10793a8e3e27fcb800d9">memory_order</a> __m=memory_order_seq_cst) <li><a class="anchor" id="a039ca23fd30eeac616b5dff8cb6502cc"></a><!-- doxytag: member="std::atomic< _Tp * >::fetch_add" ref="a039ca23fd30eeac616b5dff8cb6502cc" args="(ptrdiff_t __d, memory_order __m=memory_order_seq_cst) volatile" --> __pointer_type <b>fetch_add</b> (ptrdiff_t __d, <a class="el" href="a01188.html#gab4f8c60de95c10793a8e3e27fcb800d9">memory_order</a> __m=memory_order_seq_cst) volatile <li><a class="anchor" id="af637fbac1805234d5e0a1f753b1fc9ad"></a><!-- doxytag: member="std::atomic< _Tp * >::fetch_sub" ref="af637fbac1805234d5e0a1f753b1fc9ad" args="(ptrdiff_t __d, memory_order __m=memory_order_seq_cst)" --> __pointer_type <b>fetch_sub</b> (ptrdiff_t __d, <a class="el" href="a01188.html#gab4f8c60de95c10793a8e3e27fcb800d9">memory_order</a> __m=memory_order_seq_cst) <li><a class="anchor" id="a1441bf284a95c467b10c7f62db88468f"></a><!-- doxytag: member="std::atomic< _Tp * >::fetch_sub" ref="a1441bf284a95c467b10c7f62db88468f" args="(ptrdiff_t __d, memory_order __m=memory_order_seq_cst) volatile" --> __pointer_type <b>fetch_sub</b> (ptrdiff_t __d, <a class="el" href="a01188.html#gab4f8c60de95c10793a8e3e27fcb800d9">memory_order</a> __m=memory_order_seq_cst) volatile <li><a class="anchor" id="a1bc2b4f5294c980b26563433aad25d75"></a><!-- doxytag: member="std::atomic< _Tp * >::is_lock_free" ref="a1bc2b4f5294c980b26563433aad25d75" args="() const " --> bool <b>is_lock_free</b> () const <li><a class="anchor" id="aae241e14c7c95475454448ccc88e5804"></a><!-- doxytag: member="std::atomic< _Tp * >::is_lock_free" ref="aae241e14c7c95475454448ccc88e5804" args="() const volatile" --> bool <b>is_lock_free</b> () const volatile <li><a class="anchor" id="a46e6a2275833d7fb8ae5a12948d582ac"></a><!-- doxytag: member="std::atomic< _Tp * >::load" ref="a46e6a2275833d7fb8ae5a12948d582ac" args="(memory_order __m=memory_order_seq_cst) const " --> __pointer_type <b>load</b> (<a class="el" href="a01188.html#gab4f8c60de95c10793a8e3e27fcb800d9">memory_order</a> __m=memory_order_seq_cst) const <li><a class="anchor" id="a684920e7d66709b1a6ef40c8943c17a5"></a><!-- doxytag: member="std::atomic< _Tp * >::load" ref="a684920e7d66709b1a6ef40c8943c17a5" args="(memory_order __m=memory_order_seq_cst) const volatile" --> __pointer_type <b>load</b> (<a class="el" href="a01188.html#gab4f8c60de95c10793a8e3e27fcb800d9">memory_order</a> __m=memory_order_seq_cst) const volatile <li><a class="anchor" id="a5ecfded6f319789eef62d5a6d4ed219c"></a><!-- doxytag: member="std::atomic< _Tp * >::operator __pointer_type" ref="a5ecfded6f319789eef62d5a6d4ed219c" args="() const volatile" --> <b>operator __pointer_type</b> () const volatile <li><a class="anchor" id="afe3392b91385606a8dc57213fdc77140"></a><!-- doxytag: member="std::atomic< _Tp * >::operator __pointer_type" ref="afe3392b91385606a8dc57213fdc77140" args="() const " --> <b>operator __pointer_type</b> () const <li><a class="anchor" id="a3d679fdaef95a01d7bc6f153a1144781"></a><!-- doxytag: member="std::atomic< _Tp * >::operator++" ref="a3d679fdaef95a01d7bc6f153a1144781" args="() volatile" --> __pointer_type <b>operator++</b> () volatile <li><a class="anchor" id="a2c60fa85939e4173f9dc8827904449bd"></a><!-- doxytag: member="std::atomic< _Tp * >::operator++" ref="a2c60fa85939e4173f9dc8827904449bd" args="(int)" --> __pointer_type <b>operator++</b> (int) <li><a class="anchor" id="acfda6250ce3ded241504599d7fad7d53"></a><!-- doxytag: member="std::atomic< _Tp * >::operator++" ref="acfda6250ce3ded241504599d7fad7d53" args="(int) volatile" --> __pointer_type <b>operator++</b> (int) volatile <li><a class="anchor" id="ad56b9bc750cf23ae9411dcdad8c0f8dd"></a><!-- doxytag: member="std::atomic< _Tp * >::operator++" ref="ad56b9bc750cf23ae9411dcdad8c0f8dd" args="()" --> __pointer_type <b>operator++</b> () <li><a class="anchor" id="a19c645173ee36088c2b297b74a2e9cbe"></a><!-- doxytag: member="std::atomic< _Tp * >::operator+=" ref="a19c645173ee36088c2b297b74a2e9cbe" args="(ptrdiff_t __d)" --> __pointer_type <b>operator+=</b> (ptrdiff_t __d) <li><a class="anchor" id="a7baaaeeb3a03a231b62d8b739fddbb83"></a><!-- doxytag: member="std::atomic< _Tp * >::operator+=" ref="a7baaaeeb3a03a231b62d8b739fddbb83" args="(ptrdiff_t __d) volatile" --> __pointer_type <b>operator+=</b> (ptrdiff_t __d) volatile <li><a class="anchor" id="a1912a25ed91e8daf685e0dbe61b08120"></a><!-- doxytag: member="std::atomic< _Tp * >::operator--" ref="a1912a25ed91e8daf685e0dbe61b08120" args="()" --> __pointer_type <b>operator--</b> () <li><a class="anchor" id="a028e67115ec5edd59883281f8dcb6594"></a><!-- doxytag: member="std::atomic< _Tp * >::operator--" ref="a028e67115ec5edd59883281f8dcb6594" args="() volatile" --> __pointer_type <b>operator--</b> () volatile <li><a class="anchor" id="ab55dd178bbd588c1b73218c7dd4904f1"></a><!-- doxytag: member="std::atomic< _Tp * >::operator--" ref="ab55dd178bbd588c1b73218c7dd4904f1" args="(int) volatile" --> __pointer_type <b>operator--</b> (int) volatile <li><a class="anchor" id="a3e398056cb2ab40a3df3648b7a5c0879"></a><!-- doxytag: member="std::atomic< _Tp * >::operator--" ref="a3e398056cb2ab40a3df3648b7a5c0879" args="(int)" --> __pointer_type <b>operator--</b> (int) <li><a class="anchor" id="a7ecfb5ebe6b8856d86df0ac7dd93bd6d"></a><!-- doxytag: member="std::atomic< _Tp * >::operator-=" ref="a7ecfb5ebe6b8856d86df0ac7dd93bd6d" args="(ptrdiff_t __d)" --> __pointer_type <b>operator-=</b> (ptrdiff_t __d) <li><a class="anchor" id="a889328bcabe49ebe90633188cef792e0"></a><!-- doxytag: member="std::atomic< _Tp * >::operator-=" ref="a889328bcabe49ebe90633188cef792e0" args="(ptrdiff_t __d) volatile" --> __pointer_type <b>operator-=</b> (ptrdiff_t __d) volatile <li><a class="anchor" id="a1165f1481eeaffb5f12de71fce037709"></a><!-- doxytag: member="std::atomic< _Tp * >::operator=" ref="a1165f1481eeaffb5f12de71fce037709" args="(const atomic &) volatile" --> <a class="el" href="a00368.html">atomic</a> & <b>operator=</b> (const <a class="el" href="a00368.html">atomic</a> &) volatile <li><a class="anchor" id="a2c0bb1db875533d36c1f470269fec9ff"></a><!-- doxytag: member="std::atomic< _Tp * >::operator=" ref="a2c0bb1db875533d36c1f470269fec9ff" args="(__pointer_type __p)" --> __pointer_type <b>operator=</b> (__pointer_type __p) <li><a class="anchor" id="a197aac1c00c93d2697a721b08a6afce2"></a><!-- doxytag: member="std::atomic< _Tp * >::operator=" ref="a197aac1c00c93d2697a721b08a6afce2" args="(__pointer_type __p) volatile" --> __pointer_type <b>operator=</b> (__pointer_type __p) volatile <li><a class="anchor" id="a808f05d228b734eef2a513d21d8f35f8"></a><!-- doxytag: member="std::atomic< _Tp * >::operator=" ref="a808f05d228b734eef2a513d21d8f35f8" args="(const atomic &)" --> <a class="el" href="a00368.html">atomic</a> & <b>operator=</b> (const <a class="el" href="a00368.html">atomic</a> &) <li><a class="anchor" id="a8268e756874434356c0b75be9297884d"></a><!-- doxytag: member="std::atomic< _Tp * >::store" ref="a8268e756874434356c0b75be9297884d" args="(__pointer_type __p, memory_order __m=memory_order_seq_cst)" --> void <b>store</b> (__pointer_type __p, <a class="el" href="a01188.html#gab4f8c60de95c10793a8e3e27fcb800d9">memory_order</a> __m=memory_order_seq_cst) <li><a class="anchor" id="a0662a00e4db437b03ba0126fa38f22b1"></a><!-- doxytag: member="std::atomic< _Tp * >::store" ref="a0662a00e4db437b03ba0126fa38f22b1" args="(__pointer_type __p, memory_order __m=memory_order_seq_cst) volatile" --> void <b>store</b> (__pointer_type __p, <a class="el" href="a01188.html#gab4f8c60de95c10793a8e3e27fcb800d9">memory_order</a> __m=memory_order_seq_cst) volatile </ul> <h2><a name="pub-attribs"></a> Public Attributes</h2> <ul> <li><a class="anchor" id="a964e10bfc46e7a3071943318d8b40133"></a><!-- doxytag: member="std::atomic< _Tp * >::_M_b" ref="a964e10bfc46e7a3071943318d8b40133" args="" --> __base_type <b>_M_b</b> </ul> <hr/><a name="details" id="details"></a><h2>Detailed Description</h2> <div class="textblock"><h3>template<typename _Tp><br/> struct std::atomic< _Tp * ></h3> <p>Partial specialization for pointer types. </p> <p>Definition at line <a class="el" href="a00755_source.html#l00233">233</a> of file <a class="el" href="a00755_source.html">atomic</a>.</p> </div><hr/>The documentation for this struct was generated from the following file:<ul> <li><a class="el" href="a00755_source.html">atomic</a></li> </ul> </div> </div> <div id="nav-path" class="navpath"> <ul> <li class="navelem"><a class="el" href="a01137.html">std</a> </li> <li class="navelem"><a class="el" href="a00369.html">atomic< _Tp * ></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.7.4 </li> </ul> </div> </body> </html>