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 |
1.8.11