10class INLINE_CLASS_DECL_ACME interlocked_i64
24 inline interlocked_i64(::i64 i = 0);
27 inline interlocked_i64(
const interlocked_i64& ll);
30 inline interlocked_i64(interlocked_i64 && ll);
33 inline interlocked_i64& operator = (::i64 i);
36 inline operator ::i64()
const;
39 inline ::i64 operator ++();
40 inline ::i64 operator--();
41 inline ::i64 operator ++(::i32);
42 inline ::i64 operator--(::i32);
44 inline interlocked_i64& operator +=(::i64 l);
45 inline interlocked_i64& operator-=(::i64 l);
48 inline ::i64 as_integer()
const {
return m_i64;}
57class INLINE_CLASS_DECL_ACME interlocked_int
70 inline interlocked_int(::i32 i = 0);
72 inline interlocked_int& operator = (::i32 i);
74 inline operator ::i32()
const;
77 inline interlocked_int & operator ++();
78 inline interlocked_int & operator--();
79 inline ::i32 operator ++(::i32);
80 inline ::i32 operator--(::i32);
83 inline interlocked_int& operator +=(::i32 l);
84 inline interlocked_int& operator-=(::i32 l);
87 inline ::i32 as_integer()
const {
return m_i32;}
99using interlocked_count = ::interlocked_i64;
107inline interlocked_i64::interlocked_i64(::i64 i) :
114inline interlocked_i64::interlocked_i64(
const interlocked_i64 & ll) :
121inline interlocked_i64::interlocked_i64(interlocked_i64 && ll) :
128inline interlocked_i64& interlocked_i64::operator = (::i64 i)
131 atomic_assign64(&m_i64, i);
138inline interlocked_i64::operator ::i64()
const
146inline ::i64 interlocked_i64::operator ++()
149 return atomic_increment64(&m_i64);
154inline ::i64 interlocked_i64::operator--()
157 return atomic_decrement64(&m_i64);
162inline ::i64 interlocked_i64::operator ++(::i32)
167 atomic_increment64(&m_i64);
174inline ::i64 interlocked_i64::operator--(::i32)
179 atomic_decrement64(&m_i64);
186inline interlocked_i64& interlocked_i64::operator +=(::i64 ll)
189 atomic_add64(&m_i64, ll);
196inline interlocked_i64& interlocked_i64::operator-=(::i64 ll)
199 atomic_subtract64(&m_i64, ll);
221inline interlocked_int::interlocked_int(::i32 i) :
233 atomic_assign32(&m_i32, i);
240inline interlocked_int::operator ::i32()
const
251 atomic_increment32(&m_i32);
261 atomic_decrement32(&m_i32);
268inline ::i32 interlocked_int::operator ++(::i32)
273 atomic_increment32(&m_i32);
280inline ::i32 interlocked_int::operator--(::i32)
285 atomic_decrement32(&m_i32);
295 atomic_add32(&m_i32, i);
305 atomic_subtract32(&m_i32, l);
Definition interlocked_count.h:58