Aprepro 5.0x
Loading...
Searching...
No Matches
SEAMS::Parser::stack< T, S > Class Template Reference

A stack with random access from its top. More...

Classes

class  slice
 Present a slice of the top of a stack. More...
 

Public Types

typedef S::iterator iterator
 
typedef S::const_iterator const_iterator
 
typedef S::size_type size_type
 
typedef std::ptrdiff_t index_type
 

Public Member Functions

 stack (size_type n=200) YY_NOEXCEPT
 
const T & operator[] (index_type i) const
 
T & operator[] (index_type i)
 
void push (YY_MOVE_REF(T) t)
 
void pop (std::ptrdiff_t n=1) YY_NOEXCEPT
 Pop elements from the stack.
 
void clear () YY_NOEXCEPT
 Pop all elements from the stack.
 
index_type size () const YY_NOEXCEPT
 Number of elements on the stack.
 
const_iterator begin () const YY_NOEXCEPT
 Iterator on top of the stack (going downwards).
 
const_iterator end () const YY_NOEXCEPT
 Bottom of the stack.
 

Private Member Functions

 stack (const stack &)
 Non copyable.
 
stackoperator= (const stack &)
 Non copyable.
 

Private Attributes

seq_
 The wrapped container.
 

Detailed Description

template<typename T, typename S = std::vector<T>>
class SEAMS::Parser::stack< T, S >

A stack with random access from its top.

Member Typedef Documentation

◆ const_iterator

template<typename T , typename S = std::vector<T>>
S::const_iterator SEAMS::Parser::stack< T, S >::const_iterator

◆ index_type

template<typename T , typename S = std::vector<T>>
std::ptrdiff_t SEAMS::Parser::stack< T, S >::index_type

◆ iterator

template<typename T , typename S = std::vector<T>>
S::iterator SEAMS::Parser::stack< T, S >::iterator

◆ size_type

template<typename T , typename S = std::vector<T>>
S::size_type SEAMS::Parser::stack< T, S >::size_type

Constructor & Destructor Documentation

◆ stack() [1/2]

template<typename T , typename S = std::vector<T>>
SEAMS::Parser::stack< T, S >::stack ( size_type n = 200)
inline

◆ stack() [2/2]

template<typename T , typename S = std::vector<T>>
SEAMS::Parser::stack< T, S >::stack ( const stack< T, S > & )
private

Non copyable.

Member Function Documentation

◆ begin()

template<typename T , typename S = std::vector<T>>
const_iterator SEAMS::Parser::stack< T, S >::begin ( ) const
inline

Iterator on top of the stack (going downwards).

◆ clear()

template<typename T , typename S = std::vector<T>>
void SEAMS::Parser::stack< T, S >::clear ( )
inline

Pop all elements from the stack.

◆ end()

template<typename T , typename S = std::vector<T>>
const_iterator SEAMS::Parser::stack< T, S >::end ( ) const
inline

Bottom of the stack.

◆ operator=()

template<typename T , typename S = std::vector<T>>
stack & SEAMS::Parser::stack< T, S >::operator= ( const stack< T, S > & )
private

Non copyable.

◆ operator[]() [1/2]

template<typename T , typename S = std::vector<T>>
T & SEAMS::Parser::stack< T, S >::operator[] ( index_type i)
inline

Random access.

Index 0 returns the topmost element.

◆ operator[]() [2/2]

template<typename T , typename S = std::vector<T>>
const T & SEAMS::Parser::stack< T, S >::operator[] ( index_type i) const
inline

Random access.

Index 0 returns the topmost element.

◆ pop()

template<typename T , typename S = std::vector<T>>
void SEAMS::Parser::stack< T, S >::pop ( std::ptrdiff_t n = 1)
inline

Pop elements from the stack.

◆ push()

template<typename T , typename S = std::vector<T>>
void SEAMS::Parser::stack< T, S >::push ( YY_MOVE_REF(T) t)
inline

Steal the contents of t.

Close to move-semantics.

◆ size()

template<typename T , typename S = std::vector<T>>
index_type SEAMS::Parser::stack< T, S >::size ( ) const
inline

Number of elements on the stack.

Member Data Documentation

◆ seq_

template<typename T , typename S = std::vector<T>>
S SEAMS::Parser::stack< T, S >::seq_
private

The wrapped container.


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