30#ifndef _STLP_INTERNAL_DBG_DEQUE_H
31#define _STLP_INTERNAL_DBG_DEQUE_H
33#ifndef _STLP_DBG_ITERATOR_H
37#define _STLP_NON_DBG_DEQUE _STLP_PRIV _STLP_NON_DBG_NAME(deque) <_Tp,_Alloc>
41#if defined (_STLP_DEBUG_USE_DISTINCT_VALUE_TYPE_HELPERS)
42template <
class _Tp,
class _Alloc>
45template <
class _Tp,
class _Alloc>
50template <
class _Tp, _STLP_DFL_TMPL_PARAM(_Alloc, allocator<_Tp>) >
56#if defined (_STLP_USE_PARTIAL_SPEC_WORKAROUND)
96 const_reverse_iterator
rbegin()
const {
return const_reverse_iterator(
end()); }
97 const_reverse_iterator
rend()
const {
return const_reverse_iterator(
begin()); }
135#if !defined(_STLP_DONT_SUP_DFLT_PARAM)
142#if defined (_STLP_DONT_SUP_DFLT_PARAM)
147#if !defined (_STLP_NO_MOVE_SEMANTIC)
151# if defined (_STLP_NO_EXTENSIONS) || (_STLP_DEBUG_LEVEL == _STLP_STANDARD_DBG_LEVEL)
152 src.get()._M_iter_list._Invalidate_all();
159#if defined (_STLP_MEMBER_TEMPLATES)
160 template <
class _InputIterator>
161 deque(_InputIterator __first, _InputIterator
__last,
167# if defined (_STLP_NEEDS_EXTRA_TEMPLATE_CONSTRUCTORS)
168 template <
class _InputIterator>
169 deque(_InputIterator __first, _InputIterator
__last)
207#if defined (_STLP_USE_PARTIAL_SPEC_WORKAROUND) && !defined (_STLP_FUNCTION_TMPL_PARTIAL_ORDER)
208 void _M_swap_workaround(
_Self& __x) {
swap(__x); }
217#if defined (_STLP_MEMBER_TEMPLATES)
218 template <
class _InputIterator>
219 void assign(_InputIterator __first, _InputIterator
__last) {
239#if !defined (_STLP_DONT_SUP_DFLT_PARAM) && !defined (_STLP_NO_ANACHRONISMS)
248#if defined (_STLP_DONT_SUP_DFLT_PARAM) && !defined (_STLP_NO_ANACHRONISMS)
255#if !defined (_STLP_DONT_SUP_DFLT_PARAM) && !defined (_STLP_NO_ANACHRONISMS)
264#if defined (_STLP_DONT_SUP_DFLT_PARAM) && !defined (_STLP_NO_ANACHRONISMS)
285#if !defined (_STLP_DONT_SUP_DFLT_PARAM) && !defined (_STLP_NO_ANACHRONISMS)
295#if defined (_STLP_DONT_SUP_DFLT_PARAM) && !defined (_STLP_NO_ANACHRONISMS)
309#if defined (_STLP_MEMBER_TEMPLATES)
310 template <
class _InputIterator>
322#if !defined (_STLP_MEMBER_TEMPLATES)
332#if !defined (_STLP_MEMBER_TEMPLATES) || !defined (_STLP_NO_METHOD_SPECIALIZATION)
354#if !defined (_STLP_DONT_SUP_DFLT_PARAM)
359 if (__new_size !=
size()) {
360 if ((__new_size >
size()) || (__new_size <
size() - 1))
368#if defined (_STLP_DONT_SUP_DFLT_PARAM)
380 if (__pos._M_iterator == tmp)
408#undef _STLP_NON_DBG_DEQUE
#define random_access_iterator_tag
_STLP_INLINE_LOOP _InputIter __last
_STLP_INLINE_LOOP _InputIter const _Tp & __val
#define _STLP_DEFAULT_CONSTRUCTED(_TTp)
#define _STLP_DEBUG_CHECK(expr)
#define _STLP_VERBOSE_ASSERT(expr, diagnostic)
_STLP_MOVE_TO_PRIV_NAMESPACE const _InputIterator const input_iterator_tag &_InputIterator __it(__first)
void get(int argc, const char *argv[])
const_iterator end() const
const_reference back() const
iterator erase(iterator __pos)
void _Invalidate_iterators(const iterator &__first, const iterator &__last)
size_type max_size() const
reverse_iterator rbegin()
void _Invalidate_iterator(const iterator &__it)
void push_back(const value_type &__t=_STLP_DEFAULT_CONSTRUCTED(_Tp))
deque(const_iterator __first, const_iterator __last, const allocator_type &__a=allocator_type())
_STLP_PRIV __construct_checker< _STLP_NON_DBG_DEQUE > _ConstructCheck
_Self & operator=(const _Self &__x)
const_reverse_iterator rend() const
void resize(size_type __new_size, const value_type &__x=_Tp())
void push_front(const value_type &__t=_STLP_DEFAULT_CONSTRUCTED(_Tp))
deque(const allocator_type &__a=allocator_type())
_STLP_NON_DBG_DEQUE _Base
_Base::const_iterator const_iterator
const_reverse_iterator rbegin() const
const_reference front() const
deque< _Tp, _Alloc > _Self
iterator erase(iterator __first, iterator __last)
reference operator[](size_type __n)
const_reference operator[](size_type __n) const
void push_back(const value_type &__t=_Tp())
deque(__move_source< _Self > src)
_STLP_DECLARE_RANDOM_ACCESS_REVERSE_ITERATORS
_STLP_PRIV __owned_list _M_iter_list
_Base::allocator_type allocator_type
const value_type & const_reference
_STLP_PRIV _Deque_base< _Tp, _Alloc > _Base
const_reference at(size_type __n) const
allocator_type get_allocator() const
void assign(size_type __n, const _Tp &__val)
void insert(iterator __pos, const value_type *__first, const value_type *__last)
void assign(const value_type *__first, const value_type *__last)
void insert(iterator __pos, iterator __first, iterator __last)
const_iterator begin() const
void push_front(const value_type &__t=_Tp())
void insert(iterator __pos, size_type __n, const value_type &__x)
deque< _Tp, _Alloc > _Self
deque(const value_type *__first, const value_type *__last, const allocator_type &__a=allocator_type())
void assign(const_iterator __first, const_iterator __last)
deque(size_type __n, const value_type &__x=_Tp(), const allocator_type &__a=allocator_type())
iterator insert(iterator __pos, const value_type &__x=_Tp())
reference at(size_type __n)
void resize(size_type __new_size, const value_type &__x=_STLP_DEFAULT_CONSTRUCTED(_Tp))
void insert(iterator __pos, const_iterator __first, const_iterator __last)
#define _STLP_NON_DBG_DEQUE
_Iterator _Non_Dbg_iter(_Iterator __it)
bool _Dereferenceable(const _Iterator &__it)
#define __IMPORT_CONTAINER_TYPEDEFS(_Super)
#define _STLP_ALLOCATOR_TYPE_DFL
#define _STLP_BEGIN_NAMESPACE
#define _STLP_END_NAMESPACE