stack (STL/CLR)
The new home for Visual Studio documentation is Visual Studio 2017 Documentation on docs.microsoft.com.
The latest version of this topic can be found at stack (STL/CLR).
The template class describes an object that controls a varying-length sequence of elements that has last-in first-out access. You use the container adapter stack
to manage an underlying container as a push-down stack.
In the description below, GValue
is the same as Value
unless the latter is a ref type, in which case it is Value^
. Similarly, GContainer
is the same as Container
unless the latter is a ref type, in which case it is Container^
.
Syntax
template<typename Value,
typename Container>
ref class stack
: public
System::ICloneable,
Microsoft::VisualC::StlClr::IStack<GValue, GContainer>
{ ..... };
Parameters
Value
The type of an element in the controlled sequence.
Container
The type of the underlying container.
Members
Type Definition | Description |
---|---|
stack::const_reference (STL/CLR) | The type of a constant reference to an element. |
stack::container_type (STL/CLR) | The type of the underlying container. |
stack::difference_type (STL/CLR) | The type of a signed distance between two elements. |
stack::generic_container (STL/CLR) | The type of the generic interface for the container adapter. |
stack::generic_value (STL/CLR) | The type of an element for the generic interface for the container adapter. |
stack::reference (STL/CLR) | The type of a reference to an element. |
stack::size_type (STL/CLR) | The type of a signed distance between two elements. |
stack::value_type (STL/CLR) | The type of an element. |
Member Function | Description |
---|---|
stack::assign (STL/CLR) | Replaces all elements. |
stack::empty (STL/CLR) | Tests whether no elements are present. |
stack::get_container (STL/CLR) | Accesses the underlying container. |
stack::pop (STL/CLR) | Removes the last element. |
stack::push (STL/CLR) | Adds a new last element. |
stack::size (STL/CLR) | Counts the number of elements. |
stack::stack (STL/CLR) | Constructs a container object. |
stack::top (STL/CLR) | Accesses the last element. |
stack::to_array (STL/CLR) | Copies the controlled sequence to a new array. |
Property | Description |
---|---|
stack::top_item (STL/CLR) | Accesses the last element. |
Operator | Description |
---|---|
stack::operator= (STL/CLR) | Replaces the controlled sequence. |
operator!= (stack) (STL/CLR) | Determines if a stack object is not equal to another stack object. |
operator< (stack) (STL/CLR) | Determines if a stack object is less than another stack object. |
operator<= (stack) (STL/CLR) | Determines if a stack object is less than or equal to another stack object. |
operator== (stack) (STL/CLR) | Determines if a stack object is equal to another stack object. |
operator> (stack) (STL/CLR) | Determines if a stack object is greater than another stack object. |
operator>= (stack) (STL/CLR) | Determines if a stack object is greater than or equal to another stack object. |
Interfaces
Interface | Description |
---|---|
ICloneable | Duplicate an object. |
IStack<Value, Container> | Maintain generic container adapter. |
Remarks
The object allocates and frees storage for the sequence it controls through an underlying container, of type Container
, that stores Value
elements and grows on demand. The object restricts access to pushing and popping just the last element, implementing a last-in first-out queue (also known as a LIFO queue, or stack).
Requirements
Header: <cliext/stack>
Namespace: cliext
See Also
deque (STL/CLR)
list (STL/CLR)
priority_queue (STL/CLR)
queue (STL/CLR)
vector (STL/CLR)
STL/CLR Library Reference