<!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++: atomic_base.h File 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('a00758.html',''); </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">Defines</a> | <a href="#typedef-members">Typedefs</a> | <a href="#enum-members">Enumerations</a> | <a href="#func-members">Functions</a> </div> <div class="headertitle"> <div class="title">atomic_base.h File Reference</div> </div> </div> <div class="contents"> <p><a href="a00758_source.html">Go to the source code of this file.</a></p> <h2><a name="nested-classes"></a> Classes</h2> <ul> <li>struct <a class="el" href="a00273.html">std::__atomic_flag_base</a> <dl class="el"><dd class="mdescRight">Base type for atomic_flag. <a href="a00273.html#details">More...</a><br/></dl></ul> <h2><a name="namespaces"></a> Namespaces</h2> <ul> <li>namespace <a class="el" href="a01137.html">std</a> </ul> <h2><a name="define-members"></a> Defines</h2> <ul> <li><a class="anchor" id="ga1e09183b546c58cb52d82c323c3a51d2"></a><!-- doxytag: member="atomic_base.h::_GLIBCXX_ATOMIC_NAMESPACE" ref="ga1e09183b546c58cb52d82c323c3a51d2" args="" --> #define <b>_GLIBCXX_ATOMIC_NAMESPACE</b> <li>#define <a class="el" href="a01188.html#ga0d870498f93fe6a63fc77561441d546d">_GLIBCXX_ATOMIC_PROPERTY</a> <li><a class="anchor" id="gab0b4873e5b0b398be21f976c5d404943"></a><!-- doxytag: member="atomic_base.h::ATOMIC_CHAR16_T_LOCK_FREE" ref="gab0b4873e5b0b398be21f976c5d404943" args="" --> #define <b>ATOMIC_CHAR16_T_LOCK_FREE</b> <li><a class="anchor" id="gaf726aa4fd08028dc07af91527c5b95b7"></a><!-- doxytag: member="atomic_base.h::ATOMIC_CHAR32_T_LOCK_FREE" ref="gaf726aa4fd08028dc07af91527c5b95b7" args="" --> #define <b>ATOMIC_CHAR32_T_LOCK_FREE</b> <li><a class="anchor" id="ga5947499b394cf2ca4a55557abb2cb51e"></a><!-- doxytag: member="atomic_base.h::ATOMIC_CHAR_LOCK_FREE" ref="ga5947499b394cf2ca4a55557abb2cb51e" args="" --> #define <b>ATOMIC_CHAR_LOCK_FREE</b> <li><a class="anchor" id="ga3cf6ded3b463faf0cedce1718caaa695"></a><!-- doxytag: member="atomic_base.h::ATOMIC_FLAG_INIT" ref="ga3cf6ded3b463faf0cedce1718caaa695" args="" --> #define <b>ATOMIC_FLAG_INIT</b> <li><a class="anchor" id="ga174d07237cc70649eca5d6b15ce16172"></a><!-- doxytag: member="atomic_base.h::ATOMIC_INT_LOCK_FREE" ref="ga174d07237cc70649eca5d6b15ce16172" args="" --> #define <b>ATOMIC_INT_LOCK_FREE</b> <li><a class="anchor" id="ga4e413995b4f7320d62d69dfeb4d79f40"></a><!-- doxytag: member="atomic_base.h::ATOMIC_LLONG_LOCK_FREE" ref="ga4e413995b4f7320d62d69dfeb4d79f40" args="" --> #define <b>ATOMIC_LLONG_LOCK_FREE</b> <li><a class="anchor" id="ga6c176ec0ffbac2a5b8e60d7ec761f976"></a><!-- doxytag: member="atomic_base.h::ATOMIC_LONG_LOCK_FREE" ref="ga6c176ec0ffbac2a5b8e60d7ec761f976" args="" --> #define <b>ATOMIC_LONG_LOCK_FREE</b> <li><a class="anchor" id="gade90efdf36074fc8b164bf866355c872"></a><!-- doxytag: member="atomic_base.h::ATOMIC_SHORT_LOCK_FREE" ref="gade90efdf36074fc8b164bf866355c872" args="" --> #define <b>ATOMIC_SHORT_LOCK_FREE</b> <li><a class="anchor" id="gaf8797733c162a3ad3dfc343000e65d4c"></a><!-- doxytag: member="atomic_base.h::ATOMIC_VAR_INIT" ref="gaf8797733c162a3ad3dfc343000e65d4c" args="(_VI)" --> #define <b>ATOMIC_VAR_INIT</b>(_VI) <li><a class="anchor" id="gaff7442b94bb420f0e9dbc0499089eca7"></a><!-- doxytag: member="atomic_base.h::ATOMIC_WCHAR_T_LOCK_FREE" ref="gaff7442b94bb420f0e9dbc0499089eca7" args="" --> #define <b>ATOMIC_WCHAR_T_LOCK_FREE</b> </ul> <h2><a name="typedef-members"></a> Typedefs</h2> <ul> <li>typedef __atomic_base< char > <a class="el" href="a01188.html#gaf58cfa1b5c8d3a46bd307e81d06b0765">std::atomic_char</a> <li>typedef __atomic_base< char16_t > <a class="el" href="a01188.html#ga0f2298bdec3374e1a1818f12918eb268">std::atomic_char16_t</a> <li>typedef __atomic_base< char32_t > <a class="el" href="a01188.html#ga77dbe542f8c614c27da7c2f77e883d25">std::atomic_char32_t</a> <li>typedef __atomic_base< int > <a class="el" href="a01188.html#ga04ef220e5bb058cc3fa3e3428904d442">std::atomic_int</a> <li>typedef __atomic_base<br class="typebreak"/> < int_fast16_t > <a class="el" href="a01188.html#ga01d45c3917a4bfa82b20298e73fde625">std::atomic_int_fast16_t</a> <li>typedef __atomic_base<br class="typebreak"/> < int_fast32_t > <a class="el" href="a01188.html#gae869fcc125124b81b739715076fdf0cf">std::atomic_int_fast32_t</a> <li>typedef __atomic_base<br class="typebreak"/> < int_fast64_t > <a class="el" href="a01188.html#ga3774428a19c8000e4a65962fbc3a0bf8">std::atomic_int_fast64_t</a> <li>typedef __atomic_base<br class="typebreak"/> < int_fast8_t > <a class="el" href="a01188.html#ga1ec4aaa43408db30969fdb7588040656">std::atomic_int_fast8_t</a> <li>typedef __atomic_base<br class="typebreak"/> < int_least16_t > <a class="el" href="a01188.html#ga4f66b703bddf1f24995c0d2c81a3d329">std::atomic_int_least16_t</a> <li>typedef __atomic_base<br class="typebreak"/> < int_least32_t > <a class="el" href="a01188.html#ga059a25837eb7da1876108649a2747947">std::atomic_int_least32_t</a> <li>typedef __atomic_base<br class="typebreak"/> < int_least64_t > <a class="el" href="a01188.html#ga6b010c3483fa78978c13accdf3cb9aee">std::atomic_int_least64_t</a> <li>typedef __atomic_base<br class="typebreak"/> < int_least8_t > <a class="el" href="a01188.html#ga1e2c3b04644d2884287d3f721d1b3ad6">std::atomic_int_least8_t</a> <li>typedef __atomic_base< intmax_t > <a class="el" href="a01188.html#ga2f3aa5479d45eccd2b7e56458ef24294">std::atomic_intmax_t</a> <li>typedef __atomic_base< intptr_t > <a class="el" href="a01188.html#ga774949800d1e0b22e25a69f09a2dc91b">std::atomic_intptr_t</a> <li>typedef __atomic_base< long long > <a class="el" href="a01188.html#ga744e139931a348b32bbd24d8699783ce">std::atomic_llong</a> <li>typedef __atomic_base< long > <a class="el" href="a01188.html#ga428826f4b1af80e1b2d0f54362c2cacb">std::atomic_long</a> <li>typedef __atomic_base< ptrdiff_t > <a class="el" href="a01188.html#ga21a2bb13ac087c3422d8ad64046dad73">std::atomic_ptrdiff_t</a> <li>typedef __atomic_base< signed <br class="typebreak"/> char > <a class="el" href="a01188.html#gacf9b32a084fdb5d542290ef7f59e7c4b">std::atomic_schar</a> <li>typedef __atomic_base< short > <a class="el" href="a01188.html#ga9637bf38662b604246ea018d9ab54d47">std::atomic_short</a> <li>typedef __atomic_base< size_t > <a class="el" href="a01188.html#ga6dec3129b8c6a5a2aa025e8ef0559d22">std::atomic_size_t</a> <li>typedef __atomic_base<br class="typebreak"/> < unsigned char > <a class="el" href="a01188.html#gaf95f2d439645dd8b55331e89894b5f78">std::atomic_uchar</a> <li>typedef __atomic_base<br class="typebreak"/> < unsigned int > <a class="el" href="a01188.html#ga442bd75a9b42c03b1469dd6f09182317">std::atomic_uint</a> <li>typedef __atomic_base<br class="typebreak"/> < uint_fast16_t > <a class="el" href="a01188.html#gaf7622d74776f43d75beb97426bcfe3d4">std::atomic_uint_fast16_t</a> <li>typedef __atomic_base<br class="typebreak"/> < uint_fast32_t > <a class="el" href="a01188.html#gac33b5a5d2b3fbd7fa5ce96c3767ed63f">std::atomic_uint_fast32_t</a> <li>typedef __atomic_base<br class="typebreak"/> < uint_fast64_t > <a class="el" href="a01188.html#ga6bec4bb1fc6ef22effe2873817d33aed">std::atomic_uint_fast64_t</a> <li>typedef __atomic_base<br class="typebreak"/> < uint_fast8_t > <a class="el" href="a01188.html#ga8173423e017cf3cff25ab8ca8efc563c">std::atomic_uint_fast8_t</a> <li>typedef __atomic_base<br class="typebreak"/> < uint_least16_t > <a class="el" href="a01188.html#gaf8bda8e59e57ed3f6955868193386236">std::atomic_uint_least16_t</a> <li>typedef __atomic_base<br class="typebreak"/> < uint_least32_t > <a class="el" href="a01188.html#gaf15c051886354889fff26938cae51abd">std::atomic_uint_least32_t</a> <li>typedef __atomic_base<br class="typebreak"/> < uint_least64_t > <a class="el" href="a01188.html#gac316ce95f15e6437d4b5e7543112fcff">std::atomic_uint_least64_t</a> <li>typedef __atomic_base<br class="typebreak"/> < uint_least8_t > <a class="el" href="a01188.html#gaf83a2a2a2509498c7bd3477765269538">std::atomic_uint_least8_t</a> <li>typedef __atomic_base< uintmax_t > <a class="el" href="a01188.html#gadc9c4bf224585fca0881d0b344657076">std::atomic_uintmax_t</a> <li>typedef __atomic_base< uintptr_t > <a class="el" href="a01188.html#gadd3a408769266e0c386d69ac56b119a5">std::atomic_uintptr_t</a> <li>typedef __atomic_base<br class="typebreak"/> < unsigned long long > <a class="el" href="a01188.html#gaccbb4ef5d881cdaff3cca32bc398490c">std::atomic_ullong</a> <li>typedef __atomic_base<br class="typebreak"/> < unsigned long > <a class="el" href="a01188.html#ga5836c319ca14354d106a528f32ee3a61">std::atomic_ulong</a> <li>typedef __atomic_base<br class="typebreak"/> < unsigned short > <a class="el" href="a01188.html#ga8b8d909f685d01c269e6715c3c823e91">std::atomic_ushort</a> <li>typedef __atomic_base< wchar_t > <a class="el" href="a01188.html#ga23cc1593d8b6eda060aba0f979d0d4ce">std::atomic_wchar_t</a> <li>typedef enum <a class="el" href="a01188.html#gab4f8c60de95c10793a8e3e27fcb800d9">std::memory_order</a> <a class="el" href="a01188.html#ga7163c4f13e7624eb78b16bb599a72f98">std::memory_order</a> </ul> <h2><a name="enum-members"></a> Enumerations</h2> <ul> <li>enum <a class="el" href="a01188.html#gab4f8c60de95c10793a8e3e27fcb800d9">std::memory_order</a> { <br/>   <b>memory_order_relaxed</b>, <b>memory_order_consume</b>, <b>memory_order_acquire</b>, <b>memory_order_release</b>, <br/>   <b>memory_order_acq_rel</b>, <b>memory_order_seq_cst</b> <br/> } </ul> <h2><a name="func-members"></a> Functions</h2> <ul> <li><a class="anchor" id="ga8f3c5681149dc486c0e8f0ffa4318a3d"></a><!-- doxytag: member="atomic_base.h::__calculate_memory_order" ref="ga8f3c5681149dc486c0e8f0ffa4318a3d" args="(memory_order __m)" --> memory_order <b>std::__calculate_memory_order</b> (memory_order __m) <li><a class="anchor" id="gac253b2f01d9e94f9b4f3c0acefb264c4"></a><!-- doxytag: member="atomic_base.h::atomic_signal_fence" ref="gac253b2f01d9e94f9b4f3c0acefb264c4" args="(memory_order)" --> void <b>std::atomic_signal_fence</b> (memory_order) <li><a class="anchor" id="gadd02f817f8f8e3fc2c933f274f4086b6"></a><!-- doxytag: member="atomic_base.h::atomic_thread_fence" ref="gadd02f817f8f8e3fc2c933f274f4086b6" args="(memory_order)" --> void <b>std::atomic_thread_fence</b> (memory_order) <li>template<typename _Tp > _Tp <a class="el" href="a01188.html#gac0eb9e13684ae306e727b18bb37b4482">std::kill_dependency</a> (_Tp __y) </ul> <hr/><a name="details" id="details"></a><h2>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 <atomic>. </p> <p>Definition in file <a class="el" href="a00758_source.html">atomic_base.h</a>.</p> </div></div> </div> <div id="nav-path" class="navpath"> <ul> <li class="navelem"><a class="el" href="a00758.html">atomic_base.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.7.4 </li> </ul> </div> </body> </html>