mn_atomic_flags.hpp File Reference

Go to the source code of this file.

Classes

struct  mn::internal::atomic_flag< TFlag >
 

Namespaces

 mn
 
 mn::modifier
 
 mn::internal
 

Macros

#define __ATOMIC_RELAXED   0
 
#define __ATOMIC_CONSUME   1
 
#define __ATOMIC_ACQUIRE   2
 
#define __ATOMIC_RELEASE   3
 
#define __ATOMIC_ACQ_REL   4
 
#define __ATOMIC_SEQ_CST   5
 

Typedefs

using mn::modifier::memory_order = basic_atomic_gcc_memory_order_modifier
 

Enumerations

enum class  mn::memory_order : int {
  mn::Relaxed = __ATOMIC_RELAXED , mn::Consume = __ATOMIC_CONSUME , mn::Acquire = __ATOMIC_ACQUIRE , mn::Release = __ATOMIC_RELEASE ,
  mn::AcqRel = __ATOMIC_ACQ_REL , mn::SeqCst = __ATOMIC_SEQ_CST
}
 
enum  mn::modifier::basic_atomic_gcc_memory_order_modifier { mn::modifier::Mask = 0x0ffff , mn::modifier::ModifierMask = 0xffff0000 , mn::modifier::HleAcquire = 0x10000 , mn::modifier::HleRelease = 0x20000 }
 

Functions

memory_order mn::operator| (memory_order mMemOrder, modifier::memory_order mod)
 
memory_order mn::operator& (memory_order mMemOrder, modifier::memory_order mod)
 

Macro Definition Documentation

◆ __ATOMIC_ACQ_REL

#define __ATOMIC_ACQ_REL   4

◆ __ATOMIC_ACQUIRE

#define __ATOMIC_ACQUIRE   2

◆ __ATOMIC_CONSUME

#define __ATOMIC_CONSUME   1

◆ __ATOMIC_RELAXED

#define __ATOMIC_RELAXED   0

◆ __ATOMIC_RELEASE

#define __ATOMIC_RELEASE   3

◆ __ATOMIC_SEQ_CST

#define __ATOMIC_SEQ_CST   5