JUCE  v5.2.0-514-g49784a029
JUCE API
juce::Atomic< void * > Class Template Reference

#include <juce_Atomic.h>

Inheritance diagram for juce::Atomic< void * >:
Collaboration diagram for juce::Atomic< void * >:

Public Types

typedef AtomicHelpers::DiffTypeHelper< void * >::void * DiffType
 

Public Member Functions

 Atomic () noexcept
 
 Atomic (void *const initialValue) noexcept
 
 Atomic (const Atomic< void *> &other) noexcept
 
bool compareAndSetBool (void *newValue, void *valueToCompare) noexcept
 
void * compareAndSetValue (void *newValue, void *valueToCompare) noexcept
 
void * exchange (void *v) noexcept
 
void * get () const noexcept
 
Atomicoperator= (const Atomic &other) noexcept
 
Atomicoperator= (void *const newValue) noexcept
 
void set (void *newValue) noexcept
 

Static Public Member Functions

static void memoryBarrier () noexcept
 

Public Attributes

volatile void * value
 The raw value that this class operates on. More...
 

Protected Member Functions

ValueType negateValue (ValueType n) noexcept
 This templated negate function will negate pointers as well as integers. More...
 
PointerType * negateValue (PointerType *n) noexcept
 This templated negate function will negate pointers as well as integers. More...
 
void * operator++ (int)
 
void * operator-- (int)
 

Static Protected Member Functions

static void * castFrom32Bit (int32 value) noexcept
 
static void * castFrom64Bit (int64 value) noexcept
 
static Dest castTo (Source value) noexcept
 
static int32 castTo32Bit (void * value) noexcept
 
static int64 castTo64Bit (void * value) noexcept
 

Member Typedef Documentation

◆ DiffType

typedef AtomicHelpers::DiffTypeHelper<void * >::void * juce::AtomicBase< void * >::DiffType
inherited

Constructor & Destructor Documentation

◆ Atomic() [1/3]

juce::Atomic< void * >::Atomic ( )
inlinenoexcept

◆ Atomic() [2/3]

juce::Atomic< void * >::Atomic ( void *const  initialValue)
inlineexplicitnoexcept

◆ Atomic() [3/3]

juce::Atomic< void * >::Atomic ( const Atomic< void *> &  other)
inlinenoexcept

Member Function Documentation

◆ castFrom32Bit()

static void * juce::AtomicBase< void * >::castFrom32Bit ( int32  value)
inlinestaticprotectednoexceptinherited

◆ castFrom64Bit()

static void * juce::AtomicBase< void * >::castFrom64Bit ( int64  value)
inlinestaticprotectednoexceptinherited

◆ castTo()

static Dest juce::AtomicBase< void * >::castTo ( Source  value)
inlinestaticprotectednoexceptinherited

◆ castTo32Bit()

static int32 juce::AtomicBase< void * >::castTo32Bit ( void *  value)
inlinestaticprotectednoexceptinherited

◆ castTo64Bit()

static int64 juce::AtomicBase< void * >::castTo64Bit ( void *  value)
inlinestaticprotectednoexceptinherited

◆ compareAndSetBool()

bool juce::Atomic< void * >::compareAndSetBool ( void *  newValue,
void *  valueToCompare 
)
inlinenoexcept

◆ compareAndSetValue()

void* juce::Atomic< void * >::compareAndSetValue ( void *  newValue,
void *  valueToCompare 
)
inlinenoexcept

◆ exchange()

void* juce::Atomic< void * >::exchange ( void *  v)
inlinenoexcept

◆ get()

void* juce::Atomic< void * >::get ( ) const
inlinenoexcept

◆ memoryBarrier()

static void juce::Atomic< void * >::memoryBarrier ( )
inlinestaticnoexcept

◆ negateValue() [1/2]

ValueType juce::AtomicBase< void * >::negateValue ( ValueType  n)
inlineprotectednoexceptinherited

This templated negate function will negate pointers as well as integers.

◆ negateValue() [2/2]

PointerType* juce::AtomicBase< void * >::negateValue ( PointerType *  n)
inlineprotectednoexceptinherited

This templated negate function will negate pointers as well as integers.

◆ operator++()

void * juce::AtomicBase< void * >::operator++ ( int  )
protectedinherited

◆ operator--()

void * juce::AtomicBase< void * >::operator-- ( int  )
protectedinherited

◆ operator=() [1/2]

Atomic& juce::Atomic< void * >::operator= ( const Atomic< void * > &  other)
inlinenoexcept

◆ operator=() [2/2]

Atomic& juce::Atomic< void * >::operator= ( void *const  newValue)
inlinenoexcept

◆ set()

void juce::Atomic< void * >::set ( void *  newValue)
inlinenoexcept

Member Data Documentation

◆ value

volatile void * juce::AtomicBase< void * >::value
inherited

The raw value that this class operates on.

This is exposed publicly in case you need to manipulate it directly for performance reasons.


The documentation for this class was generated from the following file: