ReactOS 0.4.15-dev-8422-g6219a1a
_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}
_STLP_INLINE_LOOP _InputIter __last
Definition: _algo.h:68
void _Param_Construct(_T1 *__p, const _T2 &__val)
Definition: _construct.h:150
#define _STLP_UNWIND(action)
Definition: features.h:824
#define _STLP_RET_AFTER_THROW(data)
Definition: features.h:829
#define _STLP_TRY
Definition: features.h:817

Referenced by __ucopy(), __ucopy_aux(), __ucopy_ptrs(), basic_string< _CharT, _Traits, _Alloc >::_M_append(), deque< _Tp, >::_M_fill_insert_aux(), basic_string< _CharT, _Traits, _Alloc >::_M_insert_aux(), deque< _Tp, >::_M_insert_range_aux(), basic_string< _CharT, _Traits, _Alloc >::_M_reserve(), deque< _Tp, >::deque(), basic_string< _CharT, _Traits, _Alloc >::insert(), deque< _Tp, >::insert(), and deque< wstring >::operator=().

◆ __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_BEGIN_NAMESPACE _STLP_MOVE_TO_PRIV_NAMESPACE _OutputIter __ucopy(_InputIter __first, _InputIter __last, _OutputIter __result, _Distance *)

◆ __ucopy() [3/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
__kernel_ptrdiff_t ptrdiff_t
Definition: linux.h:247

◆ __ucopy() [4/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

◆ __ucopy_aux() [1/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)
#define _STLP_DISTANCE_TYPE(_It, _Tp)

◆ __ucopy_aux() [2/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}
#define _STLP_VALUE_TYPE(_It, _Tp)
_OutputIter __ucopy_ptrs(_InputIter __first, _InputIter __last, _OutputIter __result, const __false_type &)
_TrivialUCopy< _Src, _Dst > _UseTrivialUCopy(_Src *, _Dst *)
Definition: type_traits.h:505

Referenced by uninitialized_copy().

◆ __ucopy_n() [1/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_PRIV
Definition: _dm.h:70
_STLP_MOVE_TO_PRIV_NAMESPACE _STLP_INLINE_LOOP pair< _InputIter, _ForwardIter > __ucopy_n(_InputIter __first, _Size __count, _ForwardIter __result, const input_iterator_tag &)

◆ __ucopy_n() [2/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  
)

◆ __ucopy_n() [3/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_MOVE_TO_STD_NAMESPACE _ForwardIter uninitialized_copy(_InputIter __first, _InputIter __last, _ForwardIter __result)

◆ __ucopy_ptrs() [1/2]

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

◆ __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}
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}
#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}

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 *)

◆ __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}

◆ __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}

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); }
_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); }
_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; }

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()); }
_STLP_INLINE_LOOP _InputIter const _Tp & __val
Definition: _algobase.h:656
_ForwardIter __uinit_aux_aux(_ForwardIter __first, _Size __n, const _Tp &__val, const __false_type &)
_DefaultZeroValueQuestion< _Tp > _HasDefaultZeroValue(_Tp *)
Definition: type_traits.h:561

◆ __uinit_aux_aux() [1/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}
#define memset(x, y, z)
Definition: compat.h:39

◆ __uinit_aux_aux() [2/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); }

Referenced by __uinit_aux().

◆ __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}

Referenced by deque< _Tp, >::_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}
_STLP_MOVE_TO_STD_NAMESPACE void uninitialized_fill(_ForwardIter __first, _ForwardIter __last, const _Tp &__x)

Referenced by deque< _Tp, >::_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}

Referenced by deque< _Tp, >::_M_fill_insert_aux().

◆ __uninitialized_fill_n()

◆ __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()); }
_ForwardIter __uinit_aux(_ForwardIter __first, _Size __n, const _Tp &, const __true_type &)
_TrivialInit< _Tp > _UseTrivialInit(_Tp *)
Definition: type_traits.h:541

Referenced by vector< _Tp, >::_M_initialize(), and vector< _Tp, >::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); }

Referenced by vector< _Tp, >::_M_insert_overflow_aux(), and vector< _Tp, >::_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}
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); }

◆ 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); }

◆ 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

◆ uninitialized_fill() [2/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

◆ 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}

◆ uninitialized_fill() [4/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}

◆ uninitialized_fill_n()