30#ifndef _STLP_INTERNAL_DBG_VECTOR_H
31#define _STLP_INTERNAL_DBG_VECTOR_H
33#ifndef _STLP_DBG_ITERATOR_H
37#define _STLP_NON_DBG_VECTOR _STLP_PRIV _STLP_NON_DBG_NAME(vector) <_Tp, _Alloc>
41#if defined (_STLP_DEBUG_USE_DISTINCT_VALUE_TYPE_HELPERS)
42template <
class _Tp,
class _Alloc>
46template <
class _Tp,
class _Alloc>
54template <
class _Tp,
class _NcIt>
57template <
class _Tp,
class _NcIt>
67template <
class _Tp,
class _NcIt>
90 typedef _Bit_const_iterator::pointer
pointer;
97template <
class _Tp, _STLP_DFL_TMPL_PARAM(_Alloc, allocator<_Tp>) >
103#if defined (_STLP_USE_PARTIAL_SPEC_WORKAROUND)
118 _STLP_PRIV _DbgTraits<_STLP_PRIV _Vector_nonconst_traits<value_type, typename _Base::iterator> > >
iterator;
152 const_reverse_iterator
rbegin()
const {
return const_reverse_iterator(
end()); }
154 const_reverse_iterator
rend()
const {
return const_reverse_iterator(
begin()); }
177#if !defined(_STLP_DONT_SUP_DFLT_PARAM)
185#if defined(_STLP_DONT_SUP_DFLT_PARAM)
193#if !defined (_STLP_NO_MOVE_SEMANTIC)
197# if defined (_STLP_NO_EXTENSIONS) || (_STLP_DEBUG_LEVEL == _STLP_STANDARD_DBG_LEVEL)
198 src.get()._M_iter_list._Invalidate_all();
205#if defined (_STLP_MEMBER_TEMPLATES)
206 template <
class _InputIterator>
213# if defined (_STLP_NEEDS_EXTRA_TEMPLATE_CONSTRUCTORS)
214 template <
class _InputIterator>
269#if defined (_STLP_USE_PARTIAL_SPEC_WORKAROUND) && !defined (_STLP_FUNCTION_TMPL_PARTIAL_ORDER)
270 void _M_swap_workaround(
_Self& __x) {
swap(__x); }
273#if !defined(_STLP_DONT_SUP_DFLT_PARAM)
283#if defined(_STLP_DONT_SUP_DFLT_PARAM)
288#if defined (_STLP_MEMBER_TEMPLATES)
290 template <
class _InputIterator>
292 _InputIterator __first, _InputIterator
__last) {
301#if !defined (_STLP_MEMBER_TEMPLATES)
312#if !defined (_STLP_MEMBER_TEMPLATES) || !defined (_STLP_NO_METHOD_SPECIALIZATION)
358#if !defined (_STLP_DONT_SUP_DFLT_PARAM)
366 else if (__new_size <
size()) {
372#if defined (_STLP_DONT_SUP_DFLT_PARAM)
376#if defined (_STLP_MEMBER_TEMPLATES)
377 template <
class _InputIterator>
378 void assign(_InputIterator __first, _InputIterator
__last) {
419#undef _STLP_NON_DBG_VECTOR
#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[])
_Iterator _Non_Dbg_iter(_Iterator __it)
bool _Dereferenceable(const _Iterator &__it)
#define _STLP_NON_DBG_VECTOR
#define _STLP_TEMPLATE_NULL
#define _STLP_MOVE_TO_STD_NAMESPACE
#define __IMPORT_CONTAINER_TYPEDEFS(_Super)
#define _STLP_ALLOCATOR_TYPE_DFL
#define _STLP_BEGIN_NAMESPACE
#define _STLP_END_NAMESPACE
#define _STLP_MOVE_TO_PRIV_NAMESPACE
_Vector_const_traits< bool, _Bit_iterator > _ConstTraits
_Bit_const_iterator::pointer pointer
_Vector_nonconst_traits< bool, _Bit_iterator > _NonConstTraits
_Bit_const_iterator::reference reference
_Bit_const_iterator::value_type value_type
_Vector_const_traits< _Tp, _NcIt > _ConstTraits
_Vector_nonconst_traits< _Tp, _NcIt > _NonConstTraits
_Const_traits< _Tp > _BaseT
_Bit_iterator::reference reference
_Vector_const_traits< bool, _Bit_iterator > _ConstTraits
_Bit_iterator::value_type value_type
_Vector_nonconst_traits< bool, _Bit_iterator > _NonConstTraits
_Bit_iterator::pointer pointer
_Nonconst_traits< _Tp > _BaseT
_Vector_const_traits< _Tp, _NcIt > _ConstTraits
_Vector_nonconst_traits< _Tp, _NcIt > _NonConstTraits
iterator erase(iterator __pos)
void assign(const value_type *__first, const value_type *__last)
const_iterator begin() const
const_iterator end() const
void assign(const_iterator __first, const_iterator __last)
void insert(iterator __pos, const_iterator __first, const_iterator __last)
_Self & operator=(const _Self &__x)
reverse_iterator rbegin()
_STLP_PRIV _DBG_iter< _Base, _STLP_PRIV _DbgTraits< _STLP_PRIV _Vector_nonconst_traits< value_type, typename _Base::iterator > > > iterator
size_type max_size() const
vector(__move_source< _Self > src)
size_type capacity() const
_STLP_PRIV __construct_checker< _STLP_NON_DBG_VECTOR > _ConstructCheck
void resize(size_type __new_size, const _Tp &__x=_STLP_DEFAULT_CONSTRUCTED(_Tp))
void _Check_Overflow(size_type __nb)
reference operator[](size_type __n)
void _Invalidate_iterators(const iterator &__first, const iterator &__last)
_Base::allocator_type allocator_type
vector(const allocator_type &__a=allocator_type())
void insert(iterator __pos, iterator __first, iterator __last)
void _Invalidate_iterator(const iterator &__it)
vector(const_iterator __first, const_iterator __last, const allocator_type &__a=allocator_type())
const_reverse_iterator rend() const
void _Compare_Capacity(size_type __old_capacity)
void insert(iterator __pos, size_type __n, const _Tp &__x)
const_reference front() const
void push_back(const _Tp &__x)
const value_type * const_iterator
_STLP_PRIV _DBG_iter< _Base, _STLP_PRIV _DbgTraits< _STLP_PRIV _Vector_const_traits< value_type, typename _Base::iterator > > > const_iterator
const_reverse_iterator rbegin() const
allocator_type get_allocator() const
_STLP_PRIV __owned_list _M_iter_list
reference at(size_type __n)
vector< _Tp, _Alloc > _Self
vector(size_type __n, const _Tp &__x=_Tp(), const allocator_type &__a=allocator_type())
_STLP_NON_DBG_VECTOR _Base
iterator insert(iterator __pos, const _Tp &__x=_Tp())
iterator erase(iterator __first, iterator __last)
const_reference operator[](size_type __n) const
void assign(size_type __n, const _Tp &__val)
const value_type & const_reference
const_reference at(size_type __n) const
_STLP_DECLARE_RANDOM_ACCESS_REVERSE_ITERATORS
void _M_assign(const value_type *__first, const value_type *__last)
_STLP_PRIV _Vector_base< _Tp, _Alloc > _Base
vector(const _Tp *__first, const _Tp *__last, const allocator_type &__a=allocator_type())
void reserve(size_type __n)
void insert(iterator __pos, const value_type *__first, const value_type *__last)
const_reference back() const