template <typename Allocator>

class Stack

Defined at line 37 of file ../../third_party/rapidjson/include/rapidjson/internal/stack.h

A type-unsafe stack for storing different types of data.

Template Parameters

Allocator Allocator for allocating stack memory.

Public Methods

void Stack<Allocator> (Allocator * allocator, size_t stackCapacity)

Optimization note: Do not allocate memory for stack_ in constructor.

Do it lazily when first Push() -> Expand() -> Resize().

Defined at line 41 of file ../../third_party/rapidjson/include/rapidjson/internal/stack.h

void Stack<Allocator> (Stack<Allocator> && rhs)

Defined at line 45 of file ../../third_party/rapidjson/include/rapidjson/internal/stack.h

void ~Stack<Allocator> ()

Defined at line 62 of file ../../third_party/rapidjson/include/rapidjson/internal/stack.h

Stack<Allocator> & operator= (Stack<Allocator> && rhs)

Defined at line 67 of file ../../third_party/rapidjson/include/rapidjson/internal/stack.h

void Swap (Stack<Allocator> & rhs)

Defined at line 90 of file ../../third_party/rapidjson/include/rapidjson/internal/stack.h

void Clear ()

Defined at line 99 of file ../../third_party/rapidjson/include/rapidjson/internal/stack.h

void ShrinkToFit ()

Defined at line 101 of file ../../third_party/rapidjson/include/rapidjson/internal/stack.h

template <typename T>
void Reserve (size_t count)

Optimization note: try to minimize the size of this function for force inline.

Expansion is run very infrequently, so it is moved to another (probably non-inline) function.

Defined at line 116 of file ../../third_party/rapidjson/include/rapidjson/internal/stack.h

template <typename T>
T * Push (size_t count)

Defined at line 123 of file ../../third_party/rapidjson/include/rapidjson/internal/stack.h

template <typename T>
T * PushUnsafe (size_t count)

Defined at line 129 of file ../../third_party/rapidjson/include/rapidjson/internal/stack.h

template <typename T>
T * Pop (size_t count)

Defined at line 138 of file ../../third_party/rapidjson/include/rapidjson/internal/stack.h

template <typename T>
T * Top ()

Defined at line 145 of file ../../third_party/rapidjson/include/rapidjson/internal/stack.h

template <typename T>
const T * Top ()

Defined at line 151 of file ../../third_party/rapidjson/include/rapidjson/internal/stack.h

template <typename T>
T * End ()

Defined at line 157 of file ../../third_party/rapidjson/include/rapidjson/internal/stack.h

template <typename T>
const T * End ()

Defined at line 160 of file ../../third_party/rapidjson/include/rapidjson/internal/stack.h

template <typename T>
T * Bottom ()

Defined at line 163 of file ../../third_party/rapidjson/include/rapidjson/internal/stack.h

template <typename T>
const T * Bottom ()

Defined at line 166 of file ../../third_party/rapidjson/include/rapidjson/internal/stack.h

bool HasAllocator ()

Defined at line 168 of file ../../third_party/rapidjson/include/rapidjson/internal/stack.h

Allocator & GetAllocator ()

Defined at line 172 of file ../../third_party/rapidjson/include/rapidjson/internal/stack.h

bool Empty ()

Defined at line 177 of file ../../third_party/rapidjson/include/rapidjson/internal/stack.h

size_t GetSize ()

Defined at line 178 of file ../../third_party/rapidjson/include/rapidjson/internal/stack.h

size_t GetCapacity ()

Defined at line 179 of file ../../third_party/rapidjson/include/rapidjson/internal/stack.h