ReactOS  0.4.14-dev-614-gbfd8a84
_uninitialized.h File Reference
#include <stl/_cstring.h>
#include <stl/_algobase.h>
#include <stl/_construct.h>
Include dependency graph for _uninitialized.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

template<class _InputIter , class _OutputIter , class _Distance >
_STLP_BEGIN_NAMESPACE _STLP_MOVE_TO_PRIV_NAMESPACE _OutputIter __ucopy (_InputIter __first, _InputIter __last, _OutputIter __result, _Distance *)
 
template<class _InputIter , class _OutputIter , class _Distance >
_OutputIter __ucopy (_InputIter __first, _InputIter __last, _OutputIter __result, const input_iterator_tag &, _Distance *__d)
 
template<class _RandomAccessIter , class _OutputIter , class _Distance >
_OutputIter __ucopy (_RandomAccessIter __first, _RandomAccessIter __last, _OutputIter __result, const random_access_iterator_tag &, _Distance *)
 
template<class _RandomAccessIter , class _OutputIter >
_OutputIter __ucopy (_RandomAccessIter __first, _RandomAccessIter __last, _OutputIter __result)
 
void__ucopy_trivial (const void *__first, const void *__last, void *__result)
 
template<class _InputIter , class _OutputIter >
_OutputIter __ucopy_ptrs (_InputIter __first, _InputIter __last, _OutputIter __result, const __false_type &)
 
template<class _InputIter , class _OutputIter >
_OutputIter __ucopy_ptrs (_InputIter __first, _InputIter __last, _OutputIter __result, const __true_type &)
 
template<class _InputIter , class _OutputIter >
_OutputIter __ucopy_aux (_InputIter __first, _InputIter __last, _OutputIter __result, const __true_type &)
 
template<class _InputIter , class _OutputIter >
_OutputIter __ucopy_aux (_InputIter __first, _InputIter __last, _OutputIter __result, const __false_type &)
 
template<class _InputIter , class _ForwardIter >
_STLP_MOVE_TO_STD_NAMESPACE _ForwardIter uninitialized_copy (_InputIter __first, _InputIter __last, _ForwardIter __result)
 
charuninitialized_copy (const char *__first, const char *__last, char *__result)
 
template<class _InputIter , class _Size , class _ForwardIter >
_STLP_MOVE_TO_PRIV_NAMESPACE _STLP_INLINE_LOOP pair< _InputIter, _ForwardIter > __ucopy_n (_InputIter __first, _Size __count, _ForwardIter __result, const input_iterator_tag &)
 
template<class _RandomAccessIter , class _Size , class _ForwardIter >
pair< _RandomAccessIter, _ForwardIter > __ucopy_n (_RandomAccessIter __first, _Size __count, _ForwardIter __result, const random_access_iterator_tag &)
 
template<class _InputIter , class _Size , class _ForwardIter >
pair< _InputIter, _ForwardIter > __ucopy_n (_InputIter __first, _Size __count, _ForwardIter __result)
 
template<class _InputIter , class _Size , class _ForwardIter >
_STLP_MOVE_TO_STD_NAMESPACE pair< _InputIter, _ForwardIter > uninitialized_copy_n (_InputIter __first, _Size __count, _ForwardIter __result)
 
template<class _ForwardIter , class _Tp , class _Distance >
_STLP_MOVE_TO_PRIV_NAMESPACE void __ufill (_ForwardIter __first, _ForwardIter __last, const _Tp &__x, _Distance *)
 
template<class _ForwardIter , class _Tp , class _Distance >
void __ufill (_ForwardIter __first, _ForwardIter __last, const _Tp &__x, const input_iterator_tag &, _Distance *__d)
 
template<class _ForwardIter , class _Tp , class _Distance >
void __ufill (_ForwardIter __first, _ForwardIter __last, const _Tp &__x, const random_access_iterator_tag &, _Distance *)
 
template<class _ForwardIter , class _Tp >
_STLP_MOVE_TO_STD_NAMESPACE void uninitialized_fill (_ForwardIter __first, _ForwardIter __last, const _Tp &__x)
 
void uninitialized_fill (unsigned char *__first, unsigned char *__last, const unsigned char &__val)
 
void uninitialized_fill (signed char *__first, signed char *__last, const signed char &__val)
 
void uninitialized_fill (char *__first, char *__last, const char &__val)
 
template<class _ForwardIter , class _Size , class _Tp >
_STLP_MOVE_TO_PRIV_NAMESPACE _ForwardIter __ufill_n (_ForwardIter __first, _Size __n, const _Tp &__x)
 
template<class _ForwardIter , class _Size , class _Tp >
_ForwardIter __ufill_n (_ForwardIter __first, _Size __n, const _Tp &__x, const input_iterator_tag &)
 
template<class _ForwardIter , class _Size , class _Tp >
_ForwardIter __uninitialized_fill_n (_ForwardIter __first, _Size __n, const _Tp &__x)
 
template<class _ForwardIter , class _Size , class _Tp >
_ForwardIter __ufill_n (_ForwardIter __first, _Size __n, const _Tp &__x, const random_access_iterator_tag &)
 
template<class _ForwardIter , class _Size , class _Tp >
_ForwardIter __uinit_aux_aux (_ForwardIter __first, _Size __n, const _Tp &__val, const __false_type &)
 
template<class _ForwardIter , class _Size , class _Tp >
_ForwardIter __uinit_aux_aux (_ForwardIter __first, _Size __n, const _Tp &, const __true_type &)
 
template<class _ForwardIter , class _Size , class _Tp >
_ForwardIter __uinit_aux (_ForwardIter __first, _Size __n, const _Tp &, const __true_type &)
 
template<class _ForwardIter , class _Size , class _Tp >
_ForwardIter __uinit_aux (_ForwardIter __first, _Size __n, const _Tp &__val, const __false_type &)
 
template<class _ForwardIter , class _Size , class _Tp >
_ForwardIter __uninitialized_init (_ForwardIter __first, _Size __n, const _Tp &__val)
 
template<class _ForwardIter , class _Size , class _Tp >
_STLP_MOVE_TO_STD_NAMESPACE void uninitialized_fill_n (_ForwardIter __first, _Size __n, const _Tp &__x)
 
template<class _InputIter1 , class _InputIter2 , class _ForwardIter >
_STLP_MOVE_TO_PRIV_NAMESPACE _ForwardIter __uninitialized_copy_copy (_InputIter1 __first1, _InputIter1 __last1, _InputIter2 __first2, _InputIter2 __last2, _ForwardIter __result)
 
template<class _ForwardIter , class _Tp , class _InputIter >
_ForwardIter __uninitialized_fill_copy (_ForwardIter __result, _ForwardIter __mid, const _Tp &__x, _InputIter __first, _InputIter __last)
 
template<class _Iter , class _Tp >
void __uninitialized_copy_fill (_Iter __first1, _Iter __last1, _Iter __first2, _Iter __last2, const _Tp &__x)
 
template<class _InputIter , class _ForwardIter , class _TrivialUCpy >
_ForwardIter __uninitialized_move (_InputIter __first, _InputIter __last, _ForwardIter __result, _TrivialUCpy __trivial_ucpy, const __false_type &)
 
template<class _InputIter , class _ForwardIter , class _TrivialUCpy >
_STLP_INLINE_LOOP _ForwardIter __uninitialized_move (_InputIter __first, _InputIter __last, _ForwardIter __result, _TrivialUCpy, const __true_type &)
 

Function Documentation

◆ __ucopy() [1/4]

template<class _InputIter , class _OutputIter , class _Distance >
_STLP_BEGIN_NAMESPACE _STLP_MOVE_TO_PRIV_NAMESPACE _OutputIter __ucopy ( _InputIter  __first,
_InputIter  __last,
_OutputIter  __result,
_Distance *   
)
inline

Definition at line 52 of file _uninitialized.h.

53  {
54  _OutputIter __cur = __result;
55  _STLP_TRY {
56  for ( ; __first != __last; ++__first, ++__cur)
57  _Param_Construct(&*__cur, *__first);
58  return __cur;
59  }
60  _STLP_UNWIND(_STLP_STD::_Destroy_Range(__result, __cur))
62 }
#define _STLP_RET_AFTER_THROW(data)
Definition: features.h:829
#define _STLP_UNWIND(action)
Definition: features.h:824
_STLP_INLINE_LOOP _InputIter __last
Definition: _algo.h:68
void _Destroy_Range(_ForwardIterator __first, _ForwardIterator __last)
Definition: _construct.h:219
#define _STLP_TRY
Definition: features.h:817
void _Param_Construct(_T1 *__p, const _T2 &__val)
Definition: _construct.h:150

Referenced by __ucopy(), __ucopy_aux(), __ucopy_ptrs(), basic_string< char, char_traits< char >, allocator< char > >::_M_append(), deque< IncompleteClass >::_M_fill_insert_aux(), basic_string< char, char_traits< char >, allocator< char > >::_M_insert_aux(), deque< IncompleteClass >::_M_insert_range_aux(), basic_string< char, char_traits< char >, allocator< char > >::_M_reserve(), deque< IncompleteClass >::deque(), basic_string< char, char_traits< char >, allocator< char > >::insert(), and deque< IncompleteClass >::insert().

◆ __ucopy() [2/4]

template<class _InputIter , class _OutputIter , class _Distance >
_OutputIter __ucopy ( _InputIter  __first,
_InputIter  __last,
_OutputIter  __result,
const input_iterator_tag ,
_Distance *  __d 
)
inline

Definition at line 65 of file _uninitialized.h.

67 { return __ucopy(__first, __last, __result, __d); }
_STLP_INLINE_LOOP _InputIter __last
Definition: _algo.h:68
_STLP_BEGIN_NAMESPACE _STLP_MOVE_TO_PRIV_NAMESPACE _OutputIter __ucopy(_InputIter __first, _InputIter __last, _OutputIter __result, _Distance *)

◆ __ucopy() [3/4]

template<class _RandomAccessIter , class _OutputIter , class _Distance >
_OutputIter __ucopy ( _RandomAccessIter  __first,
_RandomAccessIter  __last,
_OutputIter  __result,
const random_access_iterator_tag ,
_Distance *   
)
inline

Definition at line 82 of file _uninitialized.h.

83  {
84  _OutputIter __cur = __result;
85  _STLP_TRY {
86  for (_Distance __n = __last - __first; __n > 0; --__n) {
87  _Param_Construct(&*__cur, *__first);
88  ++__first;
89  ++__cur;
90  }
91  return __cur;
92  }
93  _STLP_UNWIND(_STLP_STD::_Destroy_Range(__result, __cur))
95 }
return __n
Definition: _algo.h:75
#define _STLP_RET_AFTER_THROW(data)
Definition: features.h:829
#define _STLP_UNWIND(action)
Definition: features.h:824
_STLP_INLINE_LOOP _InputIter __last
Definition: _algo.h:68
void _Destroy_Range(_ForwardIterator __first, _ForwardIterator __last)
Definition: _construct.h:219
#define _STLP_TRY
Definition: features.h:817
void _Param_Construct(_T1 *__p, const _T2 &__val)
Definition: _construct.h:150

◆ __ucopy() [4/4]

template<class _RandomAccessIter , class _OutputIter >
_OutputIter __ucopy ( _RandomAccessIter  __first,
_RandomAccessIter  __last,
_OutputIter  __result 
)
inline

Definition at line 99 of file _uninitialized.h.

100 { return __ucopy(__first, __last, __result, random_access_iterator_tag(), (ptrdiff_t*)0); }
#define random_access_iterator_tag
Definition: _abbrevs.h:28
_STLP_INLINE_LOOP _InputIter __last
Definition: _algo.h:68
_STLP_BEGIN_NAMESPACE _STLP_MOVE_TO_PRIV_NAMESPACE _OutputIter __ucopy(_InputIter __first, _InputIter __last, _OutputIter __result, _Distance *)
__kernel_ptrdiff_t ptrdiff_t
Definition: linux.h:247

◆ __ucopy_aux() [1/2]

template<class _InputIter , class _OutputIter >
_OutputIter __ucopy_aux ( _InputIter  __first,
_InputIter  __last,
_OutputIter  __result,
const __true_type  
)
inline

Definition at line 124 of file _uninitialized.h.

125  {
126  return __ucopy_ptrs(__first, __last, __result,
127  _UseTrivialUCopy(_STLP_VALUE_TYPE(__first, _InputIter),
128  _STLP_VALUE_TYPE(__result, _OutputIter))._Answer());
129 }
_TrivialUCopy< _Src, _Dst > _UseTrivialUCopy(_Src *, _Dst *)
Definition: type_traits.h:505
_STLP_INLINE_LOOP _InputIter __last
Definition: _algo.h:68
#define _STLP_VALUE_TYPE(_It, _Tp)
_OutputIter __ucopy_ptrs(_InputIter __first, _InputIter __last, _OutputIter __result, const __false_type &)

Referenced by uninitialized_copy().

◆ __ucopy_aux() [2/2]

template<class _InputIter , class _OutputIter >
_OutputIter __ucopy_aux ( _InputIter  __first,
_InputIter  __last,
_OutputIter  __result,
const __false_type  
)
inline

Definition at line 132 of file _uninitialized.h.

133  {
134  return __ucopy(__first, __last, __result,
135  _STLP_ITERATOR_CATEGORY(__first, _InputIter),
136  _STLP_DISTANCE_TYPE(__first, _InputIter));
137 }
#define _STLP_ITERATOR_CATEGORY(_It, _Tp)
_STLP_INLINE_LOOP _InputIter __last
Definition: _algo.h:68
_STLP_BEGIN_NAMESPACE _STLP_MOVE_TO_PRIV_NAMESPACE _OutputIter __ucopy(_InputIter __first, _InputIter __last, _OutputIter __result, _Distance *)
#define _STLP_DISTANCE_TYPE(_It, _Tp)

◆ __ucopy_n() [1/3]

template<class _InputIter , class _Size , class _ForwardIter >
_STLP_MOVE_TO_PRIV_NAMESPACE _STLP_INLINE_LOOP pair<_InputIter, _ForwardIter> __ucopy_n ( _InputIter  __first,
_Size  __count,
_ForwardIter  __result,
const input_iterator_tag  
)

Definition at line 162 of file _uninitialized.h.

163  {
164  _ForwardIter __cur = __result;
165  _STLP_TRY {
166  for ( ; __count > 0 ; --__count, ++__first, ++__cur)
167  _Param_Construct(&*__cur, *__first);
168  return pair<_InputIter, _ForwardIter>(__first, __cur);
169  }
170  _STLP_UNWIND(_STLP_STD::_Destroy_Range(__result, __cur))
172 }
#define _STLP_RET_AFTER_THROW(data)
Definition: features.h:829
#define _STLP_UNWIND(action)
Definition: features.h:824
void _Destroy_Range(_ForwardIterator __first, _ForwardIterator __last)
Definition: _construct.h:219
#define _STLP_TRY
Definition: features.h:817
Definition: _pair.h:47
void _Param_Construct(_T1 *__p, const _T2 &__val)
Definition: _construct.h:150

Referenced by __ucopy_n(), rope< _CharT, _Alloc >::_S_destr_leaf_concat_char_iter(), rope< _CharT, _Alloc >::_S_flatten(), rope< _CharT, _Alloc >::_S_leaf_concat_char_iter(), rope< _CharT, _Alloc >::_S_RopeLeaf_from_unowned_char_ptr(), _Rope_RopeSubstring< _CharT, _Alloc >::operator()(), _Rope_flatten_char_consumer< _CharT >::operator()(), and uninitialized_copy_n().

◆ __ucopy_n() [2/3]

template<class _RandomAccessIter , class _Size , class _ForwardIter >
pair<_RandomAccessIter, _ForwardIter> __ucopy_n ( _RandomAccessIter  __first,
_Size  __count,
_ForwardIter  __result,
const random_access_iterator_tag  
)
inline

Definition at line 192 of file _uninitialized.h.

193  {
194  _RandomAccessIter __last = __first + __count;
196 }
_STLP_INLINE_LOOP _InputIter __last
Definition: _algo.h:68
_STLP_MOVE_TO_STD_NAMESPACE _ForwardIter uninitialized_copy(_InputIter __first, _InputIter __last, _ForwardIter __result)
Definition: _pair.h:47

◆ __ucopy_n() [3/3]

template<class _InputIter , class _Size , class _ForwardIter >
pair<_InputIter, _ForwardIter> __ucopy_n ( _InputIter  __first,
_Size  __count,
_ForwardIter  __result 
)
inline

Definition at line 201 of file _uninitialized.h.

202 { return _STLP_PRIV __ucopy_n(__first, __count, __result, _STLP_ITERATOR_CATEGORY(__first, _InputIter)); }
#define _STLP_ITERATOR_CATEGORY(_It, _Tp)
_STLP_MOVE_TO_PRIV_NAMESPACE _STLP_INLINE_LOOP pair< _InputIter, _ForwardIter > __ucopy_n(_InputIter __first, _Size __count, _ForwardIter __result, const input_iterator_tag &)
#define _STLP_PRIV
Definition: _dm.h:70

◆ __ucopy_ptrs() [1/2]

template<class _InputIter , class _OutputIter >
_OutputIter __ucopy_ptrs ( _InputIter  __first,
_InputIter  __last,
_OutputIter  __result,
const __false_type  
)
inline

Definition at line 111 of file _uninitialized.h.

113 { return __ucopy(__first, __last, __result, random_access_iterator_tag(), (ptrdiff_t*)0); }
#define random_access_iterator_tag
Definition: _abbrevs.h:28
_STLP_INLINE_LOOP _InputIter __last
Definition: _algo.h:68
_STLP_BEGIN_NAMESPACE _STLP_MOVE_TO_PRIV_NAMESPACE _OutputIter __ucopy(_InputIter __first, _InputIter __last, _OutputIter __result, _Distance *)
__kernel_ptrdiff_t ptrdiff_t
Definition: linux.h:247

Referenced by __ucopy_aux(), __uninitialized_move(), vector< CTestInfo >::_M_fill_insert_aux(), vector< CTestInfo >::_M_range_insert_aux(), vector< CTestInfo >::operator=(), and vector< CTestInfo >::vector().

◆ __ucopy_ptrs() [2/2]

template<class _InputIter , class _OutputIter >
_OutputIter __ucopy_ptrs ( _InputIter  __first,
_InputIter  __last,
_OutputIter  __result,
const __true_type  
)
inline

Definition at line 116 of file _uninitialized.h.

117  {
118  // we know they all pointers, so this cast is OK
119  // return (_OutputIter)__copy_trivial(&(*__first), &(*__last), &(*__result));
120  return (_OutputIter)__ucopy_trivial(__first, __last, __result);
121 }
_STLP_INLINE_LOOP _InputIter __last
Definition: _algo.h:68
void * __ucopy_trivial(const void *__first, const void *__last, void *__result)

◆ __ucopy_trivial()

void* __ucopy_trivial ( const void __first,
const void __last,
void __result 
)
inline

Definition at line 103 of file _uninitialized.h.

103  {
104  //dums: this version can use memcpy (__copy_trivial can't)
105  return (__last == __first) ? __result :
106  ((char*)memcpy(__result, __first, ((const char*)__last - (const char*)__first))) +
107  ((const char*)__last - (const char*)__first);
108 }
_STLP_INLINE_LOOP _InputIter __last
Definition: _algo.h:68
#define memcpy(s1, s2, n)
Definition: mkisofs.h:878

Referenced by __ucopy_ptrs(), and uninitialized_copy().

◆ __ufill() [1/3]

template<class _ForwardIter , class _Tp , class _Distance >
_STLP_MOVE_TO_PRIV_NAMESPACE void __ufill ( _ForwardIter  __first,
_ForwardIter  __last,
const _Tp &  __x,
_Distance *   
)
inline

Definition at line 218 of file _uninitialized.h.

218  {
219  _ForwardIter __cur = __first;
220  _STLP_TRY {
221  for ( ; __cur != __last; ++__cur)
222  _Param_Construct(&*__cur, __x);
223  }
224  _STLP_UNWIND(_STLP_STD::_Destroy_Range(__first, __cur))
225 }
#define _STLP_UNWIND(action)
Definition: features.h:824
_STLP_INLINE_LOOP _InputIter __last
Definition: _algo.h:68
void _Destroy_Range(_ForwardIterator __first, _ForwardIterator __last)
Definition: _construct.h:219
#define _STLP_TRY
Definition: features.h:817
void _Param_Construct(_T1 *__p, const _T2 &__val)
Definition: _construct.h:150

Referenced by __ufill(), __uninitialized_fill_n(), and uninitialized_fill().

◆ __ufill() [2/3]

template<class _ForwardIter , class _Tp , class _Distance >
void __ufill ( _ForwardIter  __first,
_ForwardIter  __last,
const _Tp &  __x,
const input_iterator_tag ,
_Distance *  __d 
)
inline

Definition at line 228 of file _uninitialized.h.

230 { __ufill(__first, __last, __x, __d); }
_STLP_MOVE_TO_PRIV_NAMESPACE void __ufill(_ForwardIter __first, _ForwardIter __last, const _Tp &__x, _Distance *)
_STLP_INLINE_LOOP _InputIter __last
Definition: _algo.h:68

◆ __ufill() [3/3]

template<class _ForwardIter , class _Tp , class _Distance >
void __ufill ( _ForwardIter  __first,
_ForwardIter  __last,
const _Tp &  __x,
const random_access_iterator_tag ,
_Distance *   
)
inline

Definition at line 245 of file _uninitialized.h.

246  {
247  _ForwardIter __cur = __first;
248  _STLP_TRY {
249  for (_Distance __n = __last - __first; __n > 0; --__n, ++__cur)
250  _Param_Construct(&*__cur, __x);
251  }
252  _STLP_UNWIND(_STLP_STD::_Destroy_Range(__first, __cur))
253 }
return __n
Definition: _algo.h:75
#define _STLP_UNWIND(action)
Definition: features.h:824
_STLP_INLINE_LOOP _InputIter __last
Definition: _algo.h:68
void _Destroy_Range(_ForwardIterator __first, _ForwardIterator __last)
Definition: _construct.h:219
#define _STLP_TRY
Definition: features.h:817
void _Param_Construct(_T1 *__p, const _T2 &__val)
Definition: _construct.h:150

◆ __ufill_n() [1/3]

template<class _ForwardIter , class _Size , class _Tp >
_STLP_MOVE_TO_PRIV_NAMESPACE _ForwardIter __ufill_n ( _ForwardIter  __first,
_Size  __n,
const _Tp &  __x 
)
inline

Definition at line 285 of file _uninitialized.h.

285  {
286  _ForwardIter __cur = __first;
287  _STLP_TRY {
288  for ( ; __n > 0; --__n, ++__cur)
289  _Param_Construct(&*__cur, __x);
290  }
291  _STLP_UNWIND(_STLP_STD::_Destroy_Range(__first, __cur))
292  return __cur;
293 }
return __n
Definition: _algo.h:75
#define _STLP_UNWIND(action)
Definition: features.h:824
void _Destroy_Range(_ForwardIterator __first, _ForwardIterator __last)
Definition: _construct.h:219
#define _STLP_TRY
Definition: features.h:817
void _Param_Construct(_T1 *__p, const _T2 &__val)
Definition: _construct.h:150

Referenced by __ufill_n(), and uninitialized_fill_n().

◆ __ufill_n() [2/3]

template<class _ForwardIter , class _Size , class _Tp >
_ForwardIter __ufill_n ( _ForwardIter  __first,
_Size  __n,
const _Tp &  __x,
const input_iterator_tag  
)
inline

Definition at line 296 of file _uninitialized.h.

298 { return __ufill_n(__first, __n, __x); }
return __n
Definition: _algo.h:75
_STLP_MOVE_TO_PRIV_NAMESPACE _ForwardIter __ufill_n(_ForwardIter __first, _Size __n, const _Tp &__x)

◆ __ufill_n() [3/3]

template<class _ForwardIter , class _Size , class _Tp >
_ForwardIter __ufill_n ( _ForwardIter  __first,
_Size  __n,
const _Tp &  __x,
const random_access_iterator_tag  
)
inline

Definition at line 320 of file _uninitialized.h.

322 { return __uninitialized_fill_n(__first, __n, __x); }
return __n
Definition: _algo.h:75
_ForwardIter __uninitialized_fill_n(_ForwardIter __first, _Size __n, const _Tp &__x)

◆ __uinit_aux() [1/2]

template<class _ForwardIter , class _Size , class _Tp >
_ForwardIter __uinit_aux ( _ForwardIter  __first,
_Size  __n,
const _Tp &  ,
const __true_type  
)
inline

Definition at line 341 of file _uninitialized.h.

343 { return __first + __n; }
return __n
Definition: _algo.h:75

Referenced by __uninitialized_init().

◆ __uinit_aux() [2/2]

template<class _ForwardIter , class _Size , class _Tp >
_ForwardIter __uinit_aux ( _ForwardIter  __first,
_Size  __n,
const _Tp &  __val,
const __false_type  
)
inline

Definition at line 346 of file _uninitialized.h.

348 { return __uinit_aux_aux(__first, __n, __val, _HasDefaultZeroValue(__first)._Answer()); }
_ForwardIter __uinit_aux_aux(_ForwardIter __first, _Size __n, const _Tp &__val, const __false_type &)
return __n
Definition: _algo.h:75
_DefaultZeroValueQuestion< _Tp > _HasDefaultZeroValue(_Tp *)
Definition: type_traits.h:561
_STLP_INLINE_LOOP _InputIter const _Tp & __val
Definition: _algobase.h:656

◆ __uinit_aux_aux() [1/2]

template<class _ForwardIter , class _Size , class _Tp >
_ForwardIter __uinit_aux_aux ( _ForwardIter  __first,
_Size  __n,
const _Tp &  __val,
const __false_type  
)
inline

Definition at line 329 of file _uninitialized.h.

331 { return __uninitialized_fill_n(__first, __n, __val); }
return __n
Definition: _algo.h:75
_STLP_INLINE_LOOP _InputIter const _Tp & __val
Definition: _algobase.h:656
_ForwardIter __uninitialized_fill_n(_ForwardIter __first, _Size __n, const _Tp &__x)

Referenced by __uinit_aux().

◆ __uinit_aux_aux() [2/2]

template<class _ForwardIter , class _Size , class _Tp >
_ForwardIter __uinit_aux_aux ( _ForwardIter  __first,
_Size  __n,
const _Tp &  ,
const __true_type  
)
inline

Definition at line 334 of file _uninitialized.h.

335  {
336  memset((unsigned char*)__first, 0, __n * sizeof(_Tp));
337  return __first + __n;
338 }
return __n
Definition: _algo.h:75
#define memset(x, y, z)
Definition: compat.h:39

◆ __uninitialized_copy_copy()

template<class _InputIter1 , class _InputIter2 , class _ForwardIter >
_STLP_MOVE_TO_PRIV_NAMESPACE _ForwardIter __uninitialized_copy_copy ( _InputIter1  __first1,
_InputIter1  __last1,
_InputIter2  __first2,
_InputIter2  __last2,
_ForwardIter  __result 
)
inline

Definition at line 373 of file _uninitialized.h.

375  {
376  _ForwardIter __new_result = uninitialized_copy(__first1, __last1, __result);
377  _STLP_TRY {
378  return uninitialized_copy(__first2, __last2, __new_result);
379  }
380  _STLP_UNWIND(_STLP_STD::_Destroy_Range(__result, __new_result))
381  _STLP_RET_AFTER_THROW(__result)
382 }
#define _STLP_RET_AFTER_THROW(data)
Definition: features.h:829
#define _STLP_UNWIND(action)
Definition: features.h:824
_STLP_MOVE_TO_STD_NAMESPACE _ForwardIter uninitialized_copy(_InputIter __first, _InputIter __last, _ForwardIter __result)
void _Destroy_Range(_ForwardIterator __first, _ForwardIterator __last)
Definition: _construct.h:219
#define _STLP_TRY
Definition: features.h:817

Referenced by deque< IncompleteClass >::_M_insert_range_aux().

◆ __uninitialized_copy_fill()

template<class _Iter , class _Tp >
void __uninitialized_copy_fill ( _Iter  __first1,
_Iter  __last1,
_Iter  __first2,
_Iter  __last2,
const _Tp &  __x 
)
inline

Definition at line 404 of file _uninitialized.h.

405  {
406  _Iter __mid2 = uninitialized_copy(__first1, __last1, __first2);
407  _STLP_TRY {
408  uninitialized_fill(__mid2, __last2, __x);
409  }
410  _STLP_UNWIND(_STLP_STD::_Destroy_Range(__first2, __mid2))
411 }
#define _STLP_UNWIND(action)
Definition: features.h:824
_STLP_MOVE_TO_STD_NAMESPACE _ForwardIter uninitialized_copy(_InputIter __first, _InputIter __last, _ForwardIter __result)
void _Destroy_Range(_ForwardIterator __first, _ForwardIterator __last)
Definition: _construct.h:219
#define _STLP_TRY
Definition: features.h:817
_STLP_MOVE_TO_STD_NAMESPACE void uninitialized_fill(_ForwardIter __first, _ForwardIter __last, const _Tp &__x)

Referenced by deque< IncompleteClass >::_M_fill_insert_aux().

◆ __uninitialized_fill_copy()

template<class _ForwardIter , class _Tp , class _InputIter >
_ForwardIter __uninitialized_fill_copy ( _ForwardIter  __result,
_ForwardIter  __mid,
const _Tp &  __x,
_InputIter  __first,
_InputIter  __last 
)
inline

Definition at line 389 of file _uninitialized.h.

390  {
391  uninitialized_fill(__result, __mid, __x);
392  _STLP_TRY {
393  return uninitialized_copy(__first, __last, __mid);
394  }
395  _STLP_UNWIND(_STLP_STD::_Destroy_Range(__result, __mid))
396  _STLP_RET_AFTER_THROW(__result)
397 }
#define _STLP_RET_AFTER_THROW(data)
Definition: features.h:829
#define _STLP_UNWIND(action)
Definition: features.h:824
_STLP_INLINE_LOOP _InputIter __last
Definition: _algo.h:68
_STLP_MOVE_TO_STD_NAMESPACE _ForwardIter uninitialized_copy(_InputIter __first, _InputIter __last, _ForwardIter __result)
void _Destroy_Range(_ForwardIterator __first, _ForwardIterator __last)
Definition: _construct.h:219
#define _STLP_TRY
Definition: features.h:817
_STLP_MOVE_TO_STD_NAMESPACE void uninitialized_fill(_ForwardIter __first, _ForwardIter __last, const _Tp &__x)

Referenced by deque< IncompleteClass >::_M_fill_insert_aux().

◆ __uninitialized_fill_n()

template<class _ForwardIter , class _Size , class _Tp >
_ForwardIter __uninitialized_fill_n ( _ForwardIter  __first,
_Size  __n,
const _Tp &  __x 
)
inline

Definition at line 313 of file _uninitialized.h.

313  {
314  _ForwardIter __last = __first + __n;
315  __ufill(__first, __last, __x, random_access_iterator_tag(), (ptrdiff_t*)0);
316  return __last;
317 }
return __n
Definition: _algo.h:75
#define random_access_iterator_tag
Definition: _abbrevs.h:28
_STLP_MOVE_TO_PRIV_NAMESPACE void __ufill(_ForwardIter __first, _ForwardIter __last, const _Tp &__x, _Distance *)
_STLP_INLINE_LOOP _InputIter __last
Definition: _algo.h:68
__kernel_ptrdiff_t ptrdiff_t
Definition: linux.h:247

Referenced by __ufill_n(), __uinit_aux_aux(), vector< CTestInfo >::_M_fill_assign(), vector< CTestInfo >::_M_fill_insert_aux(), basic_string< char, char_traits< char >, allocator< char > >::_M_initialize_dispatch(), vector< CTestInfo >::_M_insert_overflow_aux(), basic_string< char, char_traits< char >, allocator< char > >::append(), basic_string< char, char_traits< char >, allocator< char > >::basic_string(), and basic_string< char, char_traits< char >, allocator< char > >::insert().

◆ __uninitialized_init()

template<class _ForwardIter , class _Size , class _Tp >
_ForwardIter __uninitialized_init ( _ForwardIter  __first,
_Size  __n,
const _Tp &  __val 
)
inline

Definition at line 351 of file _uninitialized.h.

352 { return __uinit_aux(__first, __n, __val, _UseTrivialInit(__first)._Answer()); }
return __n
Definition: _algo.h:75
_STLP_INLINE_LOOP _InputIter const _Tp & __val
Definition: _algobase.h:656
_TrivialInit< _Tp > _UseTrivialInit(_Tp *)
Definition: type_traits.h:541
_ForwardIter __uinit_aux(_ForwardIter __first, _Size __n, const _Tp &, const __true_type &)

Referenced by vector< CTestInfo >::_M_initialize(), and vector< CTestInfo >::vector().

◆ __uninitialized_move() [1/2]

template<class _InputIter , class _ForwardIter , class _TrivialUCpy >
_ForwardIter __uninitialized_move ( _InputIter  __first,
_InputIter  __last,
_ForwardIter  __result,
_TrivialUCpy  __trivial_ucpy,
const __false_type  
)
inline

Definition at line 418 of file _uninitialized.h.

420 { return __ucopy_ptrs(__first, __last, __result, __trivial_ucpy); }
_STLP_INLINE_LOOP _InputIter __last
Definition: _algo.h:68
_OutputIter __ucopy_ptrs(_InputIter __first, _InputIter __last, _OutputIter __result, const __false_type &)

Referenced by vector< CTestInfo >::_M_insert_overflow_aux(), and vector< CTestInfo >::_M_range_insert_realloc().

◆ __uninitialized_move() [2/2]

template<class _InputIter , class _ForwardIter , class _TrivialUCpy >
_STLP_INLINE_LOOP _ForwardIter __uninitialized_move ( _InputIter  __first,
_InputIter  __last,
_ForwardIter  __result,
_TrivialUCpy  ,
const __true_type  
)

Definition at line 425 of file _uninitialized.h.

426  {
427  //Move constructor should not throw so we do not need to take care of exceptions here.
428  for (ptrdiff_t __n = __last - __first ; __n > 0; --__n) {
429  _Move_Construct(&*__result, *__first);
430  ++__first; ++__result;
431  }
432  return __result;
433 }
return __n
Definition: _algo.h:75
_STLP_INLINE_LOOP _InputIter __last
Definition: _algo.h:68
__kernel_ptrdiff_t ptrdiff_t
Definition: linux.h:247
void _Move_Construct(_T1 *__p, _T2 &__val)
Definition: _construct.h:174

◆ uninitialized_copy() [1/2]

◆ uninitialized_copy() [2/2]

char* uninitialized_copy ( const char __first,
const char __last,
char __result 
)
inline

Definition at line 147 of file _uninitialized.h.

148 { return (char*)_STLP_PRIV __ucopy_trivial(__first, __last, __result); }
_STLP_INLINE_LOOP _InputIter __last
Definition: _algo.h:68
#define _STLP_PRIV
Definition: _dm.h:70
void * __ucopy_trivial(const void *__first, const void *__last, void *__result)

◆ uninitialized_copy_n()

template<class _InputIter , class _Size , class _ForwardIter >
_STLP_MOVE_TO_STD_NAMESPACE pair<_InputIter, _ForwardIter> uninitialized_copy_n ( _InputIter  __first,
_Size  __count,
_ForwardIter  __result 
)
inline

Definition at line 210 of file _uninitialized.h.

211 { return _STLP_PRIV __ucopy_n(__first, __count, __result); }
_STLP_MOVE_TO_PRIV_NAMESPACE _STLP_INLINE_LOOP pair< _InputIter, _ForwardIter > __ucopy_n(_InputIter __first, _Size __count, _ForwardIter __result, const input_iterator_tag &)
#define _STLP_PRIV
Definition: _dm.h:70

◆ uninitialized_fill() [1/4]

template<class _ForwardIter , class _Tp >
_STLP_MOVE_TO_STD_NAMESPACE void uninitialized_fill ( _ForwardIter  __first,
_ForwardIter  __last,
const _Tp &  __x 
)
inline

Definition at line 258 of file _uninitialized.h.

258  {
259  _STLP_PRIV __ufill(__first, __last, __x,
260  _STLP_ITERATOR_CATEGORY(__first, _ForwardIter),
261  _STLP_DISTANCE_TYPE(__first, _ForwardIter));
262 }
_STLP_MOVE_TO_PRIV_NAMESPACE void __ufill(_ForwardIter __first, _ForwardIter __last, const _Tp &__x, _Distance *)
#define _STLP_ITERATOR_CATEGORY(_It, _Tp)
_STLP_INLINE_LOOP _InputIter __last
Definition: _algo.h:68
#define _STLP_PRIV
Definition: _dm.h:70
#define _STLP_DISTANCE_TYPE(_It, _Tp)

Referenced by __uninitialized_copy_fill(), __uninitialized_fill_copy(), deque< IncompleteClass >::_M_fill_initialize(), deque< IncompleteClass >::_M_fill_insert(), deque< IncompleteClass >::_M_fill_insert_aux(), and test_uninitialized_fill::operator()().

◆ uninitialized_fill() [2/4]

void uninitialized_fill ( unsigned char __first,
unsigned char __last,
const unsigned char __val 
)
inline

Definition at line 265 of file _uninitialized.h.

266  {
267  unsigned char __tmp = __val;
268  memset(__first, __tmp, __last - __first);
269 }
_STLP_INLINE_LOOP _InputIter __last
Definition: _algo.h:68
_STLP_INLINE_LOOP _InputIter const _Tp & __val
Definition: _algobase.h:656
#define memset(x, y, z)
Definition: compat.h:39

◆ uninitialized_fill() [3/4]

void uninitialized_fill ( signed char __first,
signed char __last,
const signed char __val 
)
inline

Definition at line 271 of file _uninitialized.h.

272  {
273  signed char __tmp = __val;
274  memset(__first, __STATIC_CAST(unsigned char,__tmp), __last - __first);
275 }
#define __STATIC_CAST(__x, __y)
Definition: features.h:585
_STLP_INLINE_LOOP _InputIter __last
Definition: _algo.h:68
_STLP_INLINE_LOOP _InputIter const _Tp & __val
Definition: _algobase.h:656
#define memset(x, y, z)
Definition: compat.h:39

◆ uninitialized_fill() [4/4]

void uninitialized_fill ( char __first,
char __last,
const char __val 
)
inline

Definition at line 277 of file _uninitialized.h.

277  {
278  char __tmp = __val;
279  memset(__first, __STATIC_CAST(unsigned char,__tmp), __last - __first);
280 }
#define __STATIC_CAST(__x, __y)
Definition: features.h:585
_STLP_INLINE_LOOP _InputIter __last
Definition: _algo.h:68
_STLP_INLINE_LOOP _InputIter const _Tp & __val
Definition: _algobase.h:656
#define memset(x, y, z)
Definition: compat.h:39

◆ uninitialized_fill_n()

template<class _ForwardIter , class _Size , class _Tp >
_STLP_MOVE_TO_STD_NAMESPACE void uninitialized_fill_n ( _ForwardIter  __first,
_Size  __n,
const _Tp &  __x 
)
inline

Definition at line 358 of file _uninitialized.h.

359 { _STLP_PRIV __ufill_n(__first, __n, __x, _STLP_ITERATOR_CATEGORY(__first, _ForwardIter)); }
return __n
Definition: _algo.h:75
#define _STLP_ITERATOR_CATEGORY(_It, _Tp)
#define _STLP_PRIV
Definition: _dm.h:70
_STLP_MOVE_TO_PRIV_NAMESPACE _ForwardIter __ufill_n(_ForwardIter __first, _Size __n, const _Tp &__x)

Referenced by valarray< bool >::_M_initialize(), _Temporary_buffer< _ForwardIterator, _Tp >::_M_initialize_buffer(), basic_string< char, char_traits< char >, allocator< char > >::_M_initialize_dispatch(), test_uninitialized_fill_n::operator()(), valarray< bool >::resize(), rope< _CharT, _Alloc >::rope(), and valarray< bool >::valarray().