20#ifndef _STLP_SPECIALIZED_VECTOR_H
21#define _STLP_SPECIALIZED_VECTOR_H
23#ifndef _STLP_POINTERS_SPEC_TOOLS_H
29#define VECTOR_IMPL _STLP_PTR_IMPL_NAME(vector)
31#if defined (_STLP_USE_TEMPLATE_EXPORT) && !defined (_STLP_USE_MSVC6_MEM_T_BUG_WORKAROUND)
36#if defined (_STLP_DEBUG)
37# define vector _STLP_NON_DBG_NAME(vector)
41template <
class _Tp, _STLP_DFL_TMPL_PARAM(_Alloc, allocator<_Tp>) >
43#
if defined (_STLP_USE_PARTIAL_SPEC_WORKAROUND) && !defined (
vector)
85 const_reverse_iterator
rbegin()
const {
return const_reverse_iterator(
end()); }
87 const_reverse_iterator
rend()
const {
return const_reverse_iterator(
begin()); }
109#if !defined(_STLP_DONT_SUP_DFLT_PARAM)
118#if defined(_STLP_DONT_SUP_DFLT_PARAM)
126#if !defined (_STLP_NO_MOVE_SEMANTIC)
131#if defined (_STLP_MEMBER_TEMPLATES)
132 template <
class _InputIterator>
138# if defined (_STLP_NEEDS_EXTRA_TEMPLATE_CONSTRUCTORS)
139 template <
class _InputIterator>
157#if defined (_STLP_MEMBER_TEMPLATES)
158 template <
class _InputIterator>
159 void assign(_InputIterator __first, _InputIterator
__last)
163 _M_impl.assign(cast_traits::to_storage_type_cptr(__first),
164 cast_traits::to_storage_type_cptr(
__last));
168#if !defined(_STLP_DONT_SUP_DFLT_PARAM) && !defined(_STLP_NO_ANACHRONISMS)
173 {
_M_impl.push_back(cast_traits::to_storage_type_cref(__x)); }
175#if !defined(_STLP_DONT_SUP_DFLT_PARAM) && !defined(_STLP_NO_ANACHRONISMS)
180 {
return cast_traits::to_value_type_ptr(
_M_impl.insert(cast_traits::to_storage_type_ptr(__pos),
181 cast_traits::to_storage_type_cref(__x))); }
183#if defined(_STLP_DONT_SUP_DFLT_PARAM) && !defined(_STLP_NO_ANACHRONISMS)
186 {
return _M_impl.insert(cast_traits::to_storage_type_ptr(__pos)); }
190#if defined (_STLP_USE_PARTIAL_SPEC_WORKAROUND) && !defined (_STLP_FUNCTION_TMPL_PARTIAL_ORDER)
191 void _M_swap_workaround(
_Self& __x) {
swap(__x); }
194#if defined (_STLP_MEMBER_TEMPLATES)
195 template <
class _InputIterator>
197 {
_M_impl.insert(cast_traits::to_storage_type_ptr(__pos), __first,
__last); }
200 _M_impl.insert(cast_traits::to_storage_type_ptr(__pos), cast_traits::to_storage_type_cptr(__first),
201 cast_traits::to_storage_type_cptr(
__last));
206 _M_impl.insert(cast_traits::to_storage_type_ptr(__pos),
__n, cast_traits::to_storage_type_cref(__x));
211 {
return cast_traits::to_value_type_ptr(
_M_impl.erase(cast_traits::to_storage_type_ptr(__pos)));}
213 return cast_traits::to_value_type_ptr(
_M_impl.erase(cast_traits::to_storage_type_ptr(__first),
214 cast_traits::to_storage_type_ptr(
__last)));
217#if !defined(_STLP_DONT_SUP_DFLT_PARAM)
222 {
_M_impl.resize(__new_size, cast_traits::to_storage_type_cref(__x)); }
224#if defined(_STLP_DONT_SUP_DFLT_PARAM)
_STLP_INLINE_LOOP _InputIter __last
_STLP_INLINE_LOOP _InputIter const _Tp & __val
#define _STLP_CONVERT_ALLOCATOR(__a, _Tp)
#define _STLP_FORCE_ALLOCATORS(a, y)
#define _STLP_DEFAULT_CONSTRUCTED(_TTp)
void get(int argc, const char *argv[])
__kernel_ptrdiff_t ptrdiff_t
#define _STLP_MOVE_TO_STD_NAMESPACE
#define _STLP_ALLOCATOR_TYPE_DFL
#define _STLP_DECLARE_RANDOM_ACCESS_REVERSE_ITERATORS
#define _STLP_EXPORT_TEMPLATE_CLASS
#define _STLP_BEGIN_NAMESPACE
#define _STLP_END_NAMESPACE
#define _STLP_MOVE_TO_PRIV_NAMESPACE
_Rebind_type::other allocator_type
__select<!use_const_volatile_void_ptr, _Tp, typename__select< use_void_ptr, void *, typename__select< use_const_void_ptr, constvoid *, typename__select< use_volatile_void_ptr, volatilevoid *, constvolatilevoid * >::_Ret >::_Ret >::_Ret >::_Ret _QualifiedType
iterator erase(iterator __pos)
const_iterator begin() const
vector(size_type __n, const value_type &__val=_STLP_DEFAULT_CONSTRUCTED(value_type), const allocator_type &__a=allocator_type())
const_iterator end() const
void assign(const_iterator __first, const_iterator __last)
const value_type * const_pointer
void insert(iterator __pos, const_iterator __first, const_iterator __last)
random_access_iterator_tag _Iterator_category
_Self & operator=(const _Self &__x)
void insert(iterator __pos, size_type __n, const value_type &__x)
reverse_iterator rbegin()
size_type max_size() const
vector(__move_source< _Self > src)
void push_back(const _Tp &__x=_STLP_DEFAULT_CONSTRUCTED(_Tp))
size_type capacity() const
void resize(size_type __new_size, const _Tp &__x=_STLP_DEFAULT_CONSTRUCTED(_Tp))
reference operator[](size_type __n)
_Base::allocator_type allocator_type
void push_back(const value_type &__x=_STLP_DEFAULT_CONSTRUCTED(value_type))
vector(const allocator_type &__a=allocator_type())
vector(const_iterator __first, const_iterator __last, const allocator_type &__a=allocator_type())
iterator insert(iterator __pos, const value_type &__x=_STLP_DEFAULT_CONSTRUCTED(value_type))
const_reverse_iterator rend() const
const_reference front() const
const value_type * const_iterator
const_reverse_iterator rbegin() const
allocator_type get_allocator() const
reference at(size_type __n)
vector< _Tp, _Alloc > _Self
ptrdiff_t difference_type
iterator erase(iterator __first, iterator __last)
const_reference operator[](size_type __n) const
void assign(size_type __n, const _Tp &__val)
void resize(size_type __new_size, const value_type &__x=_STLP_DEFAULT_CONSTRUCTED(value_type))
_STLP_PRIV VECTOR_IMPL< _StorageType, _StorageTypeAlloc > _Base
const value_type & const_reference
_Alloc_traits< _StorageType, _Alloc >::allocator_type _StorageTypeAlloc
const_reference at(size_type __n) const
_STLP_TYPENAME _STLP_PRIV _StorageType< _Tp >::_QualifiedType _StorageType
_STLP_PRIV _CastTraits< _StorageType, _Tp > cast_traits
_STLP_PRIV _Vector_base< _Tp, _Alloc > _Base
void reserve(size_type __n)
void assign(size_type __n, const value_type &__val)
const_reference back() const