30#ifndef PT_REFCOUNTED_H
31#define PT_REFCOUNTED_H
34#include <Pt/Atomicity.h>
35#include <Pt/NonCopyable.h>
46 explicit RefCounted(
unsigned refs)
53 virtual unsigned addRef()
56 virtual void release()
76 explicit AtomicRefCounted(
unsigned refs)
80 virtual ~AtomicRefCounted()
86 virtual void release()
Base class that disables copy construction and assignment.
Definition NonCopyable.h:59
int atomicDecrement(volatile atomic_t &val)
Decreases a value by one as an atomic operation.
int atomicGet(volatile atomic_t &val)
Atomically get a value.
int atomicIncrement(volatile atomic_t &val)
Increases a value by one as an atomic operation.
Core module.
Definition Allocator.h:33
atomic_t(int v=0)
Construct with initial value.