A type-unsafe stack for storing different types of data. More...
#include <stack.h>
Public Member Functions | |
Stack (Allocator *allocator, size_t stackCapacity) | |
~Stack () | |
void | Swap (Stack &rhs) RAPIDJSON_NOEXCEPT |
void | Clear () |
void | ShrinkToFit () |
template<typename T > | |
RAPIDJSON_FORCEINLINE void | Reserve (size_t count=1) |
template<typename T > | |
RAPIDJSON_FORCEINLINE T * | Push (size_t count=1) |
template<typename T > | |
RAPIDJSON_FORCEINLINE T * | PushUnsafe (size_t count=1) |
template<typename T > | |
T * | Pop (size_t count) |
template<typename T > | |
T * | Top () |
template<typename T > | |
const T * | Top () const |
template<typename T > | |
T * | End () |
template<typename T > | |
const T * | End () const |
template<typename T > | |
T * | Bottom () |
template<typename T > | |
const T * | Bottom () const |
bool | HasAllocator () const |
Allocator & | GetAllocator () |
bool | Empty () const |
size_t | GetSize () const |
size_t | GetCapacity () const |
Private Member Functions | |
template<typename T > | |
void | Expand (size_t count) |
void | Resize (size_t newCapacity) |
void | Destroy () |
Stack (const Stack &) | |
Stack & | operator= (const Stack &) |
Private Attributes | |
Allocator * | allocator_ |
Allocator * | ownAllocator_ |
char * | stack_ |
char * | stackTop_ |
char * | stackEnd_ |
size_t | initialCapacity_ |
A type-unsafe stack for storing different types of data.
Allocator | Allocator for allocating stack memory. |
|
inline |
Definition at line 40 of file stack.h.
|
inline |
|
private |
|
inline |
|
inline |
|
inline |
|
inlineprivate |
Definition at line 207 of file stack.h.
|
inline |
|
inline |
|
inlineprivate |
Definition at line 182 of file stack.h.
|
inline |
|
inline |
|
inline |
|
inline |
|
private |
|
inline |
|
inline |
|
inline |
|
inline |
Definition at line 115 of file stack.h.
|
inlineprivate |
Definition at line 200 of file stack.h.
|
inline |
|
inline |
|
inline |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |