30#ifndef _STLP_INTERNAL_STACK_H
31#define _STLP_INTERNAL_STACK_H
33#ifndef _STLP_INTERNAL_DEQUE_H
39#if !defined ( _STLP_LIMITED_DEFAULT_TEMPLATES )
40template <
class _Tp,
class _Sequence = deque<_Tp> >
41#elif defined ( _STLP_MINIMUM_DEFAULT_TEMPLATE_PARAMS )
42# define _STLP_STACK_ARGS _Tp
45template <
class _Tp,
class _Sequence>
48#
if defined (_STLP_USE_PARTIAL_SPEC_WORKAROUND)
56#ifdef _STLP_STACK_ARGS
75 explicit stack(
const _Sequence& __s) :
c(__s) {}
77#if !defined (_STLP_NO_MOVE_SEMANTIC)
82 bool empty()
const {
return c.empty(); }
87 void pop() {
c.pop_back(); }
88 const _Sequence&
_Get_s()
const {
return c; }
89#if defined (_STLP_USE_PARTIAL_SPEC_WORKAROUND) && !defined (_STLP_FUNCTION_TMPL_PARTIAL_ORDER)
90 void _M_swap_workaround(
_Self& __x) {
98#ifndef _STLP_STACK_ARGS
99# define _STLP_STACK_ARGS _Tp, _Sequence
100# define _STLP_STACK_HEADER_ARGS class _Tp, class _Sequence
102# define _STLP_STACK_HEADER_ARGS class _Tp
105template < _STLP_STACK_HEADER_ARGS >
110template < _STLP_STACK_HEADER_ARGS >
117#undef _STLP_STACK_ARGS
118#undef _STLP_STACK_HEADER_ARGS
120#if defined (_STLP_CLASS_PARTIAL_SPECIALIZATION) && !defined (_STLP_NO_MOVE_SEMANTIC)
121template <
class _Tp,
class _Sequence>
_STLP_TYPENAME_ON_RETURN_TYPE _MoveSourceTraits< _Tp >::_Type _AsMoveSource(_Tp &src)
bool _STLP_CALL operator<(const stack< _STLP_STACK_ARGS > &__x, const stack< _STLP_STACK_ARGS > &__y)
bool _STLP_CALL operator==(const stack< _STLP_STACK_ARGS > &__x, const stack< _STLP_STACK_ARGS > &__y)
void get(int argc, const char *argv[])
#define _STLP_RELOPS_OPERATORS(_TMPL, _TP)
#define _STLP_BEGIN_NAMESPACE
#define _STLP_END_NAMESPACE
stack(__move_source< _Self > src)
stack< _Tp, _Sequence > _Self
_Sequence::reference reference
_Sequence::value_type value_type
void push(const value_type &__x)
const _Sequence & _Get_s() const
stack(const _Sequence &__s)
const_reference top() const
_Sequence::const_reference const_reference
_Sequence::size_type size_type