File NonOwnerPointer.hpp

namespace Bedrock
class EnableNonOwnerReferences

Subclassed by ILevel, NetEventCallback, PacketSender

Public Functions

inline EnableNonOwnerReferences()
EnableNonOwnerReferences(const EnableNonOwnerReferences &other) = default
virtual ~EnableNonOwnerReferences() = default
EnableNonOwnerReferences &operator=(const EnableNonOwnerReferences &other) = default

Private Members

std::shared_ptr<ControlBlock> controlBlock
struct ControlBlock

Public Functions

inline explicit ControlBlock(EnableNonOwnerReferences *ptr)

Public Members

EnableNonOwnerReferences *ptr
template<typename T = EnableNonOwnerReferences>
class NonOwnerPointer

Public Functions

inline NonOwnerPointer()
inline explicit NonOwnerPointer(T *ptr)
inline NonOwnerPointer(const NonOwnerPointer<T> &other)
inline NonOwnerPointer &operator=(const NonOwnerPointer<T> &other)
inline NonOwnerPointer &operator=(T *ptr)
inline T *operator->() const
inline T &operator*() const
inline bool operator==(void*) const
inline bool operator!=(void*) const

Private Members

std::shared_ptr<EnableNonOwnerReferences::ControlBlock> controlBlock