Bike-X  0.8
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
OVR::AtomicOps< C > Class Template Reference

#include "OVR_Atomic.h"

Collaboration diagram for OVR::AtomicOps< C >:
Collaboration graph

Data Structures

union  C2T_union
 

Static Public Member Functions

static C Exchange_Sync (volatile C *p, C val)
 
static C Exchange_Release (volatile C *p, C val)
 
static C Exchange_Acquire (volatile C *p, C val)
 
static C Exchange_NoSync (volatile C *p, C val)
 
static C ExchangeAdd_Sync (volatile C *p, C val)
 
static C ExchangeAdd_Release (volatile C *p, C val)
 
static C ExchangeAdd_Acquire (volatile C *p, C val)
 
static C ExchangeAdd_NoSync (volatile C *p, C val)
 
static bool CompareAndSet_Sync (volatile C *p, C c, C val)
 
static bool CompareAndSet_Release (volatile C *p, C c, C val)
 
static bool CompareAndSet_Relse (volatile C *p, C c, C val)
 
static bool CompareAndSet_NoSync (volatile C *p, C c, C val)
 
static void Store_Release (volatile C *p, C val)
 
static C Load_Acquire (const volatile C *p)
 

Private Types

typedef AtomicOpsRaw< sizeof(C)> Ops
 
typedef Ops::T T
 
typedef volatile Ops::T * PT
 

Detailed Description

template<class C>
class OVR::AtomicOps< C >

Definition at line 49 of file OVR_Atomic.h.


Data Structure Documentation

union OVR::AtomicOps::C2T_union

template<class C>
union OVR::AtomicOps< C >::C2T_union

Definition at line 572 of file OVR_Atomic.h.

Collaboration diagram for OVR::AtomicOps< C >::C2T_union:
Collaboration graph
Data Fields
C c
T t

Member Typedef Documentation

template<class C >
typedef AtomicOpsRaw<sizeof(C)> OVR::AtomicOps< C >::Ops
private

Definition at line 567 of file OVR_Atomic.h.

template<class C >
typedef volatile Ops::T* OVR::AtomicOps< C >::PT
private

Definition at line 569 of file OVR_Atomic.h.

template<class C >
typedef Ops::T OVR::AtomicOps< C >::T
private

Definition at line 568 of file OVR_Atomic.h.

Member Function Documentation

template<class C >
static bool OVR::AtomicOps< C >::CompareAndSet_NoSync ( volatile C *  p,
c,
val 
)
inlinestatic

Definition at line 587 of file OVR_Atomic.h.

template<class C >
static bool OVR::AtomicOps< C >::CompareAndSet_Release ( volatile C *  p,
c,
val 
)
inlinestatic

Definition at line 585 of file OVR_Atomic.h.

template<class C >
static bool OVR::AtomicOps< C >::CompareAndSet_Relse ( volatile C *  p,
c,
val 
)
inlinestatic

Definition at line 586 of file OVR_Atomic.h.

template<class C >
static bool OVR::AtomicOps< C >::CompareAndSet_Sync ( volatile C *  p,
c,
val 
)
inlinestatic

Definition at line 584 of file OVR_Atomic.h.

template<class C >
static C OVR::AtomicOps< C >::Exchange_Acquire ( volatile C *  p,
val 
)
inlinestatic

Definition at line 578 of file OVR_Atomic.h.

template<class C >
static C OVR::AtomicOps< C >::Exchange_NoSync ( volatile C *  p,
val 
)
inlinestatic

Definition at line 579 of file OVR_Atomic.h.

template<class C >
static C OVR::AtomicOps< C >::Exchange_Release ( volatile C *  p,
val 
)
inlinestatic

Definition at line 577 of file OVR_Atomic.h.

template<class C >
static C OVR::AtomicOps< C >::Exchange_Sync ( volatile C *  p,
val 
)
inlinestatic

Definition at line 576 of file OVR_Atomic.h.

template<class C >
static C OVR::AtomicOps< C >::ExchangeAdd_Acquire ( volatile C *  p,
val 
)
inlinestatic

Definition at line 582 of file OVR_Atomic.h.

template<class C >
static C OVR::AtomicOps< C >::ExchangeAdd_NoSync ( volatile C *  p,
val 
)
inlinestatic

Definition at line 583 of file OVR_Atomic.h.

template<class C >
static C OVR::AtomicOps< C >::ExchangeAdd_Release ( volatile C *  p,
val 
)
inlinestatic

Definition at line 581 of file OVR_Atomic.h.

template<class C >
static C OVR::AtomicOps< C >::ExchangeAdd_Sync ( volatile C *  p,
val 
)
inlinestatic

Definition at line 580 of file OVR_Atomic.h.

template<class C >
static C OVR::AtomicOps< C >::Load_Acquire ( const volatile C *  p)
inlinestatic

Definition at line 590 of file OVR_Atomic.h.

template<class C >
static void OVR::AtomicOps< C >::Store_Release ( volatile C *  p,
val 
)
inlinestatic

Definition at line 589 of file OVR_Atomic.h.


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