Template Struct atomic

Inheritance Relationships

Base Types

Derived Type

Struct Documentation

template<typename T, size_t Align = 64>
struct quickpool::mem::aligned::atomic : public std::atomic<T>, private quickpool::mem::padding_impl::padding<T, 64>

Memory-aligned atomic std::atomic<T>. Behaves like std::atomic<T>, but overloads operators new and delete to align its memory location. Padding bytes are added if necessary.

Subclassed by quickpool::mem::aligned::relaxed_atomic< T >

Public Functions

atomic() noexcept = default
inline atomic(T desired) noexcept
inline T operator=(T x) noexcept
inline T operator=(T x) volatile noexcept

Public Static Functions

static inline void *operator new(size_t count) noexcept
static inline void operator delete(void *ptr)