mCRL2
Loading...
Searching...
No Matches
atermpp::stack< T, Container > Class Template Reference

A deque class in which aterms can be stored. More...

#include <stack.h>

Public Types

typedef Container::allocator_type allocator_type
 Standard typedefs.
 
typedef Container::value_type value_type
 
typedef Container::size_type size_type
 
typedef Container::reference reference
 
typedef Container::const_reference const_reference
 
typedef Container::iterator iterator
 
typedef Container::const_iterator const_iterator
 

Public Member Functions

 stack (const Container &cont=Container())
 Constructor.
 
 stack (Container &&cont)
 Constructor.
 
 stack (const stack &other)=default
 
 stack (stack &&other)=default
 
template<class InputIt >
 stack (InputIt first, InputIt last)
 Constructor.
 
template<class InputIterator >
 stack (InputIterator first, InputIterator last, const allocator_type &alloc=allocator_type())
 Constructor.
 
template<class Alloc >
 stack (const Alloc &alloc)
 
template<class Alloc >
 stack (const Container &cont, const Alloc &alloc)
 
template<class Alloc >
 stack (Container &&cont, const Alloc &alloc)
 
template<class Alloc >
 stack (const stack &other, const Alloc &alloc)
 
template<class Alloc >
 stack (stack &&other, const Alloc &alloc)
 
template<class InputIt , class Alloc >
 stack (InputIt first, InputIt last, const Alloc &alloc)
 
stackoperator= (const stack &other)=default
 Copy assignment operator.
 
stackoperator= (stack &&other)=default
 Move assignment operator.
 
 ~stack ()=default
 Standard destructor.
 
reference top ()
 
const_reference top () const
 
bool empty () const
 
size_type size () const
 
void push (const value_type &value)
 
void push (value_type &&value)
 
template<class... Args>
void emplace (Args &&... args)
 
void pop ()
 
void swap (stack &other) noexcept
 
void mark (std::stack< std::reference_wrapper< detail::_aterm > > &todo) const
 

Private Attributes

Container m_container
 

Detailed Description

template<class T, class Container = atermpp::deque< T >>
class atermpp::stack< T, Container >

A deque class in which aterms can be stored.

Definition at line 33 of file stack.h.

Member Typedef Documentation

◆ allocator_type

template<class T , class Container = atermpp::deque< T >>
typedef Container::allocator_type atermpp::stack< T, Container >::allocator_type

Standard typedefs.

Definition at line 41 of file stack.h.

◆ const_iterator

template<class T , class Container = atermpp::deque< T >>
typedef Container::const_iterator atermpp::stack< T, Container >::const_iterator

Definition at line 47 of file stack.h.

◆ const_reference

template<class T , class Container = atermpp::deque< T >>
typedef Container::const_reference atermpp::stack< T, Container >::const_reference

Definition at line 45 of file stack.h.

◆ iterator

template<class T , class Container = atermpp::deque< T >>
typedef Container::iterator atermpp::stack< T, Container >::iterator

Definition at line 46 of file stack.h.

◆ reference

template<class T , class Container = atermpp::deque< T >>
typedef Container::reference atermpp::stack< T, Container >::reference

Definition at line 44 of file stack.h.

◆ size_type

template<class T , class Container = atermpp::deque< T >>
typedef Container::size_type atermpp::stack< T, Container >::size_type

Definition at line 43 of file stack.h.

◆ value_type

template<class T , class Container = atermpp::deque< T >>
typedef Container::value_type atermpp::stack< T, Container >::value_type

Definition at line 42 of file stack.h.

Constructor & Destructor Documentation

◆ stack() [1/12]

template<class T , class Container = atermpp::deque< T >>
atermpp::stack< T, Container >::stack ( const Container &  cont = Container())
inlineexplicit

Constructor.

Definition at line 50 of file stack.h.

◆ stack() [2/12]

template<class T , class Container = atermpp::deque< T >>
atermpp::stack< T, Container >::stack ( Container &&  cont)
inlineexplicit

Constructor.

Definition at line 55 of file stack.h.

◆ stack() [3/12]

template<class T , class Container = atermpp::deque< T >>
atermpp::stack< T, Container >::stack ( const stack< T, Container > &  other)
default

◆ stack() [4/12]

template<class T , class Container = atermpp::deque< T >>
atermpp::stack< T, Container >::stack ( stack< T, Container > &&  other)
default

◆ stack() [5/12]

template<class T , class Container = atermpp::deque< T >>
template<class InputIt >
atermpp::stack< T, Container >::stack ( InputIt  first,
InputIt  last 
)
inline

Constructor.

Definition at line 64 of file stack.h.

◆ stack() [6/12]

template<class T , class Container = atermpp::deque< T >>
template<class InputIterator >
atermpp::stack< T, Container >::stack ( InputIterator  first,
InputIterator  last,
const allocator_type alloc = allocator_type() 
)
inline

Constructor.

Definition at line 70 of file stack.h.

◆ stack() [7/12]

template<class T , class Container = atermpp::deque< T >>
template<class Alloc >
atermpp::stack< T, Container >::stack ( const Alloc &  alloc)
inlineexplicit

Definition at line 76 of file stack.h.

◆ stack() [8/12]

template<class T , class Container = atermpp::deque< T >>
template<class Alloc >
atermpp::stack< T, Container >::stack ( const Container &  cont,
const Alloc &  alloc 
)
inline

Definition at line 81 of file stack.h.

◆ stack() [9/12]

template<class T , class Container = atermpp::deque< T >>
template<class Alloc >
atermpp::stack< T, Container >::stack ( Container &&  cont,
const Alloc &  alloc 
)
inline

Definition at line 86 of file stack.h.

◆ stack() [10/12]

template<class T , class Container = atermpp::deque< T >>
template<class Alloc >
atermpp::stack< T, Container >::stack ( const stack< T, Container > &  other,
const Alloc &  alloc 
)
inline

Definition at line 91 of file stack.h.

◆ stack() [11/12]

template<class T , class Container = atermpp::deque< T >>
template<class Alloc >
atermpp::stack< T, Container >::stack ( stack< T, Container > &&  other,
const Alloc &  alloc 
)
inline

Definition at line 96 of file stack.h.

◆ stack() [12/12]

template<class T , class Container = atermpp::deque< T >>
template<class InputIt , class Alloc >
atermpp::stack< T, Container >::stack ( InputIt  first,
InputIt  last,
const Alloc &  alloc 
)
inline

Definition at line 101 of file stack.h.

◆ ~stack()

template<class T , class Container = atermpp::deque< T >>
atermpp::stack< T, Container >::~stack ( )
default

Standard destructor.

Member Function Documentation

◆ emplace()

template<class T , class Container = atermpp::deque< T >>
template<class... Args>
void atermpp::stack< T, Container >::emplace ( Args &&...  args)
inline

Definition at line 145 of file stack.h.

◆ empty()

template<class T , class Container = atermpp::deque< T >>
bool atermpp::stack< T, Container >::empty ( ) const
inline

Definition at line 124 of file stack.h.

◆ mark()

template<class T , class Container = atermpp::deque< T >>
void atermpp::stack< T, Container >::mark ( std::stack< std::reference_wrapper< detail::_aterm > > &  todo) const
inline

Definition at line 160 of file stack.h.

◆ operator=() [1/2]

template<class T , class Container = atermpp::deque< T >>
stack & atermpp::stack< T, Container >::operator= ( const stack< T, Container > &  other)
default

Copy assignment operator.

◆ operator=() [2/2]

template<class T , class Container = atermpp::deque< T >>
stack & atermpp::stack< T, Container >::operator= ( stack< T, Container > &&  other)
default

Move assignment operator.

◆ pop()

template<class T , class Container = atermpp::deque< T >>
void atermpp::stack< T, Container >::pop ( )
inline

Definition at line 150 of file stack.h.

◆ push() [1/2]

template<class T , class Container = atermpp::deque< T >>
void atermpp::stack< T, Container >::push ( const value_type value)
inline

Definition at line 134 of file stack.h.

◆ push() [2/2]

template<class T , class Container = atermpp::deque< T >>
void atermpp::stack< T, Container >::push ( value_type &&  value)
inline

Definition at line 139 of file stack.h.

◆ size()

template<class T , class Container = atermpp::deque< T >>
size_type atermpp::stack< T, Container >::size ( ) const
inline

Definition at line 129 of file stack.h.

◆ swap()

template<class T , class Container = atermpp::deque< T >>
void atermpp::stack< T, Container >::swap ( stack< T, Container > &  other)
inlinenoexcept

Definition at line 155 of file stack.h.

◆ top() [1/2]

template<class T , class Container = atermpp::deque< T >>
reference atermpp::stack< T, Container >::top ( )
inline

Definition at line 114 of file stack.h.

◆ top() [2/2]

template<class T , class Container = atermpp::deque< T >>
const_reference atermpp::stack< T, Container >::top ( ) const
inline

Definition at line 119 of file stack.h.

Member Data Documentation

◆ m_container

template<class T , class Container = atermpp::deque< T >>
Container atermpp::stack< T, Container >::m_container
private

Definition at line 36 of file stack.h.


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