std::stack
From cppreference.com
                    
                                        
                    
                    
                                                            
                    | Defined in header <stack>
  | ||
| template<     class T, | ||
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.
| Contents | 
[edit] 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 | 
[edit] Member functions
| constructs the stack (public member function) | |
| destructs the stack (public member function) | |
| assigns values to the container adaptor (public member function) | |
| Element access | |
| access the top element (public member function) | |
| Capacity | |
| checks whether the underlying container is empty (public member function) | |
| returns the number of elements (public member function) | |
| Modifiers | |
| inserts element at the top (public member function) | |
| (C++11) | constructs element in-place at the top (public member function) | 
| removes the top element (public member function) | |
| swaps the contents (public member function) | |
| Member objects | |
| Container c | the underlying container (protected member object) | 
[edit] Non-member functions
| lexicographically compares the values in the stack (function template) | |
| specializes the std::swap algorithm (function template) | |
[edit] Helper classes
| specializes the std::uses_allocator type trait (function template) | |

