QBasicAtomicInt Class Reference

#include <qbasicatomic.h>

Class Description

Definition at line 53 of file qbasicatomic.h.

+ Inheritance diagram for QBasicAtomicInt:

Public Member Functions

bool operator== (int value) const
 
bool operator!= (int value) const
 
bool operator! () const
 
 operator int () const
 
QBasicAtomicIntoperator= (int value)
 
bool ref ()
 
bool deref ()
 
bool testAndSetRelaxed (int expectedValue, int newValue)
 
bool testAndSetAcquire (int expectedValue, int newValue)
 
bool testAndSetRelease (int expectedValue, int newValue)
 
bool testAndSetOrdered (int expectedValue, int newValue)
 
int fetchAndStoreRelaxed (int newValue)
 
int fetchAndStoreAcquire (int newValue)
 
int fetchAndStoreRelease (int newValue)
 
int fetchAndStoreOrdered (int newValue)
 
int fetchAndAddRelaxed (int valueToAdd)
 
int fetchAndAddAcquire (int valueToAdd)
 
int fetchAndAddRelease (int valueToAdd)
 
int fetchAndAddOrdered (int valueToAdd)
 

Static Public Member Functions

static bool isReferenceCountingNative ()
 
static bool isReferenceCountingWaitFree ()
 
static bool isTestAndSetNative ()
 
static bool isTestAndSetWaitFree ()
 
static bool isFetchAndStoreNative ()
 
static bool isFetchAndStoreWaitFree ()
 
static bool isFetchAndAddNative ()
 
static bool isFetchAndAddWaitFree ()
 

Public Attributes

union {
   volatile long   _q_value
 
}; 
 

Member Function Documentation

bool operator== ( int  value) const
inline

Definition at line 68 of file qbasicatomic.h.

69  {
70  return _q_value == value;
71  }
volatile long _q_value
Definition: qbasicatomic.h:61
GLsizei const GLfloat * value
Definition: GLee.h:1742
bool operator!= ( int  value) const
inline

Definition at line 73 of file qbasicatomic.h.

74  {
75  return _q_value != value;
76  }
volatile long _q_value
Definition: qbasicatomic.h:61
GLsizei const GLfloat * value
Definition: GLee.h:1742
bool operator! ( void  ) const
inline

Definition at line 78 of file qbasicatomic.h.

79  {
80  return _q_value == 0;
81  }
volatile long _q_value
Definition: qbasicatomic.h:61
operator int ( ) const
inline

Definition at line 83 of file qbasicatomic.h.

84  {
85  return _q_value;
86  }
volatile long _q_value
Definition: qbasicatomic.h:61
QBasicAtomicInt& operator= ( int  value)
inline

Definition at line 88 of file qbasicatomic.h.

89  {
90 #ifdef QT_ARCH_PARISC
91  this->_q_lock[0] = this->_q_lock[1] = this->_q_lock[2] = this->_q_lock[3] = -1;
92 #endif
93  _q_value = value;
94  return *this;
95  }
volatile long _q_value
Definition: qbasicatomic.h:61
GLsizei const GLfloat * value
Definition: GLee.h:1742
bool isReferenceCountingNative ( )
inlinestatic

Definition at line 51 of file qatomic_alpha.h.

52 { return true; }
bool isReferenceCountingWaitFree ( )
inlinestatic

Definition at line 53 of file qatomic_alpha.h.

54 { return false; }
bool ref ( )
inline

Definition at line 495 of file qatomic_alpha.h.

496 {
497  return q_atomic_increment(&_q_value) != 0;
498 }
Q_CORE_EXPORT int q_atomic_increment(volatile int *ptr)
volatile long _q_value
Definition: qbasicatomic.h:61
bool deref ( )
inline

Definition at line 500 of file qatomic_alpha.h.

501 {
502  return q_atomic_decrement(&_q_value) != 0;
503 }
volatile long _q_value
Definition: qbasicatomic.h:61
Q_CORE_EXPORT int q_atomic_decrement(volatile int *ptr)
bool isTestAndSetNative ( )
inlinestatic

Definition at line 58 of file qatomic_alpha.h.

59 { return true; }
bool isTestAndSetWaitFree ( )
inlinestatic

Definition at line 60 of file qatomic_alpha.h.

61 { return false; }
bool testAndSetRelaxed ( int  expectedValue,
int  newValue 
)
inline

Definition at line 505 of file qatomic_alpha.h.

506 {
507  return q_atomic_test_and_set_int(&_q_value, expectedValue, newValue) != 0;
508 }
volatile long _q_value
Definition: qbasicatomic.h:61
Q_CORE_EXPORT int q_atomic_test_and_set_int(volatile int *ptr, int expected, int newval)
bool testAndSetAcquire ( int  expectedValue,
int  newValue 
)
inline

Definition at line 510 of file qatomic_alpha.h.

511 {
512  return q_atomic_test_and_set_acquire_int(&_q_value, expectedValue, newValue) != 0;
513 }
Q_CORE_EXPORT int q_atomic_test_and_set_acquire_int(volatile int *ptr, int expected, int newval)
volatile long _q_value
Definition: qbasicatomic.h:61
bool testAndSetRelease ( int  expectedValue,
int  newValue 
)
inline

Definition at line 515 of file qatomic_alpha.h.

516 {
517  return q_atomic_test_and_set_release_int(&_q_value, expectedValue, newValue) != 0;
518 }
Q_CORE_EXPORT int q_atomic_test_and_set_release_int(volatile int *ptr, int expected, int newval)
volatile long _q_value
Definition: qbasicatomic.h:61
bool testAndSetOrdered ( int  expectedValue,
int  newValue 
)
inline

Definition at line 605 of file qatomic_alpha.h.

606 {
607  return testAndSetAcquire(expectedValue, newValue);
608 }
bool testAndSetAcquire(int expectedValue, int newValue)
bool isFetchAndStoreNative ( )
inlinestatic

Definition at line 65 of file qatomic_alpha.h.

66 { return true; }
bool isFetchAndStoreWaitFree ( )
inlinestatic

Definition at line 67 of file qatomic_alpha.h.

68 { return false; }
int fetchAndStoreRelaxed ( int  newValue)
inline

Definition at line 520 of file qatomic_alpha.h.

521 {
522  return q_atomic_set_int(&_q_value, newValue);
523 }
Q_CORE_EXPORT int q_atomic_set_int(volatile int *ptr, int newval)
volatile long _q_value
Definition: qbasicatomic.h:61
int fetchAndStoreAcquire ( int  newValue)
inline

Definition at line 525 of file qatomic_alpha.h.

526 {
528 }
volatile long _q_value
Definition: qbasicatomic.h:61
int q_atomic_fetch_and_store_acquire_int(volatile int *ptr, int newValue)
int fetchAndStoreRelease ( int  newValue)
inline

Definition at line 530 of file qatomic_alpha.h.

531 {
533 }
int q_atomic_fetch_and_store_release_int(volatile int *ptr, int newValue)
volatile long _q_value
Definition: qbasicatomic.h:61
int fetchAndStoreOrdered ( int  newValue)
inline

Definition at line 610 of file qatomic_alpha.h.

611 {
612  return fetchAndStoreAcquire(newValue);
613 }
int fetchAndStoreAcquire(int newValue)
bool isFetchAndAddNative ( )
inlinestatic

Definition at line 72 of file qatomic_alpha.h.

73 { return true; }
bool isFetchAndAddWaitFree ( )
inlinestatic

Definition at line 74 of file qatomic_alpha.h.

75 { return false; }
int fetchAndAddRelaxed ( int  valueToAdd)
inline

Definition at line 535 of file qatomic_alpha.h.

536 {
537  return q_atomic_fetch_and_add_int(&_q_value, valueToAdd);
538 }
Q_CORE_EXPORT int q_atomic_fetch_and_add_int(volatile int *ptr, int value)
volatile long _q_value
Definition: qbasicatomic.h:61
int fetchAndAddAcquire ( int  valueToAdd)
inline

Definition at line 540 of file qatomic_alpha.h.

541 {
542  return q_atomic_fetch_and_add_acquire_int(&_q_value, valueToAdd);
543 }
Q_CORE_EXPORT int q_atomic_fetch_and_add_acquire_int(volatile int *ptr, int value)
volatile long _q_value
Definition: qbasicatomic.h:61
int fetchAndAddRelease ( int  valueToAdd)
inline

Definition at line 545 of file qatomic_alpha.h.

546 {
547  return q_atomic_fetch_and_add_release_int(&_q_value, valueToAdd);
548 }
volatile long _q_value
Definition: qbasicatomic.h:61
Q_CORE_EXPORT int q_atomic_fetch_and_add_release_int(volatile int *ptr, int value)
int fetchAndAddOrdered ( int  valueToAdd)
inline

Definition at line 615 of file qatomic_alpha.h.

616 {
617  return fetchAndAddAcquire(valueToAdd);
618 }
int fetchAndAddAcquire(int valueToAdd)

Member Data Documentation

volatile long _q_value

Definition at line 61 of file qbasicatomic.h.

union { ... }

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