bux API Reference 1.9.0
Static library of whatever are seen required in general purpose but not directly supported from Modern C++. Or whatever reusable originated from my side projects.
Loading...
Searching...
No Matches
bux::C_StackBase< T > Class Template Reference

Any given type is safely instantiated even though C_DtorFreeStack<T> does better for bytewise types. More...

#include <Xtack.h>

Inheritance diagram for bux::C_StackBase< T >:

Public Types

typedef size_t size_type
 
typedef T value_type
 
typedef T * iterator
 
typedef const T * const_iterator
 

Public Member Functions

 C_StackBase (size_t minAlloc=4) noexcept
 
 ~C_StackBase ()
 
 C_StackBase (const C_StackBase &)=delete
 
auto & operator[] (size_type i) noexcept
 
auto & operator[] (size_type i) const noexcept
 
auto & operator= (const C_StackBase &other)
 
template<class T_Iter >
void assign (T_Iter beg, T_Iter end)
 
auto begin () const noexcept
 
auto begin () noexcept
 
auto capacity () const
 
void clear ()
 
bool empty () const noexcept
 
auto end () const noexcept
 
auto end () noexcept
 
void pop (size_t n=1)
 
auto & push ()
 
template<class T_Iter >
void push (T_Iter beg, T_Iter end)
 
auto size () const noexcept
 
auto & top ()
 
auto & top () const
 

Protected Member Functions

auto copyMinAlloc () const noexcept
 
T * pushRaw ()
 

Detailed Description

template<class T>
class bux::C_StackBase< T >

Any given type is safely instantiated even though C_DtorFreeStack<T> does better for bytewise types.

Definition at line 17 of file Xtack.h.

Member Typedef Documentation

◆ const_iterator

template<class T >
const T* bux::C_StackBase< T >::const_iterator

Definition at line 25 of file Xtack.h.

◆ iterator

template<class T >
T* bux::C_StackBase< T >::iterator

Definition at line 24 of file Xtack.h.

◆ size_type

template<class T >
size_t bux::C_StackBase< T >::size_type

Definition at line 22 of file Xtack.h.

◆ value_type

template<class T >
T bux::C_StackBase< T >::value_type

Definition at line 23 of file Xtack.h.

Constructor & Destructor Documentation

◆ C_StackBase() [1/2]

template<class T >
bux::C_StackBase< T >::C_StackBase ( size_t minAlloc = 4)
explicitnoexcept

Definition at line 371 of file Xtack.h.

◆ ~C_StackBase()

template<class T >
bux::C_StackBase< T >::~C_StackBase ( )

Definition at line 377 of file Xtack.h.

◆ C_StackBase() [2/2]

template<class T >
bux::C_StackBase< T >::C_StackBase ( const C_StackBase< T > & )
delete

Member Function Documentation

◆ assign()

template<class T >
template<class T_Iter >
void bux::C_StackBase< T >::assign ( T_Iter beg,
T_Iter end )
inline

◆ begin() [1/2]

◆ begin() [2/2]

template<class T >
auto bux::C_StackBase< T >::begin ( )
inlinenoexcept

Definition at line 47 of file Xtack.h.

◆ capacity()

template<class T >
auto bux::C_StackBase< T >::capacity ( ) const
inline

Definition at line 49 of file Xtack.h.

◆ clear()

template<class T >
void bux::C_StackBase< T >::clear ( )

Definition at line 384 of file Xtack.h.

Referenced by bux::C_StackBase< T >::assign().

Here is the caller graph for this function:

◆ copyMinAlloc()

template<class T >
auto bux::C_StackBase< T >::copyMinAlloc ( ) const
inlineprotectednoexcept

Definition at line 78 of file Xtack.h.

◆ empty()

template<class T >
bool bux::C_StackBase< T >::empty ( ) const
inlinenoexcept

Definition at line 53 of file Xtack.h.

Referenced by bux::operator<<().

Here is the caller graph for this function:

◆ end() [1/2]

◆ end() [2/2]

template<class T >
auto bux::C_StackBase< T >::end ( )
inlinenoexcept

Definition at line 57 of file Xtack.h.

◆ operator=()

template<class T >
auto & bux::C_StackBase< T >::operator= ( const C_StackBase< T > & other)
inline

◆ operator[]() [1/2]

template<class T >
auto & bux::C_StackBase< T >::operator[] ( size_type i) const
inlinenoexcept

Definition at line 35 of file Xtack.h.

◆ operator[]() [2/2]

template<class T >
auto & bux::C_StackBase< T >::operator[] ( size_type i)
inlinenoexcept

Definition at line 33 of file Xtack.h.

◆ pop()

template<class T >
void bux::C_StackBase< T >::pop ( size_t n = 1)

Definition at line 391 of file Xtack.h.

◆ push() [1/2]

template<class T >
auto & bux::C_StackBase< T >::push ( )
inline

Definition at line 61 of file Xtack.h.

References bux::C_StackBase< T >::pushRaw().

Referenced by bux::C_StackBase< T >::assign(), bux::C_ResourceStack< T >::push(), bux::C_Stack< T >::push(), and bux::C_Stack< T >::push().

Here is the caller graph for this function:

◆ push() [2/2]

template<class T >
template<class T_Iter >
void bux::C_StackBase< T >::push ( T_Iter beg,
T_Iter end )

Definition at line 403 of file Xtack.h.

◆ pushRaw()

template<class T >
T * bux::C_StackBase< T >::pushRaw ( )
protected

Definition at line 416 of file Xtack.h.

Referenced by bux::C_ResourceStack< T >::push(), bux::C_Stack< T >::push(), and bux::C_StackBase< T >::push().

Here is the caller graph for this function:

◆ size()

template<class T >
auto bux::C_StackBase< T >::size ( ) const
inlinenoexcept

Definition at line 68 of file Xtack.h.

Referenced by bux::operator<<(), and bux::operator<<().

Here is the caller graph for this function:

◆ top() [1/2]

template<class T >
auto & bux::C_StackBase< T >::top ( )
inline

Definition at line 70 of file Xtack.h.

Referenced by bux::LR1::C_Parser::getFinalLex().

Here is the caller graph for this function:

◆ top() [2/2]

template<class T >
auto & bux::C_StackBase< T >::top ( ) const
inline

Definition at line 72 of file Xtack.h.


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