125 bool operator==(const
Stack& other) const;
129 void AllocateBegin(const
address_t gainSize);
130 void AllocateEnd(const
address_t gainSize);
131 void Deallocate(const
address_t releaseSize);
136 Actor* mActorPointer;
137 const char* mStringPointer;
143 explicit operator Actor*()
const {
return mActorPointer; }
144 explicit operator const char*()
const {
return mStringPointer; }
145 explicit operator void*()
const {
return mVoidPointer; }
146 explicit operator int32_t()
const {
return static_cast<int32_t
>(mInteger); }
147 explicit operator int64_t()
const {
return static_cast<int64_t
>(mInteger); }
148 explicit operator float()
const {
return static_cast<float>(mFloat); }
149 explicit operator double()
const {
return static_cast<double>(mFloat); }
150 explicit operator bool()
const {
return mBool; }
152 void Set(
Actor* actorPointer) { mActorPointer = actorPointer; }
153 void Set(
const char* stringPointer) { mStringPointer = stringPointer; }
154 void Set(
void* voidPointer) { mVoidPointer = voidPointer; }
155 void Set(
const int32_t value) { mInteger =
static_cast<int_t>(value); }
156 void Set(
const int64_t value) { mInteger =
static_cast<int_t>(value); }
157 void Set(
const float value) { mFloat =
static_cast<float_t>(value); }
158 void Set(
const double value) { mFloat =
static_cast<float_t>(value); }
159 void Set(
bool const value) { mBool = value; }
161 std::unique_ptr<
Buffer, decltype(&std::free)> mBuffer;
Definition: OutputStream.h:15
void Duplicate()
Definition: Stack.inl:39
Stack(const Stack &)=delete
void SetSize(const address_t size)
Definition: Stack.inl:110
Stack()
Definition: Stack.inl:12
void Set(const address_t index, T value)
Definition: Stack.inl:97
void * GetAddress(const address_t index) const
Definition: Stack.inl:89
void Push(T value)
Definition: Stack.inl:51
void Remove(const address_t size)
Definition: Stack.inl:44
void PopData(void *buffer, const address_t size)
Definition: Stack.inl:74
void Clear()
Definition: Stack.inl:34
T Get(const address_t index) const
Definition: Stack.inl:81
T Pop()
Definition: Stack.inl:67
Stack(Stack &&) noexcept=delete
void Serialize(const std::shared_ptr< OutputStream > &stream) const
Definition: Stack.inl:17
void Deserialize(const std::shared_ptr< OutputStream > &stream)
Definition: Stack.inl:23
address_t GetSize() const
Definition: Stack.inl:105
Definition: CodeBuffer.cpp:12
std::uint32_t address_t
Definition: Type.h:31
std::int32_t int_t
Definition: Type.h:29
float float_t
Definition: Type.h:28
Definition: Noncopyable.h:18