Newer
Older
UbixOS / doc / html / d6 / d07 / stdatomic_8h.html
<!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: 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&amp;dn=gpl-2.0.txt GPL-v2 */
  $(document).ready(initResizable);
/* @license-end */</script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">UbixOS
   &#160;<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" src="../../menudata.js"></script>
<script type="text/javascript" src="../../menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('../../',false,false,'search.php','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&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('d6/d07/stdatomic_8h.html','../../');});
/* @license-end */
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<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 &lt;<a class="el" href="../../d6/d92/cdefs_8h_source.html">sys/cdefs.h</a>&gt;</code><br />
<code>#include &lt;<a class="el" href="../../d0/d6f/__types_8h_source.html">sys/_types.h</a>&gt;</code><br />
</div><div class="textblock"><div class="dynheader">
Include dependency graph for stdatomic.h:</div>
<div class="dyncontent">
<div class="center"><img src="../../d7/df1/stdatomic_8h__incl.png" border="0" usemap="#include_2sys_2stdatomic_8h" alt=""/></div>
<map name="include_2sys_2stdatomic_8h" id="include_2sys_2stdatomic_8h">
<area shape="rect" title=" " alt="" coords="29,5,189,32"/>
<area shape="rect" href="../../d6/d92/cdefs_8h.html" title=" " alt="" coords="5,80,95,107"/>
<area shape="rect" href="../../d0/d6f/__types_8h.html" title=" " alt="" coords="119,80,216,107"/>
</map>
</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="../../d5/d0d/stdatomic_8h__dep__incl.png" border="0" usemap="#include_2sys_2stdatomic_8hdep" alt=""/></div>
<map name="include_2sys_2stdatomic_8hdep" id="include_2sys_2stdatomic_8hdep">
<area shape="rect" title=" " alt="" coords="5,5,165,32"/>
<area shape="rect" href="../../d5/d9a/ubthread_8c.html" title=" " alt="" coords="24,80,147,107"/>
</map>
</div>
</div>
<p><a href="../../d6/d07/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 &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/dba/structatomic__flag.html">atomic_flag</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</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&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/d07/stdatomic_8h.html#acdfdd67de0664b690c42bba327cf7da1">__ATOMIC_ACQ_REL</a>&#160;&#160;&#160;4</td></tr>
<tr class="separator:acdfdd67de0664b690c42bba327cf7da1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a72e3c30a05bd2bb63d76550e451a438e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/d07/stdatomic_8h.html#a72e3c30a05bd2bb63d76550e451a438e">__ATOMIC_ACQUIRE</a>&#160;&#160;&#160;2</td></tr>
<tr class="separator:a72e3c30a05bd2bb63d76550e451a438e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acae05e7d22f3a07fb8ced71a4804edb6"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/d07/stdatomic_8h.html#acae05e7d22f3a07fb8ced71a4804edb6">__atomic_apply_stride</a>(object,  operand)&#160;&#160;&#160;(((__typeof__((object)-&gt;__val))0) + (operand))</td></tr>
<tr class="separator:acae05e7d22f3a07fb8ced71a4804edb6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a762c3361bcfeccc1f2742cc94b1ab65b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/d07/stdatomic_8h.html#a762c3361bcfeccc1f2742cc94b1ab65b">__ATOMIC_CONSUME</a>&#160;&#160;&#160;1</td></tr>
<tr class="separator:a762c3361bcfeccc1f2742cc94b1ab65b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8faf1f097f05558889df4c44d052d35e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/d07/stdatomic_8h.html#a8faf1f097f05558889df4c44d052d35e">__ATOMIC_RELAXED</a>&#160;&#160;&#160;0</td></tr>
<tr class="separator:a8faf1f097f05558889df4c44d052d35e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5822cf04414d99e0ee81e8bbe182226b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/d07/stdatomic_8h.html#a5822cf04414d99e0ee81e8bbe182226b">__ATOMIC_RELEASE</a>&#160;&#160;&#160;3</td></tr>
<tr class="separator:a5822cf04414d99e0ee81e8bbe182226b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0609dc2b702d5980de44c01bd373136a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/d07/stdatomic_8h.html#a0609dc2b702d5980de44c01bd373136a">__ATOMIC_SEQ_CST</a>&#160;&#160;&#160;5</td></tr>
<tr class="separator:a0609dc2b702d5980de44c01bd373136a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a363f436785249f132da5f94f30587f98"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/d07/stdatomic_8h.html#a363f436785249f132da5f94f30587f98">atomic_compare_exchange_strong</a>(object,  expected,  desired)</td></tr>
<tr class="separator:a363f436785249f132da5f94f30587f98"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3ba706e3bbbabf5036356c09441559e2"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/d07/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">&#160;</td></tr>
<tr class="memitem:a084c8c95aa5ded790928e7ca78dff7eb"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/d07/stdatomic_8h.html#a084c8c95aa5ded790928e7ca78dff7eb">atomic_compare_exchange_weak</a>(object,  expected,  desired)</td></tr>
<tr class="separator:a084c8c95aa5ded790928e7ca78dff7eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae7f81d6541b8feec676e997952555882"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/d07/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">&#160;</td></tr>
<tr class="memitem:a3a0241b6f3d907f3fc497cf0c747e4ea"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/d07/stdatomic_8h.html#a3a0241b6f3d907f3fc497cf0c747e4ea">atomic_exchange</a>(object,  desired)&#160;&#160;&#160;<a class="el" href="../../d6/d07/stdatomic_8h.html#abc7db808dcdfb37a76f5dc646422fe29">atomic_exchange_explicit</a>(object, desired, <a class="el" href="../../d6/d07/stdatomic_8h.html#a17c2de5ae768960284c047a320f17d1ba2d21914d1edd227a890107e7878a3752">memory_order_seq_cst</a>)</td></tr>
<tr class="separator:a3a0241b6f3d907f3fc497cf0c747e4ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abc7db808dcdfb37a76f5dc646422fe29"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/d07/stdatomic_8h.html#abc7db808dcdfb37a76f5dc646422fe29">atomic_exchange_explicit</a>(object,  desired,  order)</td></tr>
<tr class="separator:abc7db808dcdfb37a76f5dc646422fe29"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aedf6fb62e0fc9e8f8cf2e3685f0a1e88"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/d07/stdatomic_8h.html#aedf6fb62e0fc9e8f8cf2e3685f0a1e88">atomic_fetch_add</a>(object,  operand)&#160;&#160;&#160;<a class="el" href="../../d6/d07/stdatomic_8h.html#a1d2b72b5d6ad1392c4f805054be0bdd1">atomic_fetch_add_explicit</a>(object, operand, <a class="el" href="../../d6/d07/stdatomic_8h.html#a17c2de5ae768960284c047a320f17d1ba2d21914d1edd227a890107e7878a3752">memory_order_seq_cst</a>)</td></tr>
<tr class="separator:aedf6fb62e0fc9e8f8cf2e3685f0a1e88"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1d2b72b5d6ad1392c4f805054be0bdd1"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/d07/stdatomic_8h.html#a1d2b72b5d6ad1392c4f805054be0bdd1">atomic_fetch_add_explicit</a>(object,  operand,  order)</td></tr>
<tr class="separator:a1d2b72b5d6ad1392c4f805054be0bdd1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adb8eef1235f98b5b418480b474f0fa16"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/d07/stdatomic_8h.html#adb8eef1235f98b5b418480b474f0fa16">atomic_fetch_and</a>(object,  operand)&#160;&#160;&#160;<a class="el" href="../../d6/d07/stdatomic_8h.html#aeef65522da3712b76bc1bd0d981d48ac">atomic_fetch_and_explicit</a>(object, operand, <a class="el" href="../../d6/d07/stdatomic_8h.html#a17c2de5ae768960284c047a320f17d1ba2d21914d1edd227a890107e7878a3752">memory_order_seq_cst</a>)</td></tr>
<tr class="separator:adb8eef1235f98b5b418480b474f0fa16"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeef65522da3712b76bc1bd0d981d48ac"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/d07/stdatomic_8h.html#aeef65522da3712b76bc1bd0d981d48ac">atomic_fetch_and_explicit</a>(object,  operand,  order)&#160;&#160;&#160;((void)(order), __sync_fetch_and_and(&amp;(object)-&gt;__val, operand))</td></tr>
<tr class="separator:aeef65522da3712b76bc1bd0d981d48ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a516561c3d6db1e6adfd4c97894a63cfb"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/d07/stdatomic_8h.html#a516561c3d6db1e6adfd4c97894a63cfb">atomic_fetch_or</a>(object,  operand)&#160;&#160;&#160;<a class="el" href="../../d6/d07/stdatomic_8h.html#aa9a7edeec6d650c3e7a43257ffd923bb">atomic_fetch_or_explicit</a>(object, operand, <a class="el" href="../../d6/d07/stdatomic_8h.html#a17c2de5ae768960284c047a320f17d1ba2d21914d1edd227a890107e7878a3752">memory_order_seq_cst</a>)</td></tr>
<tr class="separator:a516561c3d6db1e6adfd4c97894a63cfb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa9a7edeec6d650c3e7a43257ffd923bb"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/d07/stdatomic_8h.html#aa9a7edeec6d650c3e7a43257ffd923bb">atomic_fetch_or_explicit</a>(object,  operand,  order)&#160;&#160;&#160;((void)(order), __sync_fetch_and_or(&amp;(object)-&gt;__val, operand))</td></tr>
<tr class="separator:aa9a7edeec6d650c3e7a43257ffd923bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a66aaef69cdadfe5e0eb87f6beff352df"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/d07/stdatomic_8h.html#a66aaef69cdadfe5e0eb87f6beff352df">atomic_fetch_sub</a>(object,  operand)&#160;&#160;&#160;<a class="el" href="../../d6/d07/stdatomic_8h.html#af952088a1a3bea5f3c11d67118eb729b">atomic_fetch_sub_explicit</a>(object, operand, <a class="el" href="../../d6/d07/stdatomic_8h.html#a17c2de5ae768960284c047a320f17d1ba2d21914d1edd227a890107e7878a3752">memory_order_seq_cst</a>)</td></tr>
<tr class="separator:a66aaef69cdadfe5e0eb87f6beff352df"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af952088a1a3bea5f3c11d67118eb729b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/d07/stdatomic_8h.html#af952088a1a3bea5f3c11d67118eb729b">atomic_fetch_sub_explicit</a>(object,  operand,  order)</td></tr>
<tr class="separator:af952088a1a3bea5f3c11d67118eb729b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a00b017a65180805ce9ab091864c0a60e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/d07/stdatomic_8h.html#a00b017a65180805ce9ab091864c0a60e">atomic_fetch_xor</a>(object,  operand)&#160;&#160;&#160;<a class="el" href="../../d6/d07/stdatomic_8h.html#ae067c20ab4471deddd41ecee572fe35f">atomic_fetch_xor_explicit</a>(object, operand, <a class="el" href="../../d6/d07/stdatomic_8h.html#a17c2de5ae768960284c047a320f17d1ba2d21914d1edd227a890107e7878a3752">memory_order_seq_cst</a>)</td></tr>
<tr class="separator:a00b017a65180805ce9ab091864c0a60e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae067c20ab4471deddd41ecee572fe35f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/d07/stdatomic_8h.html#ae067c20ab4471deddd41ecee572fe35f">atomic_fetch_xor_explicit</a>(object,  operand,  order)&#160;&#160;&#160;((void)(order), __sync_fetch_and_xor(&amp;(object)-&gt;__val, operand))</td></tr>
<tr class="separator:ae067c20ab4471deddd41ecee572fe35f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3cf6ded3b463faf0cedce1718caaa695"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/d07/stdatomic_8h.html#a3cf6ded3b463faf0cedce1718caaa695">ATOMIC_FLAG_INIT</a>&#160;&#160;&#160;{ <a class="el" href="../../d6/d07/stdatomic_8h.html#ad501bafcd2074b392f630497545de87d">ATOMIC_VAR_INIT</a>(0) }</td></tr>
<tr class="separator:a3cf6ded3b463faf0cedce1718caaa695"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af8a9cbe9495fcafaa892b24b383acf96"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/d07/stdatomic_8h.html#af8a9cbe9495fcafaa892b24b383acf96">atomic_init</a>(obj,  value)&#160;&#160;&#160;((void)((obj)-&gt;__val = (value)))</td></tr>
<tr class="separator:af8a9cbe9495fcafaa892b24b383acf96"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6e87cf22c6c854b1144fbba53bf579bb"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/d07/stdatomic_8h.html#a6e87cf22c6c854b1144fbba53bf579bb">atomic_is_lock_free</a>(obj)&#160;&#160;&#160;((void)(obj), sizeof((obj)-&gt;__val) &lt;= sizeof(void *))</td></tr>
<tr class="separator:a6e87cf22c6c854b1144fbba53bf579bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acced2a78b2a440317feed51f3e505d1d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/d07/stdatomic_8h.html#acced2a78b2a440317feed51f3e505d1d">atomic_load</a>(object)&#160;&#160;&#160;<a class="el" href="../../d6/d07/stdatomic_8h.html#a714cabdfee3dff182363e10401689371">atomic_load_explicit</a>(object, <a class="el" href="../../d6/d07/stdatomic_8h.html#a17c2de5ae768960284c047a320f17d1ba2d21914d1edd227a890107e7878a3752">memory_order_seq_cst</a>)</td></tr>
<tr class="separator:acced2a78b2a440317feed51f3e505d1d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a714cabdfee3dff182363e10401689371"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/d07/stdatomic_8h.html#a714cabdfee3dff182363e10401689371">atomic_load_explicit</a>(object,  order)&#160;&#160;&#160;((void)(order), __sync_fetch_and_add(&amp;(object)-&gt;__val, 0))</td></tr>
<tr class="separator:a714cabdfee3dff182363e10401689371"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0241b1f231c55cdf092b2d509e8d83df"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/d07/stdatomic_8h.html#a0241b1f231c55cdf092b2d509e8d83df">atomic_store</a>(object,  desired)&#160;&#160;&#160;<a class="el" href="../../d6/d07/stdatomic_8h.html#ad559c29e007899c11142f0d899625397">atomic_store_explicit</a>(object, desired, <a class="el" href="../../d6/d07/stdatomic_8h.html#a17c2de5ae768960284c047a320f17d1ba2d21914d1edd227a890107e7878a3752">memory_order_seq_cst</a>)</td></tr>
<tr class="separator:a0241b1f231c55cdf092b2d509e8d83df"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad559c29e007899c11142f0d899625397"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/d07/stdatomic_8h.html#ad559c29e007899c11142f0d899625397">atomic_store_explicit</a>(object,  desired,  order)&#160;&#160;&#160;((void)<a class="el" href="../../d6/d07/stdatomic_8h.html#abc7db808dcdfb37a76f5dc646422fe29">atomic_exchange_explicit</a>(object, desired, order))</td></tr>
<tr class="separator:ad559c29e007899c11142f0d899625397"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad501bafcd2074b392f630497545de87d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/d07/stdatomic_8h.html#ad501bafcd2074b392f630497545de87d">ATOMIC_VAR_INIT</a>(value)&#160;&#160;&#160;{ .__val = (value) }</td></tr>
<tr class="separator:ad501bafcd2074b392f630497545de87d"><td class="memSeparator" colspan="2">&#160;</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 &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/d07/stdatomic_8h.html#a17c2de5ae768960284c047a320f17d1b">memory_order</a> { <br />
&#160;&#160;<a class="el" href="../../d6/d07/stdatomic_8h.html#a17c2de5ae768960284c047a320f17d1bac6489d0374e297a776f6a3db7ea5654a">memory_order_relaxed</a> = 0, 
<a class="el" href="../../d6/d07/stdatomic_8h.html#a17c2de5ae768960284c047a320f17d1ba0745f54882bc00251a719e42969db110">memory_order_consume</a> = 1, 
<a class="el" href="../../d6/d07/stdatomic_8h.html#a17c2de5ae768960284c047a320f17d1bafb313754331704b978e9a80a933b3da7">memory_order_acquire</a> = 2, 
<a class="el" href="../../d6/d07/stdatomic_8h.html#a17c2de5ae768960284c047a320f17d1ba685a90c8fc516895354973c3918a5f7b">memory_order_release</a> = 3, 
<br />
&#160;&#160;<a class="el" href="../../d6/d07/stdatomic_8h.html#a17c2de5ae768960284c047a320f17d1bae17e60cbfd766a7f165872c36e2f7bc5">memory_order_acq_rel</a> = 4, 
<a class="el" href="../../d6/d07/stdatomic_8h.html#a17c2de5ae768960284c047a320f17d1ba2d21914d1edd227a890107e7878a3752">memory_order_seq_cst</a> = 5
<br />
 }</td></tr>
<tr class="separator:a17c2de5ae768960284c047a320f17d1b"><td class="memSeparator" colspan="2">&#160;</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&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/d07/stdatomic_8h.html#afff57ffb45845b688f5b8749a5ee4f64">_Atomic</a> (_Bool) atomic_bool</td></tr>
<tr class="separator:afff57ffb45845b688f5b8749a5ee4f64"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8e19866b311b12ce62b7630c4caa37f1"><td class="memItemLeft" align="right" valign="top">typedef&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/d07/stdatomic_8h.html#a8e19866b311b12ce62b7630c4caa37f1">_Atomic</a> (char) atomic_char</td></tr>
<tr class="separator:a8e19866b311b12ce62b7630c4caa37f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a85aacaf1a58e72cbd6ee6dc634e5061e"><td class="memItemLeft" align="right" valign="top">typedef&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/d07/stdatomic_8h.html#a85aacaf1a58e72cbd6ee6dc634e5061e">_Atomic</a> (int) atomic_int</td></tr>
<tr class="separator:a85aacaf1a58e72cbd6ee6dc634e5061e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1bbac586a08a88061d4d297aa9855696"><td class="memItemLeft" align="right" valign="top">typedef&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/d07/stdatomic_8h.html#a1bbac586a08a88061d4d297aa9855696">_Atomic</a> (long long) atomic_llong</td></tr>
<tr class="separator:a1bbac586a08a88061d4d297aa9855696"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae4ff20d782847ebd507c4d8b207b3678"><td class="memItemLeft" align="right" valign="top">typedef&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/d07/stdatomic_8h.html#ae4ff20d782847ebd507c4d8b207b3678">_Atomic</a> (long) atomic_long</td></tr>
<tr class="separator:ae4ff20d782847ebd507c4d8b207b3678"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2d00d380f0af818a2cb3b8c27a1de160"><td class="memItemLeft" align="right" valign="top">typedef&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/d07/stdatomic_8h.html#a2d00d380f0af818a2cb3b8c27a1de160">_Atomic</a> (short) atomic_short</td></tr>
<tr class="separator:a2d00d380f0af818a2cb3b8c27a1de160"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adaadc59d9812e139d9d86b88cf293815"><td class="memItemLeft" align="right" valign="top">typedef&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/d07/stdatomic_8h.html#adaadc59d9812e139d9d86b88cf293815">_Atomic</a> (<a class="el" href="../../d6/d92/cdefs_8h.html#ae31516cd0c4adc3d52b93ef2e5c6117b">signed</a> char) atomic_schar</td></tr>
<tr class="separator:adaadc59d9812e139d9d86b88cf293815"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a87b753c5b9dbb5af1cd2b0efcb162011"><td class="memItemLeft" align="right" valign="top">typedef&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/d07/stdatomic_8h.html#a87b753c5b9dbb5af1cd2b0efcb162011">_Atomic</a> (unsigned char) atomic_uchar</td></tr>
<tr class="separator:a87b753c5b9dbb5af1cd2b0efcb162011"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad95e68886acbd91c6b0124907ea5ff3e"><td class="memItemLeft" align="right" valign="top">typedef&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/d07/stdatomic_8h.html#ad95e68886acbd91c6b0124907ea5ff3e">_Atomic</a> (unsigned int) atomic_uint</td></tr>
<tr class="separator:ad95e68886acbd91c6b0124907ea5ff3e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaa8eb04f4785cbe6295fbed13b311579"><td class="memItemLeft" align="right" valign="top">typedef&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/d07/stdatomic_8h.html#aaa8eb04f4785cbe6295fbed13b311579">_Atomic</a> (unsigned long long) atomic_ullong</td></tr>
<tr class="separator:aaa8eb04f4785cbe6295fbed13b311579"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a851e3966de9611eaae57079f61cf5e16"><td class="memItemLeft" align="right" valign="top">typedef&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/d07/stdatomic_8h.html#a851e3966de9611eaae57079f61cf5e16">_Atomic</a> (unsigned long) atomic_ulong</td></tr>
<tr class="separator:a851e3966de9611eaae57079f61cf5e16"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3fb854f0c7ef3fad74a68d6f07207e1b"><td class="memItemLeft" align="right" valign="top">typedef&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/d07/stdatomic_8h.html#a3fb854f0c7ef3fad74a68d6f07207e1b">_Atomic</a> (unsigned short) atomic_ushort</td></tr>
<tr class="separator:a3fb854f0c7ef3fad74a68d6f07207e1b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a id="acdfdd67de0664b690c42bba327cf7da1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acdfdd67de0664b690c42bba327cf7da1">&#9670;&nbsp;</a></span>__ATOMIC_ACQ_REL</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define __ATOMIC_ACQ_REL&#160;&#160;&#160;4</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="../../d6/d07/stdatomic_8h_source.html#l00112">112</a> of file <a class="el" href="../../d6/d07/stdatomic_8h_source.html">stdatomic.h</a>.</p>

</div>
</div>
<a id="a72e3c30a05bd2bb63d76550e451a438e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a72e3c30a05bd2bb63d76550e451a438e">&#9670;&nbsp;</a></span>__ATOMIC_ACQUIRE</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define __ATOMIC_ACQUIRE&#160;&#160;&#160;2</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="../../d6/d07/stdatomic_8h_source.html#l00106">106</a> of file <a class="el" href="../../d6/d07/stdatomic_8h_source.html">stdatomic.h</a>.</p>

</div>
</div>
<a id="acae05e7d22f3a07fb8ced71a4804edb6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acae05e7d22f3a07fb8ced71a4804edb6">&#9670;&nbsp;</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">&#160;</td>
          <td class="paramname">object, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">operand&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;(((__typeof__((object)-&gt;__val))0) + (operand))</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="../../d6/d07/stdatomic_8h_source.html#l00284">284</a> of file <a class="el" href="../../d6/d07/stdatomic_8h_source.html">stdatomic.h</a>.</p>

</div>
</div>
<a id="a762c3361bcfeccc1f2742cc94b1ab65b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a762c3361bcfeccc1f2742cc94b1ab65b">&#9670;&nbsp;</a></span>__ATOMIC_CONSUME</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define __ATOMIC_CONSUME&#160;&#160;&#160;1</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="../../d6/d07/stdatomic_8h_source.html#l00103">103</a> of file <a class="el" href="../../d6/d07/stdatomic_8h_source.html">stdatomic.h</a>.</p>

</div>
</div>
<a id="a8faf1f097f05558889df4c44d052d35e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8faf1f097f05558889df4c44d052d35e">&#9670;&nbsp;</a></span>__ATOMIC_RELAXED</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define __ATOMIC_RELAXED&#160;&#160;&#160;0</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="../../d6/d07/stdatomic_8h_source.html#l00100">100</a> of file <a class="el" href="../../d6/d07/stdatomic_8h_source.html">stdatomic.h</a>.</p>

</div>
</div>
<a id="a5822cf04414d99e0ee81e8bbe182226b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5822cf04414d99e0ee81e8bbe182226b">&#9670;&nbsp;</a></span>__ATOMIC_RELEASE</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define __ATOMIC_RELEASE&#160;&#160;&#160;3</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="../../d6/d07/stdatomic_8h_source.html#l00109">109</a> of file <a class="el" href="../../d6/d07/stdatomic_8h_source.html">stdatomic.h</a>.</p>

</div>
</div>
<a id="a0609dc2b702d5980de44c01bd373136a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0609dc2b702d5980de44c01bd373136a">&#9670;&nbsp;</a></span>__ATOMIC_SEQ_CST</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define __ATOMIC_SEQ_CST&#160;&#160;&#160;5</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="../../d6/d07/stdatomic_8h_source.html#l00115">115</a> of file <a class="el" href="../../d6/d07/stdatomic_8h_source.html">stdatomic.h</a>.</p>

</div>
</div>
<a id="a363f436785249f132da5f94f30587f98"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a363f436785249f132da5f94f30587f98">&#9670;&nbsp;</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">&#160;</td>
          <td class="paramname">object, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">expected, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">desired&#160;</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="../../d6/d07/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="../../d6/d07/stdatomic_8h.html#a17c2de5ae768960284c047a320f17d1ba2d21914d1edd227a890107e7878a3752">memory_order_seq_cst</a>, <a class="code" href="../../d6/d07/stdatomic_8h.html#a17c2de5ae768960284c047a320f17d1ba2d21914d1edd227a890107e7878a3752">memory_order_seq_cst</a>)</div>
</div><!-- fragment -->
<p class="definition">Definition at line <a class="el" href="../../d6/d07/stdatomic_8h_source.html#l00343">343</a> of file <a class="el" href="../../d6/d07/stdatomic_8h_source.html">stdatomic.h</a>.</p>

</div>
</div>
<a id="a3ba706e3bbbabf5036356c09441559e2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3ba706e3bbbabf5036356c09441559e2">&#9670;&nbsp;</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">&#160;</td>
          <td class="paramname">object, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">expected, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">desired, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">success, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">failure&#160;</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(&amp;(<span class="keywordtype">object</span>)-&gt;__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="../../d6/d07/stdatomic_8h_source.html#l00286">286</a> of file <a class="el" href="../../d6/d07/stdatomic_8h_source.html">stdatomic.h</a>.</p>

</div>
</div>
<a id="a084c8c95aa5ded790928e7ca78dff7eb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a084c8c95aa5ded790928e7ca78dff7eb">&#9670;&nbsp;</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">&#160;</td>
          <td class="paramname">object, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">expected, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">desired&#160;</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="../../d6/d07/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="../../d6/d07/stdatomic_8h.html#a17c2de5ae768960284c047a320f17d1ba2d21914d1edd227a890107e7878a3752">memory_order_seq_cst</a>, <a class="code" href="../../d6/d07/stdatomic_8h.html#a17c2de5ae768960284c047a320f17d1ba2d21914d1edd227a890107e7878a3752">memory_order_seq_cst</a>)</div>
</div><!-- fragment -->
<p class="definition">Definition at line <a class="el" href="../../d6/d07/stdatomic_8h_source.html#l00346">346</a> of file <a class="el" href="../../d6/d07/stdatomic_8h_source.html">stdatomic.h</a>.</p>

</div>
</div>
<a id="ae7f81d6541b8feec676e997952555882"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae7f81d6541b8feec676e997952555882">&#9670;&nbsp;</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">&#160;</td>
          <td class="paramname">object, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">expected, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">desired, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">success, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">failure&#160;</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="../../d6/d07/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="../../d6/d07/stdatomic_8h_source.html#l00294">294</a> of file <a class="el" href="../../d6/d07/stdatomic_8h_source.html">stdatomic.h</a>.</p>

</div>
</div>
<a id="a3a0241b6f3d907f3fc497cf0c747e4ea"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3a0241b6f3d907f3fc497cf0c747e4ea">&#9670;&nbsp;</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">&#160;</td>
          <td class="paramname">object, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">desired&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;<a class="el" href="../../d6/d07/stdatomic_8h.html#abc7db808dcdfb37a76f5dc646422fe29">atomic_exchange_explicit</a>(object, desired, <a class="el" href="../../d6/d07/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="../../d6/d07/stdatomic_8h_source.html#l00349">349</a> of file <a class="el" href="../../d6/d07/stdatomic_8h_source.html">stdatomic.h</a>.</p>

</div>
</div>
<a id="abc7db808dcdfb37a76f5dc646422fe29"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abc7db808dcdfb37a76f5dc646422fe29">&#9670;&nbsp;</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">&#160;</td>
          <td class="paramname">object, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">desired, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">order&#160;</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(&amp;(__o)-&gt;__val, __d);                   \</div>
<div class="line">})</div>
</div><!-- fragment -->
<p class="definition">Definition at line <a class="el" href="../../d6/d07/stdatomic_8h_source.html#l00308">308</a> of file <a class="el" href="../../d6/d07/stdatomic_8h_source.html">stdatomic.h</a>.</p>

</div>
</div>
<a id="aedf6fb62e0fc9e8f8cf2e3685f0a1e88"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aedf6fb62e0fc9e8f8cf2e3685f0a1e88">&#9670;&nbsp;</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">&#160;</td>
          <td class="paramname">object, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">operand&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;<a class="el" href="../../d6/d07/stdatomic_8h.html#a1d2b72b5d6ad1392c4f805054be0bdd1">atomic_fetch_add_explicit</a>(object, operand, <a class="el" href="../../d6/d07/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="../../d6/d07/stdatomic_8h_source.html#l00351">351</a> of file <a class="el" href="../../d6/d07/stdatomic_8h_source.html">stdatomic.h</a>.</p>

</div>
</div>
<a id="a1d2b72b5d6ad1392c4f805054be0bdd1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1d2b72b5d6ad1392c4f805054be0bdd1">&#9670;&nbsp;</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">&#160;</td>
          <td class="paramname">object, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">operand, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">order&#160;</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(&amp;(<span class="keywordtype">object</span>)-&gt;__val,          \</div>
<div class="line">            <a class="code" href="../../d6/d07/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="../../d6/d07/stdatomic_8h_source.html#l00317">317</a> of file <a class="el" href="../../d6/d07/stdatomic_8h_source.html">stdatomic.h</a>.</p>

</div>
</div>
<a id="adb8eef1235f98b5b418480b474f0fa16"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adb8eef1235f98b5b418480b474f0fa16">&#9670;&nbsp;</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">&#160;</td>
          <td class="paramname">object, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">operand&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;<a class="el" href="../../d6/d07/stdatomic_8h.html#aeef65522da3712b76bc1bd0d981d48ac">atomic_fetch_and_explicit</a>(object, operand, <a class="el" href="../../d6/d07/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="../../d6/d07/stdatomic_8h_source.html#l00353">353</a> of file <a class="el" href="../../d6/d07/stdatomic_8h_source.html">stdatomic.h</a>.</p>

</div>
</div>
<a id="aeef65522da3712b76bc1bd0d981d48ac"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aeef65522da3712b76bc1bd0d981d48ac">&#9670;&nbsp;</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">&#160;</td>
          <td class="paramname">object, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">operand, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">order&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;((void)(order), __sync_fetch_and_and(&amp;(object)-&gt;__val, operand))</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="../../d6/d07/stdatomic_8h_source.html#l00320">320</a> of file <a class="el" href="../../d6/d07/stdatomic_8h_source.html">stdatomic.h</a>.</p>

</div>
</div>
<a id="a516561c3d6db1e6adfd4c97894a63cfb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a516561c3d6db1e6adfd4c97894a63cfb">&#9670;&nbsp;</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">&#160;</td>
          <td class="paramname">object, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">operand&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;<a class="el" href="../../d6/d07/stdatomic_8h.html#aa9a7edeec6d650c3e7a43257ffd923bb">atomic_fetch_or_explicit</a>(object, operand, <a class="el" href="../../d6/d07/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="../../d6/d07/stdatomic_8h_source.html#l00355">355</a> of file <a class="el" href="../../d6/d07/stdatomic_8h_source.html">stdatomic.h</a>.</p>

</div>
</div>
<a id="aa9a7edeec6d650c3e7a43257ffd923bb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa9a7edeec6d650c3e7a43257ffd923bb">&#9670;&nbsp;</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">&#160;</td>
          <td class="paramname">object, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">operand, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">order&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;((void)(order), __sync_fetch_and_or(&amp;(object)-&gt;__val, operand))</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="../../d6/d07/stdatomic_8h_source.html#l00322">322</a> of file <a class="el" href="../../d6/d07/stdatomic_8h_source.html">stdatomic.h</a>.</p>

</div>
</div>
<a id="a66aaef69cdadfe5e0eb87f6beff352df"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a66aaef69cdadfe5e0eb87f6beff352df">&#9670;&nbsp;</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">&#160;</td>
          <td class="paramname">object, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">operand&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;<a class="el" href="../../d6/d07/stdatomic_8h.html#af952088a1a3bea5f3c11d67118eb729b">atomic_fetch_sub_explicit</a>(object, operand, <a class="el" href="../../d6/d07/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="../../d6/d07/stdatomic_8h_source.html#l00357">357</a> of file <a class="el" href="../../d6/d07/stdatomic_8h_source.html">stdatomic.h</a>.</p>

</div>
</div>
<a id="af952088a1a3bea5f3c11d67118eb729b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af952088a1a3bea5f3c11d67118eb729b">&#9670;&nbsp;</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">&#160;</td>
          <td class="paramname">object, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">operand, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">order&#160;</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(&amp;(<span class="keywordtype">object</span>)-&gt;__val,          \</div>
<div class="line">            <a class="code" href="../../d6/d07/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="../../d6/d07/stdatomic_8h_source.html#l00324">324</a> of file <a class="el" href="../../d6/d07/stdatomic_8h_source.html">stdatomic.h</a>.</p>

</div>
</div>
<a id="a00b017a65180805ce9ab091864c0a60e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a00b017a65180805ce9ab091864c0a60e">&#9670;&nbsp;</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">&#160;</td>
          <td class="paramname">object, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">operand&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;<a class="el" href="../../d6/d07/stdatomic_8h.html#ae067c20ab4471deddd41ecee572fe35f">atomic_fetch_xor_explicit</a>(object, operand, <a class="el" href="../../d6/d07/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="../../d6/d07/stdatomic_8h_source.html#l00359">359</a> of file <a class="el" href="../../d6/d07/stdatomic_8h_source.html">stdatomic.h</a>.</p>

</div>
</div>
<a id="ae067c20ab4471deddd41ecee572fe35f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae067c20ab4471deddd41ecee572fe35f">&#9670;&nbsp;</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">&#160;</td>
          <td class="paramname">object, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">operand, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">order&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;((void)(order), __sync_fetch_and_xor(&amp;(object)-&gt;__val, operand))</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="../../d6/d07/stdatomic_8h_source.html#l00327">327</a> of file <a class="el" href="../../d6/d07/stdatomic_8h_source.html">stdatomic.h</a>.</p>

</div>
</div>
<a id="a3cf6ded3b463faf0cedce1718caaa695"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3cf6ded3b463faf0cedce1718caaa695">&#9670;&nbsp;</a></span>ATOMIC_FLAG_INIT</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ATOMIC_FLAG_INIT&#160;&#160;&#160;{ <a class="el" href="../../d6/d07/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="../../d6/d07/stdatomic_8h_source.html#l00378">378</a> of file <a class="el" href="../../d6/d07/stdatomic_8h_source.html">stdatomic.h</a>.</p>

</div>
</div>
<a id="af8a9cbe9495fcafaa892b24b383acf96"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af8a9cbe9495fcafaa892b24b383acf96">&#9670;&nbsp;</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">&#160;</td>
          <td class="paramname">obj, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">value&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;((void)((obj)-&gt;__val = (value)))</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="../../d6/d07/stdatomic_8h_source.html#l00090">90</a> of file <a class="el" href="../../d6/d07/stdatomic_8h_source.html">stdatomic.h</a>.</p>

</div>
</div>
<a id="a6e87cf22c6c854b1144fbba53bf579bb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6e87cf22c6c854b1144fbba53bf579bb">&#9670;&nbsp;</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">&#160;</td>
          <td class="paramname">obj</td><td>)</td>
          <td>&#160;&#160;&#160;((void)(obj), sizeof((obj)-&gt;__val) &lt;= sizeof(void *))</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="../../d6/d07/stdatomic_8h_source.html#l00179">179</a> of file <a class="el" href="../../d6/d07/stdatomic_8h_source.html">stdatomic.h</a>.</p>

</div>
</div>
<a id="acced2a78b2a440317feed51f3e505d1d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acced2a78b2a440317feed51f3e505d1d">&#9670;&nbsp;</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">&#160;</td>
          <td class="paramname">object</td><td>)</td>
          <td>&#160;&#160;&#160;<a class="el" href="../../d6/d07/stdatomic_8h.html#a714cabdfee3dff182363e10401689371">atomic_load_explicit</a>(object, <a class="el" href="../../d6/d07/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="../../d6/d07/stdatomic_8h_source.html#l00361">361</a> of file <a class="el" href="../../d6/d07/stdatomic_8h_source.html">stdatomic.h</a>.</p>

</div>
</div>
<a id="a714cabdfee3dff182363e10401689371"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a714cabdfee3dff182363e10401689371">&#9670;&nbsp;</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">&#160;</td>
          <td class="paramname">object, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">order&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;((void)(order), __sync_fetch_and_add(&amp;(object)-&gt;__val, 0))</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="../../d6/d07/stdatomic_8h_source.html#l00329">329</a> of file <a class="el" href="../../d6/d07/stdatomic_8h_source.html">stdatomic.h</a>.</p>

</div>
</div>
<a id="a0241b1f231c55cdf092b2d509e8d83df"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0241b1f231c55cdf092b2d509e8d83df">&#9670;&nbsp;</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">&#160;</td>
          <td class="paramname">object, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">desired&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;<a class="el" href="../../d6/d07/stdatomic_8h.html#ad559c29e007899c11142f0d899625397">atomic_store_explicit</a>(object, desired, <a class="el" href="../../d6/d07/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="../../d6/d07/stdatomic_8h_source.html#l00363">363</a> of file <a class="el" href="../../d6/d07/stdatomic_8h_source.html">stdatomic.h</a>.</p>

</div>
</div>
<a id="ad559c29e007899c11142f0d899625397"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad559c29e007899c11142f0d899625397">&#9670;&nbsp;</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">&#160;</td>
          <td class="paramname">object, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">desired, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">order&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;((void)<a class="el" href="../../d6/d07/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="../../d6/d07/stdatomic_8h_source.html#l00331">331</a> of file <a class="el" href="../../d6/d07/stdatomic_8h_source.html">stdatomic.h</a>.</p>

</div>
</div>
<a id="ad501bafcd2074b392f630497545de87d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad501bafcd2074b392f630497545de87d">&#9670;&nbsp;</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">&#160;</td>
          <td class="paramname">value</td><td>)</td>
          <td>&#160;&#160;&#160;{ .__val = (value) }</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="../../d6/d07/stdatomic_8h_source.html#l00089">89</a> of file <a class="el" href="../../d6/d07/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">&#9670;&nbsp;</a></span>memory_order</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="../../d6/d07/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&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a17c2de5ae768960284c047a320f17d1ba0745f54882bc00251a719e42969db110"></a>memory_order_consume&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a17c2de5ae768960284c047a320f17d1bafb313754331704b978e9a80a933b3da7"></a>memory_order_acquire&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a17c2de5ae768960284c047a320f17d1ba685a90c8fc516895354973c3918a5f7b"></a>memory_order_release&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a17c2de5ae768960284c047a320f17d1bae17e60cbfd766a7f165872c36e2f7bc5"></a>memory_order_acq_rel&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a17c2de5ae768960284c047a320f17d1ba2d21914d1edd227a890107e7878a3752"></a>memory_order_seq_cst&#160;</td><td class="fielddoc"></td></tr>
</table>

<p class="definition">Definition at line <a class="el" href="../../d6/d07/stdatomic_8h_source.html#l00125">125</a> of file <a class="el" href="../../d6/d07/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">&#9670;&nbsp;</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&#160;</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">&#9670;&nbsp;</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&#160;</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">&#9670;&nbsp;</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&#160;</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">&#9670;&nbsp;</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&#160;</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">&#9670;&nbsp;</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&#160;</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">&#9670;&nbsp;</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&#160;</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">&#9670;&nbsp;</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="../../d6/d92/cdefs_8h.html#ae31516cd0c4adc3d52b93ef2e5c6117b">signed</a> char&#160;</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">&#9670;&nbsp;</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&#160;</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">&#9670;&nbsp;</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&#160;</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">&#9670;&nbsp;</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&#160;</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">&#9670;&nbsp;</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&#160;</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">&#9670;&nbsp;</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&#160;</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="../../d6/d07/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="../../d6/d07/stdatomic_8h_source.html#l00294">stdatomic.h:294</a></div></div>
<div class="ttc" id="astdatomic_8h_html_acae05e7d22f3a07fb8ced71a4804edb6"><div class="ttname"><a href="../../d6/d07/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="../../d6/d07/stdatomic_8h_source.html#l00284">stdatomic.h:284</a></div></div>
<div class="ttc" id="astdatomic_8h_html_a3ba706e3bbbabf5036356c09441559e2"><div class="ttname"><a href="../../d6/d07/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="../../d6/d07/stdatomic_8h_source.html#l00286">stdatomic.h:286</a></div></div>
<div class="ttc" id="astdatomic_8h_html_a17c2de5ae768960284c047a320f17d1ba2d21914d1edd227a890107e7878a3752"><div class="ttname"><a href="../../d6/d07/stdatomic_8h.html#a17c2de5ae768960284c047a320f17d1ba2d21914d1edd227a890107e7878a3752">memory_order_seq_cst</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d6/d07/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_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="../../dir_317ea3797c15f4a1d9c156bc812661ca.html">sys</a></li><li class="navelem"><a class="el" href="../../d6/d07/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>