Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
std::stack(3)		      C++ Standard Libary		 std::stack(3)

NAME
       std::stack - std::stack

Synopsis
	  Defined in header <stack>
	  template<

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

	  > class stack;

	  The  std::stack class	is a container adaptor that gives the program-
       mer the
	  functionality	of a stack - specifically, a LIFO (last-in, first-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.

Template parameters
		      The type of the stored elements.
	  T	    - The behavior is undefined	if T is	not the	same type as
		      Container::value_type.
		      (since C++17)
		      The type of the underlying container to use to store the
       elements. The
		      container	must satisfy the requirements of  SequenceCon-
       tainer.
		      Additionally,  it	 must  provide the following functions
       with the	usual
		      semantics:

			* back()
	  Container -	* push_back()
			* pop_back()

		      The  standard  containers	 std::vector,  std::deque  and
       std::list satisfy
		      these requirements. By default, if no container class is
       specified for a
		      particular  stack	class instantiation, the standard con-
       tainer std::deque
		      is used.

Member types
	  Member type	  Definition
	  container_type  Container
	  value_type	  Container::value_type
	  size_type	  Container::size_type
	  reference	  Container::reference
	  const_reference Container::const_reference

Member functions
	  constructor	constructs the stack
			(public	member function)
	  destructor	destructs the stack
			(public	member function)
	  operator=	assigns	values to the container	adaptor
			(public	member function)

Element	access
	  top		accesses the top element
			(public	member function)

Capacity
	  empty		checks whether the underlying container	is empty
			(public	member function)
	  size		returns	the number of elements
			(public	member function)

Modifiers
	  push		inserts	element	at the top
			(public	member function)
	  emplace	constructs element in-place at the top
	  (C++11)	(public	member function)
	  pop		removes	the top	element
			(public	member function)
	  swap		swaps the contents
	  (C++11)	(public	member function)

Member objects
	  Container c	the underlying container
			(protected member object)

Non-member functions
	  operator==
	  operator!=
	  operator<
	  operator<=		lexicographically compares the values  in  the
       stack
	  operator>		(function template)
	  operator>=
	  operator<=>
	  (C++20)
	  std::swap(std::stack)	specializes the	std::swap algorithm
	  (C++11)		(function template)

Helper classes
	  std::uses_allocator<std::stack>  specializes the std::uses_allocator
       type trait
	  (C++11)			  (class template specialization)

	 Deduction guides(since	C++17)

http://cppreference.com		  2022.07.31			 std::stack(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::stack&sektion=3&manpath=FreeBSD+Ports+15.0>

home | help