bes Updated for version 3.21.1
The Backend Server (BES) is the lower two tiers of the Hyrax data server
internal::Stack< Allocator > Class Template Reference

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

#include <stack.h>

Inheritance diagram for internal::Stack< Allocator >:
Inheritance graph
Collaboration diagram for internal::Stack< Allocator >:
Collaboration graph

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
 
AllocatorGetAllocator ()
 
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
 

Detailed Description

template<typename Allocator>
class internal::Stack< Allocator >

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

Template Parameters
AllocatorAllocator for allocating stack memory.

Definition at line 37 of file stack.h.

Constructor & Destructor Documentation

◆ Stack()

template<typename Allocator>
internal::Stack< Allocator >::Stack ( Allocator * allocator,
size_t stackCapacity )
inline

Definition at line 41 of file stack.h.

◆ ~Stack()

template<typename Allocator>
internal::Stack< Allocator >::~Stack ( )
inline

Definition at line 62 of file stack.h.

Member Function Documentation

◆ Bottom() [1/2]

template<typename Allocator>
template<typename T>
T * internal::Stack< Allocator >::Bottom ( )
inline

Definition at line 163 of file stack.h.

◆ Bottom() [2/2]

template<typename Allocator>
template<typename T>
const T * internal::Stack< Allocator >::Bottom ( ) const
inline

Definition at line 166 of file stack.h.

◆ Clear()

template<typename Allocator>
void internal::Stack< Allocator >::Clear ( )
inline

Definition at line 99 of file stack.h.

◆ Empty()

template<typename Allocator>
bool internal::Stack< Allocator >::Empty ( ) const
inline

Definition at line 177 of file stack.h.

◆ End() [1/2]

template<typename Allocator>
template<typename T>
T * internal::Stack< Allocator >::End ( )
inline

Definition at line 157 of file stack.h.

◆ End() [2/2]

template<typename Allocator>
template<typename T>
const T * internal::Stack< Allocator >::End ( ) const
inline

Definition at line 160 of file stack.h.

◆ GetAllocator()

template<typename Allocator>
Allocator & internal::Stack< Allocator >::GetAllocator ( )
inline

Definition at line 172 of file stack.h.

◆ GetCapacity()

template<typename Allocator>
size_t internal::Stack< Allocator >::GetCapacity ( ) const
inline

Definition at line 179 of file stack.h.

◆ GetSize()

template<typename Allocator>
size_t internal::Stack< Allocator >::GetSize ( ) const
inline

Definition at line 178 of file stack.h.

◆ HasAllocator()

template<typename Allocator>
bool internal::Stack< Allocator >::HasAllocator ( ) const
inline

Definition at line 168 of file stack.h.

◆ Pop()

template<typename Allocator>
template<typename T>
T * internal::Stack< Allocator >::Pop ( size_t count)
inline

Definition at line 138 of file stack.h.

◆ Push()

template<typename Allocator>
template<typename T>
RAPIDJSON_FORCEINLINE T * internal::Stack< Allocator >::Push ( size_t count = 1)
inline

Definition at line 123 of file stack.h.

◆ PushUnsafe()

template<typename Allocator>
template<typename T>
RAPIDJSON_FORCEINLINE T * internal::Stack< Allocator >::PushUnsafe ( size_t count = 1)
inline

Definition at line 129 of file stack.h.

◆ Reserve()

template<typename Allocator>
template<typename T>
RAPIDJSON_FORCEINLINE void internal::Stack< Allocator >::Reserve ( size_t count = 1)
inline

Definition at line 116 of file stack.h.

◆ ShrinkToFit()

template<typename Allocator>
void internal::Stack< Allocator >::ShrinkToFit ( )
inline

Definition at line 101 of file stack.h.

◆ Swap()

template<typename Allocator>
void internal::Stack< Allocator >::Swap ( Stack< Allocator > & rhs)
inline

Definition at line 90 of file stack.h.

◆ Top() [1/2]

template<typename Allocator>
template<typename T>
T * internal::Stack< Allocator >::Top ( )
inline

Definition at line 145 of file stack.h.

◆ Top() [2/2]

template<typename Allocator>
template<typename T>
const T * internal::Stack< Allocator >::Top ( ) const
inline

Definition at line 151 of file stack.h.


The documentation for this class was generated from the following file: