|
A type-unsafe stack for storing different types of data. More...
#include <stack.h>
Public Member Functions | |
Stack (Allocator *allocator, size_t stack_capacity) | |
~Stack () | |
void | Clear () |
template<typename T > | |
T * | Push (size_t count=1) |
template<typename T > | |
T * | Pop (size_t count) |
template<typename T > | |
T * | Top () |
template<typename T > | |
T * | Bottom () |
Allocator & | GetAllocator () |
size_t | GetSize () const |
size_t | GetCapacity () const |
Private Attributes | |
Allocator * | allocator_ |
Allocator * | own_allocator_ |
char * | stack_ |
char * | stack_top_ |
char * | stack_end_ |
size_t | stack_capacity_ |
A type-unsafe stack for storing different types of data.
Allocator | Allocator for allocating stack memory. |
|
inline |
References rapidjson::internal::Stack< Allocator >::allocator_, rapidjson::internal::Stack< Allocator >::own_allocator_, RAPIDJSON_ASSERT, rapidjson::internal::Stack< Allocator >::stack_, rapidjson::internal::Stack< Allocator >::stack_capacity_, rapidjson::internal::Stack< Allocator >::stack_end_, and rapidjson::internal::Stack< Allocator >::stack_top_.
|
inline |
|
inline |
References rapidjson::internal::Stack< Allocator >::stack_.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
References rapidjson::internal::Stack< Allocator >::allocator_, rapidjson::internal::Stack< Allocator >::GetSize(), rapidjson::internal::Stack< Allocator >::stack_, rapidjson::internal::Stack< Allocator >::stack_capacity_, rapidjson::internal::Stack< Allocator >::stack_end_, and rapidjson::internal::Stack< Allocator >::stack_top_.
|
inline |
|
private |
|
private |
|
private |
Referenced by rapidjson::internal::Stack< Allocator >::Bottom(), rapidjson::internal::Stack< Allocator >::Clear(), rapidjson::internal::Stack< Allocator >::GetSize(), rapidjson::internal::Stack< Allocator >::Push(), rapidjson::internal::Stack< Allocator >::Stack(), and rapidjson::internal::Stack< Allocator >::~Stack().
|
private |
|
private |
|
private |
Referenced by rapidjson::internal::Stack< Allocator >::Clear(), rapidjson::internal::Stack< Allocator >::GetSize(), rapidjson::internal::Stack< Allocator >::Pop(), rapidjson::internal::Stack< Allocator >::Push(), rapidjson::internal::Stack< Allocator >::Stack(), and rapidjson::internal::Stack< Allocator >::Top().