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