Libsaki
Core library of Pancake Mahjong
Public Types | Public Member Functions | Protected Attributes | Static Protected Attributes | List of all members
saki::util::StactorBase< T, MAX > Class Template Reference
Inheritance diagram for saki::util::StactorBase< T, MAX >:
Inheritance graph
[legend]

Public Types

using value_type = T
 enable std funcs
 
using iterator = T *
 
using const_iterator = const T *
 

Public Member Functions

 StactorBase (std::initializer_list< T > inits) noexcept
 
const T * data () const noexcept
 
T * data () noexcept
 
T & operator[] (size_t i) noexcept
 
const T & operator[] (size_t i) const noexcept
 
T & at (size_t i) noexcept
 
const T & at (size_t i) const noexcept
 
bool empty () const noexcept
 
bool full () const noexcept
 
size_t size () const noexcept
 
int iSize () const noexcept
 
T * begin () noexcept
 
const T * begin () const noexcept
 
T * end () noexcept
 
const T * end () const noexcept
 
Range< T > range () const noexcept
 
T & front () noexcept
 
const T & front () const noexcept
 
T & back () noexcept
 
const T & back () const noexcept
 
template<typename... Args>
void emplaceBack (Args &&... elem) noexcept
 
void pushBack (const T &elem) noexcept
 
void pushBack (T &&elem) noexcept
 
void pushBack (const Range< T > &range) noexcept
 
void push_back (const T &elem) noexcept
 alias to enable std::back_inserter
 
void push_back (T &&elem) noexcept
 alias to enable std::back_inserter
 
void popBack () noexcept
 
void clear () noexcept
 

Protected Attributes

std::aligned_storage_t< sizeof(T), ALIGN > mData [MAX]
 
size_t mSize = 0
 

Static Protected Attributes

static const size_t ALIGN = std::alignment_of_v<T>
 

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