19 const T*
get() const noexcept {
return ptr.get(); }
24 std::shared_ptr<T>
ptr;
55 buffer.data =
nullptr;
62 Buffer(
const T *t,
unsigned int size)
67 memcpy(
data, t,
sizeof(T) * size);
80 if (
this == &buffer) {
87 buffer.data =
nullptr;
103 buffer.
data =
nullptr;
121 operator std::string_view()
const
124 return std::string_view();
126 return std::string_view(
reinterpret_cast<char*
>(
data),
m_size);
178 if (
this == &buffer) {
#define DISABLE_CLASS_COPY(C)
Definition basic_macros.h:26
T * data
Definition pointer.h:134
Buffer(const T *t, unsigned int size)
Definition pointer.h:62
Buffer & operator=(Buffer &&buffer)
Definition pointer.h:78
Buffer(unsigned int size)
Definition pointer.h:36
T & operator[](unsigned int i) const
Definition pointer.h:107
unsigned int m_size
Definition pointer.h:135
void copyTo(Buffer &buffer) const
Definition pointer.h:95
~Buffer()
Definition pointer.h:73
Buffer()
Definition pointer.h:31
T * operator*() const
Definition pointer.h:111
Buffer(const Buffer &)=delete
Buffer(Buffer &&buffer)
Definition pointer.h:50
Buffer & operator=(const Buffer &)=delete
void drop()
Definition pointer.h:130
unsigned int getSize() const
Definition pointer.h:116
const T * operator->() const noexcept
Definition pointer.h:21
const T & operator*() const noexcept
Definition pointer.h:20
ConstSharedPtr(T *ptr)
Definition pointer.h:16
std::shared_ptr< T > ptr
Definition pointer.h:24
const T * get() const noexcept
Definition pointer.h:19
ConstSharedPtr(const std::shared_ptr< T > &ptr)
Definition pointer.h:17
virtual ~IntrusiveReferenceCounted()=default
void grab() noexcept
Definition pointer.h:247
u32 m_refcount
Definition pointer.h:252
void drop() noexcept
Definition pointer.h:248
IntrusiveReferenceCounted()=default
T * operator*() const
Definition pointer.h:215
SharedBuffer(unsigned int size)
Definition pointer.h:156
unsigned int * refcount
Definition pointer.h:239
SharedBuffer(const Buffer< T > &buffer)
Copies whole buffer.
Definition pointer.h:203
unsigned int getSize() const
Definition pointer.h:219
SharedBuffer(const SharedBuffer &buffer)
Definition pointer.h:169
SharedBuffer & operator=(const SharedBuffer &buffer)
Definition pointer.h:176
unsigned int m_size
Definition pointer.h:238
SharedBuffer(const T *t, unsigned int size)
Copies whole buffer.
Definition pointer.h:190
T * data
Definition pointer.h:237
~SharedBuffer()
Definition pointer.h:206
T & operator[](unsigned int i) const
Definition pointer.h:210
SharedBuffer()
Definition pointer.h:149
void drop()
Definition pointer.h:228