Defined in header
void atomic_thread_fence( memory_order order );
Establishes memory synchronization ordering of non-atomic and relaxed atomic accesses, as instructed by
order, without an associated atomic operation. For example, all non-atomic and relaxed atomic stores that happen before a memory_order_release fence in thread A will be synchronized with non-atomic and relaxed atomic loads from the same locations made in thread B after an memory_order_acquire fence.
|order||-||the memory ordering executed by this fence|
| fence between a thread and a signal handler executed in the same thread |
C++ documentation for atomic_thread_fence