<!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.16"/> <meta name="viewport" content="width=device-width, initial-scale=1"/> <title>UbixOS V2: C:/Dev/git/UbixOS/sys/include/sys/stdatomic.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="search/search.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="search/searchdata.js"></script> <script type="text/javascript" src="search/search.js"></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">UbixOS V2  <span id="projectnumber">2.0</span> </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.16 --> <script type="text/javascript"> /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ var searchBox = new SearchBox("searchBox", "search",false,'Search'); /* @license-end */ </script> <script type="text/javascript" src="menudata.js"></script> <script type="text/javascript" src="menu.js"></script> <script type="text/javascript"> /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ $(function() { initMenu('',true,false,'search.php','Search'); $(document).ready(function() { init_search(); }); }); /* @license-end */</script> <div id="main-nav"></div> </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('stdatomic_8h.html','');}); /* @license-end */ </script> <div id="doc-content"> <!-- window showing the filter options --> <div id="MSearchSelectWindow" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> </div> <!-- iframe showing the search results (closed by default) --> <div id="MSearchResultsWindow"> <iframe src="javascript:void(0)" frameborder="0" name="MSearchResults" id="MSearchResults"> </iframe> </div> <div class="header"> <div class="summary"> <a href="#nested-classes">Data Structures</a> | <a href="#define-members">Macros</a> | <a href="#enum-members">Enumerations</a> | <a href="#func-members">Functions</a> </div> <div class="headertitle"> <div class="title">stdatomic.h File Reference</div> </div> </div><!--header--> <div class="contents"> <div class="textblock"><code>#include <<a class="el" href="cdefs_8h_source.html">sys/cdefs.h</a>></code><br /> <code>#include <<a class="el" href="__types_8h_source.html">sys/_types.h</a>></code><br /> </div><div class="textblock"><div class="dynheader"> Include dependency graph for stdatomic.h:</div> <div class="dyncontent"> <div class="center"><img src="stdatomic_8h__incl.png" border="0" usemap="#C_1_2Dev_2git_2UbixOS_2sys_2include_2sys_2stdatomic_8h" alt=""/></div> </div> </div><div class="textblock"><div class="dynheader"> This graph shows which files directly or indirectly include this file:</div> <div class="dyncontent"> <div class="center"><img src="stdatomic_8h__dep__incl.png" border="0" usemap="#C_1_2Dev_2git_2UbixOS_2sys_2include_2sys_2stdatomic_8hdep" alt=""/></div> </div> </div> <p><a href="stdatomic_8h_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> Data Structures</h2></td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structatomic__flag.html">atomic_flag</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:acdfdd67de0664b690c42bba327cf7da1"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="stdatomic_8h.html#acdfdd67de0664b690c42bba327cf7da1">__ATOMIC_ACQ_REL</a>   4</td></tr> <tr class="separator:acdfdd67de0664b690c42bba327cf7da1"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a72e3c30a05bd2bb63d76550e451a438e"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="stdatomic_8h.html#a72e3c30a05bd2bb63d76550e451a438e">__ATOMIC_ACQUIRE</a>   2</td></tr> <tr class="separator:a72e3c30a05bd2bb63d76550e451a438e"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:acae05e7d22f3a07fb8ced71a4804edb6"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="stdatomic_8h.html#acae05e7d22f3a07fb8ced71a4804edb6">__atomic_apply_stride</a>(object, operand)   (((__typeof__((object)->__val))0) + (operand))</td></tr> <tr class="separator:acae05e7d22f3a07fb8ced71a4804edb6"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a762c3361bcfeccc1f2742cc94b1ab65b"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="stdatomic_8h.html#a762c3361bcfeccc1f2742cc94b1ab65b">__ATOMIC_CONSUME</a>   1</td></tr> <tr class="separator:a762c3361bcfeccc1f2742cc94b1ab65b"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a8faf1f097f05558889df4c44d052d35e"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="stdatomic_8h.html#a8faf1f097f05558889df4c44d052d35e">__ATOMIC_RELAXED</a>   0</td></tr> <tr class="separator:a8faf1f097f05558889df4c44d052d35e"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a5822cf04414d99e0ee81e8bbe182226b"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="stdatomic_8h.html#a5822cf04414d99e0ee81e8bbe182226b">__ATOMIC_RELEASE</a>   3</td></tr> <tr class="separator:a5822cf04414d99e0ee81e8bbe182226b"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a0609dc2b702d5980de44c01bd373136a"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="stdatomic_8h.html#a0609dc2b702d5980de44c01bd373136a">__ATOMIC_SEQ_CST</a>   5</td></tr> <tr class="separator:a0609dc2b702d5980de44c01bd373136a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a363f436785249f132da5f94f30587f98"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="stdatomic_8h.html#a363f436785249f132da5f94f30587f98">atomic_compare_exchange_strong</a>(object, expected, desired)</td></tr> <tr class="separator:a363f436785249f132da5f94f30587f98"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a3ba706e3bbbabf5036356c09441559e2"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="stdatomic_8h.html#a3ba706e3bbbabf5036356c09441559e2">atomic_compare_exchange_strong_explicit</a>(object, expected, desired, success, failure)</td></tr> <tr class="separator:a3ba706e3bbbabf5036356c09441559e2"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a084c8c95aa5ded790928e7ca78dff7eb"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="stdatomic_8h.html#a084c8c95aa5ded790928e7ca78dff7eb">atomic_compare_exchange_weak</a>(object, expected, desired)</td></tr> <tr class="separator:a084c8c95aa5ded790928e7ca78dff7eb"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ae7f81d6541b8feec676e997952555882"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="stdatomic_8h.html#ae7f81d6541b8feec676e997952555882">atomic_compare_exchange_weak_explicit</a>(object, expected, desired, success, failure)</td></tr> <tr class="separator:ae7f81d6541b8feec676e997952555882"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a3a0241b6f3d907f3fc497cf0c747e4ea"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="stdatomic_8h.html#a3a0241b6f3d907f3fc497cf0c747e4ea">atomic_exchange</a>(object, desired)   <a class="el" href="stdatomic_8h.html#abc7db808dcdfb37a76f5dc646422fe29">atomic_exchange_explicit</a>(object, desired, <a class="el" href="stdatomic_8h.html#a17c2de5ae768960284c047a320f17d1ba2d21914d1edd227a890107e7878a3752">memory_order_seq_cst</a>)</td></tr> <tr class="separator:a3a0241b6f3d907f3fc497cf0c747e4ea"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:abc7db808dcdfb37a76f5dc646422fe29"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="stdatomic_8h.html#abc7db808dcdfb37a76f5dc646422fe29">atomic_exchange_explicit</a>(object, desired, order)</td></tr> <tr class="separator:abc7db808dcdfb37a76f5dc646422fe29"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aedf6fb62e0fc9e8f8cf2e3685f0a1e88"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="stdatomic_8h.html#aedf6fb62e0fc9e8f8cf2e3685f0a1e88">atomic_fetch_add</a>(object, operand)   <a class="el" href="stdatomic_8h.html#a1d2b72b5d6ad1392c4f805054be0bdd1">atomic_fetch_add_explicit</a>(object, operand, <a class="el" href="stdatomic_8h.html#a17c2de5ae768960284c047a320f17d1ba2d21914d1edd227a890107e7878a3752">memory_order_seq_cst</a>)</td></tr> <tr class="separator:aedf6fb62e0fc9e8f8cf2e3685f0a1e88"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a1d2b72b5d6ad1392c4f805054be0bdd1"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="stdatomic_8h.html#a1d2b72b5d6ad1392c4f805054be0bdd1">atomic_fetch_add_explicit</a>(object, operand, order)</td></tr> <tr class="separator:a1d2b72b5d6ad1392c4f805054be0bdd1"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:adb8eef1235f98b5b418480b474f0fa16"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="stdatomic_8h.html#adb8eef1235f98b5b418480b474f0fa16">atomic_fetch_and</a>(object, operand)   <a class="el" href="stdatomic_8h.html#aeef65522da3712b76bc1bd0d981d48ac">atomic_fetch_and_explicit</a>(object, operand, <a class="el" href="stdatomic_8h.html#a17c2de5ae768960284c047a320f17d1ba2d21914d1edd227a890107e7878a3752">memory_order_seq_cst</a>)</td></tr> <tr class="separator:adb8eef1235f98b5b418480b474f0fa16"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aeef65522da3712b76bc1bd0d981d48ac"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="stdatomic_8h.html#aeef65522da3712b76bc1bd0d981d48ac">atomic_fetch_and_explicit</a>(object, operand, order)   ((void)(order), __sync_fetch_and_and(&(object)->__val, operand))</td></tr> <tr class="separator:aeef65522da3712b76bc1bd0d981d48ac"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a516561c3d6db1e6adfd4c97894a63cfb"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="stdatomic_8h.html#a516561c3d6db1e6adfd4c97894a63cfb">atomic_fetch_or</a>(object, operand)   <a class="el" href="stdatomic_8h.html#aa9a7edeec6d650c3e7a43257ffd923bb">atomic_fetch_or_explicit</a>(object, operand, <a class="el" href="stdatomic_8h.html#a17c2de5ae768960284c047a320f17d1ba2d21914d1edd227a890107e7878a3752">memory_order_seq_cst</a>)</td></tr> <tr class="separator:a516561c3d6db1e6adfd4c97894a63cfb"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aa9a7edeec6d650c3e7a43257ffd923bb"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="stdatomic_8h.html#aa9a7edeec6d650c3e7a43257ffd923bb">atomic_fetch_or_explicit</a>(object, operand, order)   ((void)(order), __sync_fetch_and_or(&(object)->__val, operand))</td></tr> <tr class="separator:aa9a7edeec6d650c3e7a43257ffd923bb"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a66aaef69cdadfe5e0eb87f6beff352df"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="stdatomic_8h.html#a66aaef69cdadfe5e0eb87f6beff352df">atomic_fetch_sub</a>(object, operand)   <a class="el" href="stdatomic_8h.html#af952088a1a3bea5f3c11d67118eb729b">atomic_fetch_sub_explicit</a>(object, operand, <a class="el" href="stdatomic_8h.html#a17c2de5ae768960284c047a320f17d1ba2d21914d1edd227a890107e7878a3752">memory_order_seq_cst</a>)</td></tr> <tr class="separator:a66aaef69cdadfe5e0eb87f6beff352df"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:af952088a1a3bea5f3c11d67118eb729b"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="stdatomic_8h.html#af952088a1a3bea5f3c11d67118eb729b">atomic_fetch_sub_explicit</a>(object, operand, order)</td></tr> <tr class="separator:af952088a1a3bea5f3c11d67118eb729b"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a00b017a65180805ce9ab091864c0a60e"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="stdatomic_8h.html#a00b017a65180805ce9ab091864c0a60e">atomic_fetch_xor</a>(object, operand)   <a class="el" href="stdatomic_8h.html#ae067c20ab4471deddd41ecee572fe35f">atomic_fetch_xor_explicit</a>(object, operand, <a class="el" href="stdatomic_8h.html#a17c2de5ae768960284c047a320f17d1ba2d21914d1edd227a890107e7878a3752">memory_order_seq_cst</a>)</td></tr> <tr class="separator:a00b017a65180805ce9ab091864c0a60e"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ae067c20ab4471deddd41ecee572fe35f"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="stdatomic_8h.html#ae067c20ab4471deddd41ecee572fe35f">atomic_fetch_xor_explicit</a>(object, operand, order)   ((void)(order), __sync_fetch_and_xor(&(object)->__val, operand))</td></tr> <tr class="separator:ae067c20ab4471deddd41ecee572fe35f"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a3cf6ded3b463faf0cedce1718caaa695"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="stdatomic_8h.html#a3cf6ded3b463faf0cedce1718caaa695">ATOMIC_FLAG_INIT</a>   { <a class="el" href="stdatomic_8h.html#ad501bafcd2074b392f630497545de87d">ATOMIC_VAR_INIT</a>(0) }</td></tr> <tr class="separator:a3cf6ded3b463faf0cedce1718caaa695"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:af8a9cbe9495fcafaa892b24b383acf96"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="stdatomic_8h.html#af8a9cbe9495fcafaa892b24b383acf96">atomic_init</a>(obj, value)   ((void)((obj)->__val = (value)))</td></tr> <tr class="separator:af8a9cbe9495fcafaa892b24b383acf96"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a6e87cf22c6c854b1144fbba53bf579bb"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="stdatomic_8h.html#a6e87cf22c6c854b1144fbba53bf579bb">atomic_is_lock_free</a>(obj)   ((void)(obj), sizeof((obj)->__val) <= sizeof(void *))</td></tr> <tr class="separator:a6e87cf22c6c854b1144fbba53bf579bb"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:acced2a78b2a440317feed51f3e505d1d"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="stdatomic_8h.html#acced2a78b2a440317feed51f3e505d1d">atomic_load</a>(object)   <a class="el" href="stdatomic_8h.html#a714cabdfee3dff182363e10401689371">atomic_load_explicit</a>(object, <a class="el" href="stdatomic_8h.html#a17c2de5ae768960284c047a320f17d1ba2d21914d1edd227a890107e7878a3752">memory_order_seq_cst</a>)</td></tr> <tr class="separator:acced2a78b2a440317feed51f3e505d1d"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a714cabdfee3dff182363e10401689371"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="stdatomic_8h.html#a714cabdfee3dff182363e10401689371">atomic_load_explicit</a>(object, order)   ((void)(order), __sync_fetch_and_add(&(object)->__val, 0))</td></tr> <tr class="separator:a714cabdfee3dff182363e10401689371"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a0241b1f231c55cdf092b2d509e8d83df"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="stdatomic_8h.html#a0241b1f231c55cdf092b2d509e8d83df">atomic_store</a>(object, desired)   <a class="el" href="stdatomic_8h.html#ad559c29e007899c11142f0d899625397">atomic_store_explicit</a>(object, desired, <a class="el" href="stdatomic_8h.html#a17c2de5ae768960284c047a320f17d1ba2d21914d1edd227a890107e7878a3752">memory_order_seq_cst</a>)</td></tr> <tr class="separator:a0241b1f231c55cdf092b2d509e8d83df"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ad559c29e007899c11142f0d899625397"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="stdatomic_8h.html#ad559c29e007899c11142f0d899625397">atomic_store_explicit</a>(object, desired, order)   ((void)<a class="el" href="stdatomic_8h.html#abc7db808dcdfb37a76f5dc646422fe29">atomic_exchange_explicit</a>(object, desired, order))</td></tr> <tr class="separator:ad559c29e007899c11142f0d899625397"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ad501bafcd2074b392f630497545de87d"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="stdatomic_8h.html#ad501bafcd2074b392f630497545de87d">ATOMIC_VAR_INIT</a>(value)   { .__val = (value) }</td></tr> <tr class="separator:ad501bafcd2074b392f630497545de87d"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a> Enumerations</h2></td></tr> <tr class="memitem:a17c2de5ae768960284c047a320f17d1b"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="stdatomic_8h.html#a17c2de5ae768960284c047a320f17d1b">memory_order</a> { <br />   <a class="el" href="stdatomic_8h.html#a17c2de5ae768960284c047a320f17d1bac6489d0374e297a776f6a3db7ea5654a">memory_order_relaxed</a> = 0, <a class="el" href="stdatomic_8h.html#a17c2de5ae768960284c047a320f17d1ba0745f54882bc00251a719e42969db110">memory_order_consume</a> = 1, <a class="el" href="stdatomic_8h.html#a17c2de5ae768960284c047a320f17d1bafb313754331704b978e9a80a933b3da7">memory_order_acquire</a> = 2, <a class="el" href="stdatomic_8h.html#a17c2de5ae768960284c047a320f17d1ba685a90c8fc516895354973c3918a5f7b">memory_order_release</a> = 3, <br />   <a class="el" href="stdatomic_8h.html#a17c2de5ae768960284c047a320f17d1bae17e60cbfd766a7f165872c36e2f7bc5">memory_order_acq_rel</a> = 4, <a class="el" href="stdatomic_8h.html#a17c2de5ae768960284c047a320f17d1ba2d21914d1edd227a890107e7878a3752">memory_order_seq_cst</a> = 5 <br /> }</td></tr> <tr class="separator:a17c2de5ae768960284c047a320f17d1b"><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:afff57ffb45845b688f5b8749a5ee4f64"><td class="memItemLeft" align="right" valign="top">typedef </td><td class="memItemRight" valign="bottom"><a class="el" href="stdatomic_8h.html#afff57ffb45845b688f5b8749a5ee4f64">_Atomic</a> (_Bool) atomic_bool</td></tr> <tr class="separator:afff57ffb45845b688f5b8749a5ee4f64"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a8e19866b311b12ce62b7630c4caa37f1"><td class="memItemLeft" align="right" valign="top">typedef </td><td class="memItemRight" valign="bottom"><a class="el" href="stdatomic_8h.html#a8e19866b311b12ce62b7630c4caa37f1">_Atomic</a> (char) atomic_char</td></tr> <tr class="separator:a8e19866b311b12ce62b7630c4caa37f1"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a85aacaf1a58e72cbd6ee6dc634e5061e"><td class="memItemLeft" align="right" valign="top">typedef </td><td class="memItemRight" valign="bottom"><a class="el" href="stdatomic_8h.html#a85aacaf1a58e72cbd6ee6dc634e5061e">_Atomic</a> (int) atomic_int</td></tr> <tr class="separator:a85aacaf1a58e72cbd6ee6dc634e5061e"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a1bbac586a08a88061d4d297aa9855696"><td class="memItemLeft" align="right" valign="top">typedef </td><td class="memItemRight" valign="bottom"><a class="el" href="stdatomic_8h.html#a1bbac586a08a88061d4d297aa9855696">_Atomic</a> (long long) atomic_llong</td></tr> <tr class="separator:a1bbac586a08a88061d4d297aa9855696"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ae4ff20d782847ebd507c4d8b207b3678"><td class="memItemLeft" align="right" valign="top">typedef </td><td class="memItemRight" valign="bottom"><a class="el" href="stdatomic_8h.html#ae4ff20d782847ebd507c4d8b207b3678">_Atomic</a> (long) atomic_long</td></tr> <tr class="separator:ae4ff20d782847ebd507c4d8b207b3678"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a2d00d380f0af818a2cb3b8c27a1de160"><td class="memItemLeft" align="right" valign="top">typedef </td><td class="memItemRight" valign="bottom"><a class="el" href="stdatomic_8h.html#a2d00d380f0af818a2cb3b8c27a1de160">_Atomic</a> (short) atomic_short</td></tr> <tr class="separator:a2d00d380f0af818a2cb3b8c27a1de160"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:adaadc59d9812e139d9d86b88cf293815"><td class="memItemLeft" align="right" valign="top">typedef </td><td class="memItemRight" valign="bottom"><a class="el" href="stdatomic_8h.html#adaadc59d9812e139d9d86b88cf293815">_Atomic</a> (<a class="el" href="cdefs_8h.html#ae31516cd0c4adc3d52b93ef2e5c6117b">signed</a> char) atomic_schar</td></tr> <tr class="separator:adaadc59d9812e139d9d86b88cf293815"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a87b753c5b9dbb5af1cd2b0efcb162011"><td class="memItemLeft" align="right" valign="top">typedef </td><td class="memItemRight" valign="bottom"><a class="el" href="stdatomic_8h.html#a87b753c5b9dbb5af1cd2b0efcb162011">_Atomic</a> (unsigned char) atomic_uchar</td></tr> <tr class="separator:a87b753c5b9dbb5af1cd2b0efcb162011"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ad95e68886acbd91c6b0124907ea5ff3e"><td class="memItemLeft" align="right" valign="top">typedef </td><td class="memItemRight" valign="bottom"><a class="el" href="stdatomic_8h.html#ad95e68886acbd91c6b0124907ea5ff3e">_Atomic</a> (unsigned int) atomic_uint</td></tr> <tr class="separator:ad95e68886acbd91c6b0124907ea5ff3e"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aaa8eb04f4785cbe6295fbed13b311579"><td class="memItemLeft" align="right" valign="top">typedef </td><td class="memItemRight" valign="bottom"><a class="el" href="stdatomic_8h.html#aaa8eb04f4785cbe6295fbed13b311579">_Atomic</a> (unsigned long long) atomic_ullong</td></tr> <tr class="separator:aaa8eb04f4785cbe6295fbed13b311579"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a851e3966de9611eaae57079f61cf5e16"><td class="memItemLeft" align="right" valign="top">typedef </td><td class="memItemRight" valign="bottom"><a class="el" href="stdatomic_8h.html#a851e3966de9611eaae57079f61cf5e16">_Atomic</a> (unsigned long) atomic_ulong</td></tr> <tr class="separator:a851e3966de9611eaae57079f61cf5e16"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a3fb854f0c7ef3fad74a68d6f07207e1b"><td class="memItemLeft" align="right" valign="top">typedef </td><td class="memItemRight" valign="bottom"><a class="el" href="stdatomic_8h.html#a3fb854f0c7ef3fad74a68d6f07207e1b">_Atomic</a> (unsigned short) atomic_ushort</td></tr> <tr class="separator:a3fb854f0c7ef3fad74a68d6f07207e1b"><td class="memSeparator" colspan="2"> </td></tr> </table> <h2 class="groupheader">Macro Definition Documentation</h2> <a id="acdfdd67de0664b690c42bba327cf7da1"></a> <h2 class="memtitle"><span class="permalink"><a href="#acdfdd67de0664b690c42bba327cf7da1">◆ </a></span>__ATOMIC_ACQ_REL</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define __ATOMIC_ACQ_REL   4</td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="stdatomic_8h_source.html#l00112">112</a> of file <a class="el" href="stdatomic_8h_source.html">stdatomic.h</a>.</p> </div> </div> <a id="a72e3c30a05bd2bb63d76550e451a438e"></a> <h2 class="memtitle"><span class="permalink"><a href="#a72e3c30a05bd2bb63d76550e451a438e">◆ </a></span>__ATOMIC_ACQUIRE</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define __ATOMIC_ACQUIRE   2</td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="stdatomic_8h_source.html#l00106">106</a> of file <a class="el" href="stdatomic_8h_source.html">stdatomic.h</a>.</p> </div> </div> <a id="acae05e7d22f3a07fb8ced71a4804edb6"></a> <h2 class="memtitle"><span class="permalink"><a href="#acae05e7d22f3a07fb8ced71a4804edb6">◆ </a></span>__atomic_apply_stride</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define __atomic_apply_stride</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">object, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">operand </td> </tr> <tr> <td></td> <td>)</td> <td></td><td>   (((__typeof__((object)->__val))0) + (operand))</td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="stdatomic_8h_source.html#l00284">284</a> of file <a class="el" href="stdatomic_8h_source.html">stdatomic.h</a>.</p> </div> </div> <a id="a762c3361bcfeccc1f2742cc94b1ab65b"></a> <h2 class="memtitle"><span class="permalink"><a href="#a762c3361bcfeccc1f2742cc94b1ab65b">◆ </a></span>__ATOMIC_CONSUME</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define __ATOMIC_CONSUME   1</td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="stdatomic_8h_source.html#l00103">103</a> of file <a class="el" href="stdatomic_8h_source.html">stdatomic.h</a>.</p> </div> </div> <a id="a8faf1f097f05558889df4c44d052d35e"></a> <h2 class="memtitle"><span class="permalink"><a href="#a8faf1f097f05558889df4c44d052d35e">◆ </a></span>__ATOMIC_RELAXED</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define __ATOMIC_RELAXED   0</td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="stdatomic_8h_source.html#l00100">100</a> of file <a class="el" href="stdatomic_8h_source.html">stdatomic.h</a>.</p> </div> </div> <a id="a5822cf04414d99e0ee81e8bbe182226b"></a> <h2 class="memtitle"><span class="permalink"><a href="#a5822cf04414d99e0ee81e8bbe182226b">◆ </a></span>__ATOMIC_RELEASE</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define __ATOMIC_RELEASE   3</td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="stdatomic_8h_source.html#l00109">109</a> of file <a class="el" href="stdatomic_8h_source.html">stdatomic.h</a>.</p> </div> </div> <a id="a0609dc2b702d5980de44c01bd373136a"></a> <h2 class="memtitle"><span class="permalink"><a href="#a0609dc2b702d5980de44c01bd373136a">◆ </a></span>__ATOMIC_SEQ_CST</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define __ATOMIC_SEQ_CST   5</td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="stdatomic_8h_source.html#l00115">115</a> of file <a class="el" href="stdatomic_8h_source.html">stdatomic.h</a>.</p> </div> </div> <a id="a363f436785249f132da5f94f30587f98"></a> <h2 class="memtitle"><span class="permalink"><a href="#a363f436785249f132da5f94f30587f98">◆ </a></span>atomic_compare_exchange_strong</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define atomic_compare_exchange_strong</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">object, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">expected, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">desired </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <b>Value:</b><div class="fragment"><div class="line"><a class="code" href="stdatomic_8h.html#a3ba706e3bbbabf5036356c09441559e2">atomic_compare_exchange_strong_explicit</a>(<span class="keywordtype">object</span>, expected, \</div> <div class="line"> desired, <a class="code" href="stdatomic_8h.html#a17c2de5ae768960284c047a320f17d1ba2d21914d1edd227a890107e7878a3752">memory_order_seq_cst</a>, <a class="code" href="stdatomic_8h.html#a17c2de5ae768960284c047a320f17d1ba2d21914d1edd227a890107e7878a3752">memory_order_seq_cst</a>)</div> </div><!-- fragment --> <p class="definition">Definition at line <a class="el" href="stdatomic_8h_source.html#l00343">343</a> of file <a class="el" href="stdatomic_8h_source.html">stdatomic.h</a>.</p> </div> </div> <a id="a3ba706e3bbbabf5036356c09441559e2"></a> <h2 class="memtitle"><span class="permalink"><a href="#a3ba706e3bbbabf5036356c09441559e2">◆ </a></span>atomic_compare_exchange_strong_explicit</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define atomic_compare_exchange_strong_explicit</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">object, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">expected, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">desired, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">success, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">failure </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <b>Value:</b><div class="fragment"><div class="line">__extension__ ({ \</div> <div class="line"> __typeof__(expected) __ep = (expected); \</div> <div class="line"> __typeof__(*__ep) __e = *__ep; \</div> <div class="line"> (void)(success); (void)(failure); \</div> <div class="line"> (_Bool)((*__ep = __sync_val_compare_and_swap(&(<span class="keywordtype">object</span>)->__val, \</div> <div class="line"> __e, desired)) == __e); \</div> <div class="line">})</div> </div><!-- fragment --> <p class="definition">Definition at line <a class="el" href="stdatomic_8h_source.html#l00286">286</a> of file <a class="el" href="stdatomic_8h_source.html">stdatomic.h</a>.</p> </div> </div> <a id="a084c8c95aa5ded790928e7ca78dff7eb"></a> <h2 class="memtitle"><span class="permalink"><a href="#a084c8c95aa5ded790928e7ca78dff7eb">◆ </a></span>atomic_compare_exchange_weak</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define atomic_compare_exchange_weak</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">object, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">expected, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">desired </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <b>Value:</b><div class="fragment"><div class="line"><a class="code" href="stdatomic_8h.html#ae7f81d6541b8feec676e997952555882">atomic_compare_exchange_weak_explicit</a>(<span class="keywordtype">object</span>, expected, \</div> <div class="line"> desired, <a class="code" href="stdatomic_8h.html#a17c2de5ae768960284c047a320f17d1ba2d21914d1edd227a890107e7878a3752">memory_order_seq_cst</a>, <a class="code" href="stdatomic_8h.html#a17c2de5ae768960284c047a320f17d1ba2d21914d1edd227a890107e7878a3752">memory_order_seq_cst</a>)</div> </div><!-- fragment --> <p class="definition">Definition at line <a class="el" href="stdatomic_8h_source.html#l00346">346</a> of file <a class="el" href="stdatomic_8h_source.html">stdatomic.h</a>.</p> </div> </div> <a id="ae7f81d6541b8feec676e997952555882"></a> <h2 class="memtitle"><span class="permalink"><a href="#ae7f81d6541b8feec676e997952555882">◆ </a></span>atomic_compare_exchange_weak_explicit</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define atomic_compare_exchange_weak_explicit</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">object, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">expected, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">desired, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">success, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">failure </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <b>Value:</b><div class="fragment"><div class="line"><a class="code" href="stdatomic_8h.html#a3ba706e3bbbabf5036356c09441559e2">atomic_compare_exchange_strong_explicit</a>(<span class="keywordtype">object</span>, expected, \</div> <div class="line"> desired, success, failure)</div> </div><!-- fragment --> <p class="definition">Definition at line <a class="el" href="stdatomic_8h_source.html#l00294">294</a> of file <a class="el" href="stdatomic_8h_source.html">stdatomic.h</a>.</p> </div> </div> <a id="a3a0241b6f3d907f3fc497cf0c747e4ea"></a> <h2 class="memtitle"><span class="permalink"><a href="#a3a0241b6f3d907f3fc497cf0c747e4ea">◆ </a></span>atomic_exchange</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define atomic_exchange</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">object, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">desired </td> </tr> <tr> <td></td> <td>)</td> <td></td><td>   <a class="el" href="stdatomic_8h.html#abc7db808dcdfb37a76f5dc646422fe29">atomic_exchange_explicit</a>(object, desired, <a class="el" href="stdatomic_8h.html#a17c2de5ae768960284c047a320f17d1ba2d21914d1edd227a890107e7878a3752">memory_order_seq_cst</a>)</td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="stdatomic_8h_source.html#l00349">349</a> of file <a class="el" href="stdatomic_8h_source.html">stdatomic.h</a>.</p> </div> </div> <a id="abc7db808dcdfb37a76f5dc646422fe29"></a> <h2 class="memtitle"><span class="permalink"><a href="#abc7db808dcdfb37a76f5dc646422fe29">◆ </a></span>atomic_exchange_explicit</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define atomic_exchange_explicit</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">object, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">desired, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">order </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <b>Value:</b><div class="fragment"><div class="line">__extension__ ({ \</div> <div class="line"> __typeof__(<span class="keywordtype">object</span>) __o = (object); \</div> <div class="line"> __typeof__(desired) __d = (desired); \</div> <div class="line"> (void)(order); \</div> <div class="line"> __sync_synchronize(); \</div> <div class="line"> __sync_lock_test_and_set(&(__o)->__val, __d); \</div> <div class="line">})</div> </div><!-- fragment --> <p class="definition">Definition at line <a class="el" href="stdatomic_8h_source.html#l00308">308</a> of file <a class="el" href="stdatomic_8h_source.html">stdatomic.h</a>.</p> </div> </div> <a id="aedf6fb62e0fc9e8f8cf2e3685f0a1e88"></a> <h2 class="memtitle"><span class="permalink"><a href="#aedf6fb62e0fc9e8f8cf2e3685f0a1e88">◆ </a></span>atomic_fetch_add</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define atomic_fetch_add</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">object, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">operand </td> </tr> <tr> <td></td> <td>)</td> <td></td><td>   <a class="el" href="stdatomic_8h.html#a1d2b72b5d6ad1392c4f805054be0bdd1">atomic_fetch_add_explicit</a>(object, operand, <a class="el" href="stdatomic_8h.html#a17c2de5ae768960284c047a320f17d1ba2d21914d1edd227a890107e7878a3752">memory_order_seq_cst</a>)</td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="stdatomic_8h_source.html#l00351">351</a> of file <a class="el" href="stdatomic_8h_source.html">stdatomic.h</a>.</p> </div> </div> <a id="a1d2b72b5d6ad1392c4f805054be0bdd1"></a> <h2 class="memtitle"><span class="permalink"><a href="#a1d2b72b5d6ad1392c4f805054be0bdd1">◆ </a></span>atomic_fetch_add_explicit</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define atomic_fetch_add_explicit</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">object, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">operand, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">order </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <b>Value:</b><div class="fragment"><div class="line">((void)(order), __sync_fetch_and_add(&(<span class="keywordtype">object</span>)->__val, \</div> <div class="line"> <a class="code" href="stdatomic_8h.html#acae05e7d22f3a07fb8ced71a4804edb6">__atomic_apply_stride</a>(<span class="keywordtype">object</span>, operand)))</div> </div><!-- fragment --> <p class="definition">Definition at line <a class="el" href="stdatomic_8h_source.html#l00317">317</a> of file <a class="el" href="stdatomic_8h_source.html">stdatomic.h</a>.</p> </div> </div> <a id="adb8eef1235f98b5b418480b474f0fa16"></a> <h2 class="memtitle"><span class="permalink"><a href="#adb8eef1235f98b5b418480b474f0fa16">◆ </a></span>atomic_fetch_and</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define atomic_fetch_and</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">object, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">operand </td> </tr> <tr> <td></td> <td>)</td> <td></td><td>   <a class="el" href="stdatomic_8h.html#aeef65522da3712b76bc1bd0d981d48ac">atomic_fetch_and_explicit</a>(object, operand, <a class="el" href="stdatomic_8h.html#a17c2de5ae768960284c047a320f17d1ba2d21914d1edd227a890107e7878a3752">memory_order_seq_cst</a>)</td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="stdatomic_8h_source.html#l00353">353</a> of file <a class="el" href="stdatomic_8h_source.html">stdatomic.h</a>.</p> </div> </div> <a id="aeef65522da3712b76bc1bd0d981d48ac"></a> <h2 class="memtitle"><span class="permalink"><a href="#aeef65522da3712b76bc1bd0d981d48ac">◆ </a></span>atomic_fetch_and_explicit</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define atomic_fetch_and_explicit</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">object, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">operand, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">order </td> </tr> <tr> <td></td> <td>)</td> <td></td><td>   ((void)(order), __sync_fetch_and_and(&(object)->__val, operand))</td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="stdatomic_8h_source.html#l00320">320</a> of file <a class="el" href="stdatomic_8h_source.html">stdatomic.h</a>.</p> </div> </div> <a id="a516561c3d6db1e6adfd4c97894a63cfb"></a> <h2 class="memtitle"><span class="permalink"><a href="#a516561c3d6db1e6adfd4c97894a63cfb">◆ </a></span>atomic_fetch_or</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define atomic_fetch_or</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">object, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">operand </td> </tr> <tr> <td></td> <td>)</td> <td></td><td>   <a class="el" href="stdatomic_8h.html#aa9a7edeec6d650c3e7a43257ffd923bb">atomic_fetch_or_explicit</a>(object, operand, <a class="el" href="stdatomic_8h.html#a17c2de5ae768960284c047a320f17d1ba2d21914d1edd227a890107e7878a3752">memory_order_seq_cst</a>)</td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="stdatomic_8h_source.html#l00355">355</a> of file <a class="el" href="stdatomic_8h_source.html">stdatomic.h</a>.</p> </div> </div> <a id="aa9a7edeec6d650c3e7a43257ffd923bb"></a> <h2 class="memtitle"><span class="permalink"><a href="#aa9a7edeec6d650c3e7a43257ffd923bb">◆ </a></span>atomic_fetch_or_explicit</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define atomic_fetch_or_explicit</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">object, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">operand, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">order </td> </tr> <tr> <td></td> <td>)</td> <td></td><td>   ((void)(order), __sync_fetch_and_or(&(object)->__val, operand))</td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="stdatomic_8h_source.html#l00322">322</a> of file <a class="el" href="stdatomic_8h_source.html">stdatomic.h</a>.</p> </div> </div> <a id="a66aaef69cdadfe5e0eb87f6beff352df"></a> <h2 class="memtitle"><span class="permalink"><a href="#a66aaef69cdadfe5e0eb87f6beff352df">◆ </a></span>atomic_fetch_sub</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define atomic_fetch_sub</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">object, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">operand </td> </tr> <tr> <td></td> <td>)</td> <td></td><td>   <a class="el" href="stdatomic_8h.html#af952088a1a3bea5f3c11d67118eb729b">atomic_fetch_sub_explicit</a>(object, operand, <a class="el" href="stdatomic_8h.html#a17c2de5ae768960284c047a320f17d1ba2d21914d1edd227a890107e7878a3752">memory_order_seq_cst</a>)</td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="stdatomic_8h_source.html#l00357">357</a> of file <a class="el" href="stdatomic_8h_source.html">stdatomic.h</a>.</p> </div> </div> <a id="af952088a1a3bea5f3c11d67118eb729b"></a> <h2 class="memtitle"><span class="permalink"><a href="#af952088a1a3bea5f3c11d67118eb729b">◆ </a></span>atomic_fetch_sub_explicit</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define atomic_fetch_sub_explicit</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">object, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">operand, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">order </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <b>Value:</b><div class="fragment"><div class="line">((void)(order), __sync_fetch_and_sub(&(<span class="keywordtype">object</span>)->__val, \</div> <div class="line"> <a class="code" href="stdatomic_8h.html#acae05e7d22f3a07fb8ced71a4804edb6">__atomic_apply_stride</a>(<span class="keywordtype">object</span>, operand)))</div> </div><!-- fragment --> <p class="definition">Definition at line <a class="el" href="stdatomic_8h_source.html#l00324">324</a> of file <a class="el" href="stdatomic_8h_source.html">stdatomic.h</a>.</p> </div> </div> <a id="a00b017a65180805ce9ab091864c0a60e"></a> <h2 class="memtitle"><span class="permalink"><a href="#a00b017a65180805ce9ab091864c0a60e">◆ </a></span>atomic_fetch_xor</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define atomic_fetch_xor</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">object, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">operand </td> </tr> <tr> <td></td> <td>)</td> <td></td><td>   <a class="el" href="stdatomic_8h.html#ae067c20ab4471deddd41ecee572fe35f">atomic_fetch_xor_explicit</a>(object, operand, <a class="el" href="stdatomic_8h.html#a17c2de5ae768960284c047a320f17d1ba2d21914d1edd227a890107e7878a3752">memory_order_seq_cst</a>)</td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="stdatomic_8h_source.html#l00359">359</a> of file <a class="el" href="stdatomic_8h_source.html">stdatomic.h</a>.</p> </div> </div> <a id="ae067c20ab4471deddd41ecee572fe35f"></a> <h2 class="memtitle"><span class="permalink"><a href="#ae067c20ab4471deddd41ecee572fe35f">◆ </a></span>atomic_fetch_xor_explicit</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define atomic_fetch_xor_explicit</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">object, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">operand, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">order </td> </tr> <tr> <td></td> <td>)</td> <td></td><td>   ((void)(order), __sync_fetch_and_xor(&(object)->__val, operand))</td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="stdatomic_8h_source.html#l00327">327</a> of file <a class="el" href="stdatomic_8h_source.html">stdatomic.h</a>.</p> </div> </div> <a id="a3cf6ded3b463faf0cedce1718caaa695"></a> <h2 class="memtitle"><span class="permalink"><a href="#a3cf6ded3b463faf0cedce1718caaa695">◆ </a></span>ATOMIC_FLAG_INIT</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define ATOMIC_FLAG_INIT   { <a class="el" href="stdatomic_8h.html#ad501bafcd2074b392f630497545de87d">ATOMIC_VAR_INIT</a>(0) }</td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="stdatomic_8h_source.html#l00378">378</a> of file <a class="el" href="stdatomic_8h_source.html">stdatomic.h</a>.</p> </div> </div> <a id="af8a9cbe9495fcafaa892b24b383acf96"></a> <h2 class="memtitle"><span class="permalink"><a href="#af8a9cbe9495fcafaa892b24b383acf96">◆ </a></span>atomic_init</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define atomic_init</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">obj, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">value </td> </tr> <tr> <td></td> <td>)</td> <td></td><td>   ((void)((obj)->__val = (value)))</td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="stdatomic_8h_source.html#l00090">90</a> of file <a class="el" href="stdatomic_8h_source.html">stdatomic.h</a>.</p> </div> </div> <a id="a6e87cf22c6c854b1144fbba53bf579bb"></a> <h2 class="memtitle"><span class="permalink"><a href="#a6e87cf22c6c854b1144fbba53bf579bb">◆ </a></span>atomic_is_lock_free</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define atomic_is_lock_free</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">obj</td><td>)</td> <td>   ((void)(obj), sizeof((obj)->__val) <= sizeof(void *))</td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="stdatomic_8h_source.html#l00179">179</a> of file <a class="el" href="stdatomic_8h_source.html">stdatomic.h</a>.</p> </div> </div> <a id="acced2a78b2a440317feed51f3e505d1d"></a> <h2 class="memtitle"><span class="permalink"><a href="#acced2a78b2a440317feed51f3e505d1d">◆ </a></span>atomic_load</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define atomic_load</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">object</td><td>)</td> <td>   <a class="el" href="stdatomic_8h.html#a714cabdfee3dff182363e10401689371">atomic_load_explicit</a>(object, <a class="el" href="stdatomic_8h.html#a17c2de5ae768960284c047a320f17d1ba2d21914d1edd227a890107e7878a3752">memory_order_seq_cst</a>)</td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="stdatomic_8h_source.html#l00361">361</a> of file <a class="el" href="stdatomic_8h_source.html">stdatomic.h</a>.</p> </div> </div> <a id="a714cabdfee3dff182363e10401689371"></a> <h2 class="memtitle"><span class="permalink"><a href="#a714cabdfee3dff182363e10401689371">◆ </a></span>atomic_load_explicit</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define atomic_load_explicit</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">object, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">order </td> </tr> <tr> <td></td> <td>)</td> <td></td><td>   ((void)(order), __sync_fetch_and_add(&(object)->__val, 0))</td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="stdatomic_8h_source.html#l00329">329</a> of file <a class="el" href="stdatomic_8h_source.html">stdatomic.h</a>.</p> </div> </div> <a id="a0241b1f231c55cdf092b2d509e8d83df"></a> <h2 class="memtitle"><span class="permalink"><a href="#a0241b1f231c55cdf092b2d509e8d83df">◆ </a></span>atomic_store</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define atomic_store</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">object, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">desired </td> </tr> <tr> <td></td> <td>)</td> <td></td><td>   <a class="el" href="stdatomic_8h.html#ad559c29e007899c11142f0d899625397">atomic_store_explicit</a>(object, desired, <a class="el" href="stdatomic_8h.html#a17c2de5ae768960284c047a320f17d1ba2d21914d1edd227a890107e7878a3752">memory_order_seq_cst</a>)</td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="stdatomic_8h_source.html#l00363">363</a> of file <a class="el" href="stdatomic_8h_source.html">stdatomic.h</a>.</p> </div> </div> <a id="ad559c29e007899c11142f0d899625397"></a> <h2 class="memtitle"><span class="permalink"><a href="#ad559c29e007899c11142f0d899625397">◆ </a></span>atomic_store_explicit</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define atomic_store_explicit</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">object, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">desired, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">order </td> </tr> <tr> <td></td> <td>)</td> <td></td><td>   ((void)<a class="el" href="stdatomic_8h.html#abc7db808dcdfb37a76f5dc646422fe29">atomic_exchange_explicit</a>(object, desired, order))</td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="stdatomic_8h_source.html#l00331">331</a> of file <a class="el" href="stdatomic_8h_source.html">stdatomic.h</a>.</p> </div> </div> <a id="ad501bafcd2074b392f630497545de87d"></a> <h2 class="memtitle"><span class="permalink"><a href="#ad501bafcd2074b392f630497545de87d">◆ </a></span>ATOMIC_VAR_INIT</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define ATOMIC_VAR_INIT</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">value</td><td>)</td> <td>   { .__val = (value) }</td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="stdatomic_8h_source.html#l00089">89</a> of file <a class="el" href="stdatomic_8h_source.html">stdatomic.h</a>.</p> </div> </div> <h2 class="groupheader">Enumeration Type Documentation</h2> <a id="a17c2de5ae768960284c047a320f17d1b"></a> <h2 class="memtitle"><span class="permalink"><a href="#a17c2de5ae768960284c047a320f17d1b">◆ </a></span>memory_order</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">enum <a class="el" href="stdatomic_8h.html#a17c2de5ae768960284c047a320f17d1b">memory_order</a></td> </tr> </table> </div><div class="memdoc"> <table class="fieldtable"> <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a17c2de5ae768960284c047a320f17d1bac6489d0374e297a776f6a3db7ea5654a"></a>memory_order_relaxed </td><td class="fielddoc"></td></tr> <tr><td class="fieldname"><a id="a17c2de5ae768960284c047a320f17d1ba0745f54882bc00251a719e42969db110"></a>memory_order_consume </td><td class="fielddoc"></td></tr> <tr><td class="fieldname"><a id="a17c2de5ae768960284c047a320f17d1bafb313754331704b978e9a80a933b3da7"></a>memory_order_acquire </td><td class="fielddoc"></td></tr> <tr><td class="fieldname"><a id="a17c2de5ae768960284c047a320f17d1ba685a90c8fc516895354973c3918a5f7b"></a>memory_order_release </td><td class="fielddoc"></td></tr> <tr><td class="fieldname"><a id="a17c2de5ae768960284c047a320f17d1bae17e60cbfd766a7f165872c36e2f7bc5"></a>memory_order_acq_rel </td><td class="fielddoc"></td></tr> <tr><td class="fieldname"><a id="a17c2de5ae768960284c047a320f17d1ba2d21914d1edd227a890107e7878a3752"></a>memory_order_seq_cst </td><td class="fielddoc"></td></tr> </table> <p class="definition">Definition at line <a class="el" href="stdatomic_8h_source.html#l00125">125</a> of file <a class="el" href="stdatomic_8h_source.html">stdatomic.h</a>.</p> </div> </div> <h2 class="groupheader">Function Documentation</h2> <a id="afff57ffb45845b688f5b8749a5ee4f64"></a> <h2 class="memtitle"><span class="permalink"><a href="#afff57ffb45845b688f5b8749a5ee4f64">◆ </a></span>_Atomic() <span class="overload">[1/12]</span></h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef _Atomic </td> <td>(</td> <td class="paramtype">_Bool </td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> </div> </div> <a id="a8e19866b311b12ce62b7630c4caa37f1"></a> <h2 class="memtitle"><span class="permalink"><a href="#a8e19866b311b12ce62b7630c4caa37f1">◆ </a></span>_Atomic() <span class="overload">[2/12]</span></h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef _Atomic </td> <td>(</td> <td class="paramtype">char </td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> </div> </div> <a id="a85aacaf1a58e72cbd6ee6dc634e5061e"></a> <h2 class="memtitle"><span class="permalink"><a href="#a85aacaf1a58e72cbd6ee6dc634e5061e">◆ </a></span>_Atomic() <span class="overload">[3/12]</span></h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef _Atomic </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> </div> </div> <a id="a1bbac586a08a88061d4d297aa9855696"></a> <h2 class="memtitle"><span class="permalink"><a href="#a1bbac586a08a88061d4d297aa9855696">◆ </a></span>_Atomic() <span class="overload">[4/12]</span></h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef _Atomic </td> <td>(</td> <td class="paramtype">long long </td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> </div> </div> <a id="ae4ff20d782847ebd507c4d8b207b3678"></a> <h2 class="memtitle"><span class="permalink"><a href="#ae4ff20d782847ebd507c4d8b207b3678">◆ </a></span>_Atomic() <span class="overload">[5/12]</span></h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef _Atomic </td> <td>(</td> <td class="paramtype">long </td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> </div> </div> <a id="a2d00d380f0af818a2cb3b8c27a1de160"></a> <h2 class="memtitle"><span class="permalink"><a href="#a2d00d380f0af818a2cb3b8c27a1de160">◆ </a></span>_Atomic() <span class="overload">[6/12]</span></h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef _Atomic </td> <td>(</td> <td class="paramtype">short </td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> </div> </div> <a id="adaadc59d9812e139d9d86b88cf293815"></a> <h2 class="memtitle"><span class="permalink"><a href="#adaadc59d9812e139d9d86b88cf293815">◆ </a></span>_Atomic() <span class="overload">[7/12]</span></h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef _Atomic </td> <td>(</td> <td class="paramtype"><a class="el" href="cdefs_8h.html#ae31516cd0c4adc3d52b93ef2e5c6117b">signed</a> char </td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> </div> </div> <a id="a87b753c5b9dbb5af1cd2b0efcb162011"></a> <h2 class="memtitle"><span class="permalink"><a href="#a87b753c5b9dbb5af1cd2b0efcb162011">◆ </a></span>_Atomic() <span class="overload">[8/12]</span></h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef _Atomic </td> <td>(</td> <td class="paramtype">unsigned char </td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> </div> </div> <a id="ad95e68886acbd91c6b0124907ea5ff3e"></a> <h2 class="memtitle"><span class="permalink"><a href="#ad95e68886acbd91c6b0124907ea5ff3e">◆ </a></span>_Atomic() <span class="overload">[9/12]</span></h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef _Atomic </td> <td>(</td> <td class="paramtype">unsigned int </td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> </div> </div> <a id="aaa8eb04f4785cbe6295fbed13b311579"></a> <h2 class="memtitle"><span class="permalink"><a href="#aaa8eb04f4785cbe6295fbed13b311579">◆ </a></span>_Atomic() <span class="overload">[10/12]</span></h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef _Atomic </td> <td>(</td> <td class="paramtype">unsigned long long </td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> </div> </div> <a id="a851e3966de9611eaae57079f61cf5e16"></a> <h2 class="memtitle"><span class="permalink"><a href="#a851e3966de9611eaae57079f61cf5e16">◆ </a></span>_Atomic() <span class="overload">[11/12]</span></h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef _Atomic </td> <td>(</td> <td class="paramtype">unsigned long </td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> </div> </div> <a id="a3fb854f0c7ef3fad74a68d6f07207e1b"></a> <h2 class="memtitle"><span class="permalink"><a href="#a3fb854f0c7ef3fad74a68d6f07207e1b">◆ </a></span>_Atomic() <span class="overload">[12/12]</span></h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef _Atomic </td> <td>(</td> <td class="paramtype">unsigned short </td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> </div> </div> </div><!-- contents --> </div><!-- doc-content --> <div class="ttc" id="astdatomic_8h_html_ae7f81d6541b8feec676e997952555882"><div class="ttname"><a href="stdatomic_8h.html#ae7f81d6541b8feec676e997952555882">atomic_compare_exchange_weak_explicit</a></div><div class="ttdeci">#define atomic_compare_exchange_weak_explicit(object, expected, desired, success, failure)</div><div class="ttdef"><b>Definition:</b> <a href="stdatomic_8h_source.html#l00294">stdatomic.h:294</a></div></div> <div class="ttc" id="astdatomic_8h_html_acae05e7d22f3a07fb8ced71a4804edb6"><div class="ttname"><a href="stdatomic_8h.html#acae05e7d22f3a07fb8ced71a4804edb6">__atomic_apply_stride</a></div><div class="ttdeci">#define __atomic_apply_stride(object, operand)</div><div class="ttdef"><b>Definition:</b> <a href="stdatomic_8h_source.html#l00284">stdatomic.h:284</a></div></div> <div class="ttc" id="astdatomic_8h_html_a3ba706e3bbbabf5036356c09441559e2"><div class="ttname"><a href="stdatomic_8h.html#a3ba706e3bbbabf5036356c09441559e2">atomic_compare_exchange_strong_explicit</a></div><div class="ttdeci">#define atomic_compare_exchange_strong_explicit(object, expected, desired, success, failure)</div><div class="ttdef"><b>Definition:</b> <a href="stdatomic_8h_source.html#l00286">stdatomic.h:286</a></div></div> <div class="ttc" id="astdatomic_8h_html_a17c2de5ae768960284c047a320f17d1ba2d21914d1edd227a890107e7878a3752"><div class="ttname"><a href="stdatomic_8h.html#a17c2de5ae768960284c047a320f17d1ba2d21914d1edd227a890107e7878a3752">memory_order_seq_cst</a></div><div class="ttdef"><b>Definition:</b> <a href="stdatomic_8h_source.html#l00131">stdatomic.h:131</a></div></div> <!-- start footer part --> <div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> <ul> <li class="navelem"><a class="el" href="dir_e6bb53534ac0e427887cf7a94c0c004e.html">C:</a></li><li class="navelem"><a class="el" href="dir_d99d5d4662bf24521eef49da6a8cd34d.html">Dev</a></li><li class="navelem"><a class="el" href="dir_474a4b306371cf7e7f6fa12cb0b77df6.html">git</a></li><li class="navelem"><a class="el" href="dir_849109bbd106d461b128d63e5babcedf.html">UbixOS</a></li><li class="navelem"><a class="el" href="dir_6ec99f6d7d5182ba8913209ab70c9f18.html">sys</a></li><li class="navelem"><a class="el" href="dir_d1be8160e739b6eed1f7843efdbae1b3.html">include</a></li><li class="navelem"><a class="el" href="dir_214f84c2c73d0f2f98eaa46a63e7b8c6.html">sys</a></li><li class="navelem"><a class="el" href="stdatomic_8h.html">stdatomic.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.16 </li> </ul> </div> </body> </html>