Lines Matching refs:T
48 template<typename T>
49 class Atomic32 : public Atomic32Base<T>
56 static_assert(sizeof(Atomic32<T>) == sizeof(T), "Invalid atomic type size"); in Atomic32()
57 MT_ASSERT(IsPointerAligned(this, __alignof(T)), "Invalid atomic alignment"); in Atomic32()
59 Atomic32Base<T>::Store(0); in Atomic32()
62 explicit Atomic32(T v) in Atomic32()
64 static_assert(sizeof(Atomic32<T>) == sizeof(T), "Invalid atomic type size"); in Atomic32()
65 MT_ASSERT(IsPointerAligned(this, __alignof(T)), "Invalid atomic alignment"); in Atomic32()
67 Atomic32Base<T>::Store(v); in Atomic32()
76 template<typename T>
77 class AtomicPtr : public AtomicPtrBase<T>
82 static_assert(sizeof(AtomicPtr<T>) == sizeof(T*), "Invalid atomic type size"); in AtomicPtr()
83 MT_ASSERT(IsPointerAligned(this, sizeof(T*)), "Invalid atomic ptr alignment"); in AtomicPtr()
85 AtomicPtrBase<T>::Store(nullptr); in AtomicPtr()
88 explicit AtomicPtr(T* v) in AtomicPtr()
90 static_assert(sizeof(AtomicPtr<T>) == sizeof(T*), "Invalid atomic type size"); in AtomicPtr()
91 MT_ASSERT(IsPointerAligned(this, sizeof(T*)), "Invalid atomic ptr alignment"); in AtomicPtr()
93 AtomicPtrBase<T>::Store(v); in AtomicPtr()