83 INLINE explicit operator bool()
const {
84 return block !=
nullptr;
88 return !this->
operator bool();
105 : block(other.block) {
112 : block(other.block) {
118 template <
typename T>
NAMESPACE_SPH_BEGIN INLINE T * alignedNew(TArgs &&... args)
Creates a new object of type T on heap, using aligned allocation.
#define INLINE
Macros for conditional compilation based on selected compiler.
#define NAMESPACE_SPH_END
INLINE void decreaseUseCnt()
INLINE int increaseWeakCnt()
INLINE void decreaseWeakCnt()
INLINE int increaseUseCnt()
INLINE bool increaseUseCntIfNonzero()
virtual INLINE void * getPtr() override
virtual void deletePtr() override
Detail::ControlBlockHolder * block
SharedToken(const SharedToken &other)
SharedToken(const SharedPtr< T > &ptr)
SharedToken(std::nullptr_t)
INLINE bool operator!() const
SharedToken & operator=(const SharedToken &other)
WeakToken(const SharedPtr< T > &ptr)
WeakToken(const SharedToken &other)
WeakToken(const WeakToken &other)
WeakToken & operator=(const WeakToken &other)
WeakToken(std::nullptr_t)