102 typedef typename _Sequence::value_type _Sequence_value_type;
103#if __cplusplus < 201103L
104 __glibcxx_class_requires(_Tp, _SGIAssignableConcept)
105 __glibcxx_class_requires(_Sequence, _BackInsertionSequenceConcept)
107 __glibcxx_class_requires2(_Tp, _Sequence_value_type, _SameTypeConcept)
109 template<
typename _Tp1,
typename _Seq1>
113 template<
typename _Tp1,
typename _Seq1>
117#if __cplusplus >= 201103L
118 template<
typename _Alloc>
119 using _Uses =
typename
124 typedef typename _Sequence::value_type value_type;
125 typedef typename _Sequence::reference reference;
126 typedef typename _Sequence::const_reference const_reference;
127 typedef typename _Sequence::size_type size_type;
128 typedef _Sequence container_type;
139#if __cplusplus < 201103L
141 stack(
const _Sequence& __c = _Sequence())
149 stack(_Sequence&& __c = _Sequence())
150 : c(
std::move(__c)) { }
152 template<
typename _Alloc,
typename _Requires = _Uses<_Alloc>>
154 stack(
const _Alloc& __a)
157 template<
typename _Alloc,
typename _Requires = _Uses<_Alloc>>
158 stack(
const _Sequence& __c,
const _Alloc& __a)
161 template<
typename _Alloc,
typename _Requires = _Uses<_Alloc>>
162 stack(_Sequence&& __c,
const _Alloc& __a)
163 : c(
std::move(__c), __a) { }
165 template<
typename _Alloc,
typename _Requires = _Uses<_Alloc>>
166 stack(
const stack& __q,
const _Alloc& __a)
169 template<
typename _Alloc,
typename _Requires = _Uses<_Alloc>>
170 stack(stack&& __q,
const _Alloc& __a)
171 : c(
std::move(__q.c), __a) { }
179 {
return c.empty(); }
193 __glibcxx_requires_nonempty();
204 __glibcxx_requires_nonempty();
219 { c.push_back(__x); }
221#if __cplusplus >= 201103L
223 push(value_type&& __x)
224 { c.push_back(std::move(__x)); }
226 template<
typename... _Args>
228 emplace(_Args&&... __args)
246 __glibcxx_requires_nonempty();
250#if __cplusplus >= 201103L
323 swap(stack<_Tp, _Seq>& __x, stack<_Tp, _Seq>& __y)