24 void Load(
const std::string& filename);
25 void Save(
const std::string& filename)
const;
27 [[nodiscard]]
const void*
GetBuffer()
const;
28 [[nodiscard]]
const void*
IndexAt(
const size_t index)
const;
33 void Push(
const T value);
35 void PushData(
const void* pointer,
const size_t size);
38 [[nodiscard]] T
Pop();
39 void PopString(
char* pointer,
const size_t size);
40 void PopData(
void* pointer,
const size_t size);
43 [[nodiscard]] T
Get();
44 [[nodiscard]]
size_t GetString(
char* pointer,
const size_t size)
const;
47 void GetData(
void* pointer,
const size_t size)
const;
50 void Seek(
const ssize_t offset);
52 [[nodiscard]] std::shared_ptr<const void>
MakeShared()
const;
55 void ResizeBuffer(
const size_t size);
58 std::unique_ptr<uint8_t, decltype(&std::free)> mBuffer;
59 size_t mAllocatedSize = 0;
Definition: OutputStream.h:15
T Pop()
Definition: OutputStream.inl:116
const char * GetStringPointer() const
Definition: OutputStream.inl:158
T Get()
Definition: OutputStream.inl:135
OutputStream(OutputStream &&other) noexcept
void Rewind()
Definition: OutputStream.inl:182
OutputStream()
Definition: OutputStream.inl:15
void GetData(void *pointer, const size_t size) const
Definition: OutputStream.inl:174
size_t GetStringLength() const
Definition: OutputStream.inl:166
void Seek(const ssize_t offset)
Definition: OutputStream.inl:187
OutputStream & operator=(OutputStream &&other) noexcept
const void * IndexAt(const size_t index) const
Definition: OutputStream.inl:73
OutputStream & operator=(const OutputStream &other)=delete
size_t GetUsedSize() const
Definition: OutputStream.inl:87
void PopString(char *pointer, const size_t size)
Definition: OutputStream.inl:123
void Save(const std::string &filename) const
Definition: OutputStream.inl:57
OutputStream(const OutputStream &other)=delete
void Load(const std::string &filename)
Definition: OutputStream.inl:36
std::shared_ptr< const void > MakeShared() const
Definition: OutputStream.inl:195
void Push(const T value)
Definition: OutputStream.inl:93
size_t GetAllocatedSize() const
Definition: OutputStream.inl:82
void PopData(void *pointer, const size_t size)
Definition: OutputStream.inl:128
void PushString(const char *text)
Definition: OutputStream.inl:98
void PushData(const void *pointer, const size_t size)
Definition: OutputStream.inl:107
const void * GetBuffer() const
Definition: OutputStream.inl:68
size_t GetString(char *pointer, const size_t size) const
Definition: OutputStream.inl:142
Definition: CodeBuffer.cpp:12
Definition: Noncopyable.h:18