Namespaces
Variants
Views
Actions

Difference between revisions of "cpp/container/stack"

From cppreference.com
< cpp‎ | container
Line 11: Line 11:
  
 
The class template acts as a wrapper to the underlying container - only a specific set of functions is provided. The stack pushes and pops the element from the back of the underlying container, known as the top of the stack.
 
The class template acts as a wrapper to the underlying container - only a specific set of functions is provided. The stack pushes and pops the element from the back of the underlying container, known as the top of the stack.
 +
 +
The only reason to use the {{c|std::stack}} instead of the underlying container is to make it clear that only stack operations are performed.
  
 
===Template parameters===
 
===Template parameters===

Revision as of 09:40, 26 April 2013

 
 
 
 
Defined in header <stack>
template<

    class T,
    class Container = std::deque<T>

> class stack;

The std::stack class is a container adapter that gives the programmer the functionality of a stack - specifically, a FILO (first-in, last-out) data structure.

The class template acts as a wrapper to the underlying container - only a specific set of functions is provided. The stack pushes and pops the element from the back of the underlying container, known as the top of the stack.

The only reason to use the std::stack instead of the underlying container is to make it clear that only stack operations are performed.

Contents

Template parameters

T - The type of the stored elements.
Container - The type of the underlying container to use to store the elements. The container must satisfy the requirements of Template:concept. Additionally, it must provide the following functions with the usual semantics:
  • back()
  • push_back()
  • pop_back()

The standard containers std::vector, std::deque and std::list satisfy these requirements.

Member types

Template:cpp/container/dcl list container typeTemplate:cpp/container/dcl list value typeTemplate:cpp/container/dcl list size typeTemplate:cpp/container/dcl list referenceTemplate:cpp/container/dcl list const reference
Member type Definition

Member functions

Template:cpp/container/dcl list constructorTemplate:cpp/container/dcl list destructorTemplate:cpp/container/dcl list operator=Template:cpp/container/dcl list topTemplate:cpp/container/dcl list emptyTemplate:cpp/container/dcl list sizeTemplate:cpp/container/dcl list pushTemplate:cpp/container/dcl list emplaceTemplate:cpp/container/dcl list popTemplate:cpp/container/dcl list swapTemplate:cpp/container/dcl list c
Element access
Capacity
Modifiers

Member objects

Non-member functions

Template:cpp/container/dcl list operator cmpTemplate:cpp/container/dcl list swap2

Helper classes

Template:cpp/container/dcl list uses allocator