STLdoc
STLdocumentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Classes | Macros | Functions
xmemory File Reference
#include <xmemory0>

Classes

class  raw_storage_iterator< _OutIt, _Ty >
 
class  _Temp_iterator< _Ty >
 
struct  _Temp_iterator< _Ty >::_Bufpar
 

Macros

#define _XMEMORY_
 

Functions

template<class _Ty >
_STD_BEGIN pair< _Ty *, ptrdiff_tget_temporary_buffer (ptrdiff_t _Count) _NOEXCEPT
 
template<class _Ty >
void return_temporary_buffer (_Ty *_Pbuf)
 
template<class _InIt , class _FwdIt >
_FwdIt _Uninitialized_copy_unchecked1 (_InIt _First, _InIt _Last, _FwdIt _Dest, _General_ptr_iterator_tag)
 
template<class _InIt , class _FwdIt >
_FwdIt _Uninitialized_copy_unchecked1 (_InIt _First, _InIt _Last, _FwdIt _Dest, _Really_trivial_ptr_iterator_tag)
 
template<class _InIt , class _FwdIt >
_FwdIt _Uninitialized_copy_unchecked (_InIt _First, _InIt _Last, _FwdIt _Dest)
 
template<class _InIt , class _FwdIt >
_FwdIt _Uninitialized_copy1 (_InIt _First, _InIt _Last, _FwdIt _Dest, input_iterator_tag, forward_iterator_tag)
 
template<class _InIt , class _FwdIt >
_FwdIt _Uninitialized_copy1 (_InIt _First, _InIt _Last, _FwdIt _Dest, random_access_iterator_tag, random_access_iterator_tag)
 
template<class _InIt , class _FwdIt >
_FwdIt uninitialized_copy (_InIt _First, _InIt _Last, _FwdIt _Dest)
 
template<class _InIt , class _Diff , class _FwdIt >
_FwdIt _Uninitialized_copy_n_unchecked1 (_InIt _First, _Diff _Count, _FwdIt _Dest, _General_ptr_iterator_tag)
 
template<class _InIt , class _Diff , class _FwdIt >
_FwdIt _Uninitialized_copy_n_unchecked1 (_InIt _First, _Diff _Count, _FwdIt _Dest, _Really_trivial_ptr_iterator_tag)
 
template<class _InIt , class _Diff , class _FwdIt >
_FwdIt _Uninitialized_copy_n_unchecked (_InIt _First, _Diff _Count, _FwdIt _Dest)
 
template<class _InIt , class _Diff , class _FwdIt >
_FwdIt uninitialized_copy_n (_InIt _First, _Diff _Count, _FwdIt _Dest)
 
template<class _InIt , class _FwdIt , class _Alloc >
_FwdIt _Uninitialized_copy_al_unchecked1 (_InIt _First, _InIt _Last, _FwdIt _Dest, _Wrap_alloc< _Alloc > &_Al, _General_ptr_iterator_tag, _Any_tag)
 
template<class _Ty1 , class _Ty2 , class _Alloc >
_Ty2 * _Uninitialized_copy_al_unchecked1 (_Ty1 *_First, _Ty1 *_Last, _Ty2 *_Dest, _Wrap_alloc< _Alloc > &, _Really_trivial_ptr_iterator_tag, true_type)
 
template<class _InIt , class _FwdIt , class _Alloc >
_FwdIt _Uninitialized_copy_al_unchecked (_InIt _First, _InIt _Last, _FwdIt _Dest, _Wrap_alloc< _Alloc > &_Al)
 
template<class _InIt , class _FwdIt , class _Alloc >
_FwdIt _Uninitialized_copy (_InIt _First, _InIt _Last, _FwdIt _Dest, _Wrap_alloc< _Alloc > &_Al)
 
template<class _InIt , class _FwdIt , class _Alloc >
_FwdIt _Uninitialized_move_al_unchecked1 (_InIt _First, _InIt _Last, _FwdIt _Dest, _Wrap_alloc< _Alloc > &_Al, _General_ptr_iterator_tag, _Any_tag)
 
template<class _Ty1 , class _Ty2 , class _Alloc >
_Ty2 * _Uninitialized_move_al_unchecked1 (_Ty1 *_First, _Ty1 *_Last, _Ty2 *_Dest, _Wrap_alloc< _Alloc > &, _Really_trivial_ptr_iterator_tag, true_type)
 
template<class _InIt , class _FwdIt , class _Alloc >
_FwdIt _Uninitialized_move_al_unchecked (_InIt _First, _InIt _Last, _FwdIt _Dest, _Wrap_alloc< _Alloc > &_Al)
 
template<class _InIt , class _FwdIt , class _Alloc >
_FwdIt _Uninitialized_move (_InIt _First, _InIt _Last, _FwdIt _Dest, _Wrap_alloc< _Alloc > &_Al)
 
template<class _FwdIt , class _Tval >
void _Uninitialized_fill_unchecked1 (_FwdIt _First, _FwdIt _Last, const _Tval &_Val, false_type)
 
template<class _FwdIt , class _Tval >
void _Uninitialized_fill_unchecked1 (_FwdIt _First, _FwdIt _Last, const _Tval &_Val, true_type)
 
template<class _FwdIt , class _Tval >
void _Uninitialized_fill_unchecked (_FwdIt _First, _FwdIt _Last, const _Tval &_Val)
 
template<class _FwdIt , class _Tval >
void uninitialized_fill (_FwdIt _First, _FwdIt _Last, const _Tval &_Val)
 
template<class _FwdIt , class _Diff , class _Tval >
_FwdIt _Uninitialized_fill_n_unchecked1 (_FwdIt _First, _Diff _Count, const _Tval &_Val, false_type)
 
template<class _FwdIt , class _Diff , class _Tval >
_FwdIt _Uninitialized_fill_n_unchecked1 (_FwdIt _First, _Diff _Count, const _Tval &_Val, true_type)
 
template<class _FwdIt , class _Diff , class _Tval >
_FwdIt _Uninitialized_fill_n_unchecked (_FwdIt _First, _Diff _Count, const _Tval &_Val)
 
template<class _FwdIt , class _Diff , class _Tval >
_FwdIt uninitialized_fill_n (_FwdIt _First, _Diff _Count, const _Tval &_Val)
 
template<class _FwdIt , class _Diff , class _Alloc >
void _Uninit_alloc_fill_n1 (_FwdIt _First, _Diff _Count, const _Iter_value_t< _FwdIt > *_Pval, _Wrap_alloc< _Alloc > &_Al, false_type)
 
template<class _FwdIt , class _Diff , class _Alloc >
void _Uninit_alloc_fill_n1 (_FwdIt _First, _Diff _Count, const _Iter_value_t< _FwdIt > *_Pval, _Wrap_alloc< _Alloc > &, true_type)
 
template<class _FwdIt , class _Diff , class _Alloc >
void _Uninitialized_fill_n (_FwdIt _First, _Diff _Count, const _Iter_value_t< _FwdIt > *_Pval, _Wrap_alloc< _Alloc > &_Al)
 
template<class _FwdIt , class _Diff , class _Alloc >
void _Uninitialized_default_fill_n1 (_FwdIt _First, _Diff _Count, _Wrap_alloc< _Alloc > &_Al, false_type)
 
template<class _FwdIt , class _Diff , class _Alloc >
void _Uninitialized_default_fill_n1 (_FwdIt _First, _Diff _Count, _Wrap_alloc< _Alloc > &, true_type)
 
template<class _FwdIt , class _Diff , class _Alloc >
void _Uninitialized_default_fill_n (_FwdIt _First, _Diff _Count, _Wrap_alloc< _Alloc > &_Al)
 

Macro Definition Documentation

#define _XMEMORY_

Function Documentation

template<class _FwdIt , class _Diff , class _Alloc >
void _Uninit_alloc_fill_n1 ( _FwdIt  _First,
_Diff  _Count,
const _Iter_value_t< _FwdIt > *  _Pval,
_Wrap_alloc< _Alloc > &  _Al,
false_type   
)
inline
416  { // copy _Count copies of *_Pval to raw _First, using _Al, no special optimization
417  _FwdIt _Next = _First;
418 
419  _TRY_BEGIN
420  for (; 0 < _Count; --_Count, (void)++_First)
421  _Al.construct(_Unfancy(_First), *_Pval);
422  _CATCH_ALL
423  _Destroy_range(_Next, _First, _Al);
424  _RERAISE;
425  _CATCH_END
426  }
unsigned int _Count
Definition: xcomplex:668
void _Destroy_range(_Ptr _First, _Ptr _Last, _Wrap_alloc< _Alloc > &_Al)
Definition: xmemory0:1113
#define _TRY_BEGIN
Definition: xstddef:60
#define _CATCH_END
Definition: xstddef:63
void construct(_Ty *_Ptr, _Types &&..._Args)
Definition: xmemory0:992
#define _CATCH_ALL
Definition: xstddef:62
_CRT_BEGIN_C_HEADER typedef void(__CRTDECL *unexpected_handler)()
auto _Unfancy(_Ptrty _Ptr)
Definition: xstddef:732
#define _RERAISE
Definition: xstddef:74
template<class _FwdIt , class _Diff , class _Alloc >
void _Uninit_alloc_fill_n1 ( _FwdIt  _First,
_Diff  _Count,
const _Iter_value_t< _FwdIt > *  _Pval,
_Wrap_alloc< _Alloc > &  ,
true_type   
)
inline
433  { // copy _Count copies of *_Pval to raw _First, using default _Alloc construct, memset optimization
434  _CSTD memset(_First, *_Pval, _Count);
435  }
unsigned int _Count
Definition: xcomplex:668
#define _CSTD
Definition: yvals.h:570
template<class _InIt , class _FwdIt , class _Alloc >
_FwdIt _Uninitialized_copy ( _InIt  _First,
_InIt  _Last,
_FwdIt  _Dest,
_Wrap_alloc< _Alloc > &  _Al 
)
inline
259  { // copy [_First, _Last) to raw _Dest, using _Al
260  // note: only called internally from elsewhere in the STL, debug checks
261  // and deprecation warnings omitted
262  return (_Rechecked(_Dest,
264  _Unchecked(_Dest), _Al)));
265  }
_Deque_const_iterator< _Mydeque > & _Rechecked(_Deque_const_iterator< _Mydeque > &_Iter, typename _Deque_const_iterator< _Mydeque >::_Unchecked_type _Right)
Definition: deque:534
_Iter_t _Unchecked(_Iter_t _Iter)
Definition: iterator:11
_FwdIt _Last
Definition: algorithm:1936
_FwdIt _Uninitialized_copy_al_unchecked(_InIt _First, _InIt _Last, _FwdIt _Dest, _Wrap_alloc< _Alloc > &_Al)
Definition: xmemory:246
template<class _InIt , class _FwdIt >
_FwdIt _Uninitialized_copy1 ( _InIt  _First,
_InIt  _Last,
_FwdIt  _Dest,
input_iterator_tag  ,
forward_iterator_tag   
)
inline
82  { // copy [_First, _Last) to raw [_Dest, ...), arbitrary iterators
83  return (_Rechecked(_Dest,
84  _Uninitialized_copy_unchecked(_First, _Last, _Unchecked_idl0(_Dest))));
85  }
_Deque_const_iterator< _Mydeque > & _Rechecked(_Deque_const_iterator< _Mydeque > &_Iter, typename _Deque_const_iterator< _Mydeque >::_Unchecked_type _Right)
Definition: deque:534
_FwdIt _Uninitialized_copy_unchecked(_InIt _First, _InIt _Last, _FwdIt _Dest)
Definition: xmemory:71
_FwdIt _Last
Definition: algorithm:1936
template<class _InIt , class _FwdIt >
_FwdIt _Uninitialized_copy1 ( _InIt  _First,
_InIt  _Last,
_FwdIt  _Dest,
random_access_iterator_tag  ,
random_access_iterator_tag   
)
inline
91  { // copy [_First, _Last) to raw [_Dest, ...), random-access iterators
92  _CHECK_RANIT_RANGE(_First, _Last, _Dest);
93  return (_Rechecked(_Dest,
95  }
_Deque_const_iterator< _Mydeque > & _Rechecked(_Deque_const_iterator< _Mydeque > &_Iter, typename _Deque_const_iterator< _Mydeque >::_Unchecked_type _Right)
Definition: deque:534
_Iter_t _Unchecked(_Iter_t _Iter)
Definition: iterator:11
_FwdIt _Uninitialized_copy_unchecked(_InIt _First, _InIt _Last, _FwdIt _Dest)
Definition: xmemory:71
#define _CHECK_RANIT_RANGE(_First, _Last, _Target)
Definition: xutility:487
_FwdIt _Last
Definition: algorithm:1936
template<class _InIt , class _FwdIt , class _Alloc >
_FwdIt _Uninitialized_copy_al_unchecked ( _InIt  _First,
_InIt  _Last,
_FwdIt  _Dest,
_Wrap_alloc< _Alloc > &  _Al 
)
inline
248  { // copy [_First, _Last) to raw _Dest, using _Al, choose optimization
249  return (_Uninitialized_copy_al_unchecked1(_First, _Last, _Dest, _Al,
250  _Ptr_copy_cat(_First, _Dest),
251  _Uses_default_construct_t<_Alloc, decltype(_Unfancy(_Dest)), decltype(*_First)>()));
252  }
typename _Uses_default_construct< _Alloc, _Ptr, _Args...>::type _Uses_default_construct_t
Definition: xmemory0:476
_FwdIt _Uninitialized_copy_al_unchecked1(_InIt _First, _InIt _Last, _FwdIt _Dest, _Wrap_alloc< _Alloc > &_Al, _General_ptr_iterator_tag, _Any_tag)
Definition: xmemory:218
auto _Unfancy(_Ptrty _Ptr)
Definition: xstddef:732
_General_ptr_iterator_tag _Ptr_copy_cat(const _Source &, const _Dest &)
Definition: xutility:781
_FwdIt _Last
Definition: algorithm:1936
template<class _InIt , class _FwdIt , class _Alloc >
_FwdIt _Uninitialized_copy_al_unchecked1 ( _InIt  _First,
_InIt  _Last,
_FwdIt  _Dest,
_Wrap_alloc< _Alloc > &  _Al,
_General_ptr_iterator_tag  ,
_Any_tag   
)
inline
220  { // copy [_First, _Last) to raw _Dest, using _Al, no special optimization
221  _FwdIt _Next = _Dest;
222 
223  _TRY_BEGIN
224  for (; _First != _Last; ++_Dest, (void)++_First)
225  _Al.construct(_Unfancy(_Dest), *_First);
226  _CATCH_ALL
227  _Destroy_range(_Next, _Dest, _Al);
228  _RERAISE;
229  _CATCH_END
230 
231  return (_Dest);
232  }
void _Destroy_range(_Ptr _First, _Ptr _Last, _Wrap_alloc< _Alloc > &_Al)
Definition: xmemory0:1113
#define _TRY_BEGIN
Definition: xstddef:60
#define _CATCH_END
Definition: xstddef:63
void construct(_Ty *_Ptr, _Types &&..._Args)
Definition: xmemory0:992
#define _CATCH_ALL
Definition: xstddef:62
_CRT_BEGIN_C_HEADER typedef void(__CRTDECL *unexpected_handler)()
auto _Unfancy(_Ptrty _Ptr)
Definition: xstddef:732
#define _RERAISE
Definition: xstddef:74
_FwdIt _Last
Definition: algorithm:1936
template<class _Ty1 , class _Ty2 , class _Alloc >
_Ty2* _Uninitialized_copy_al_unchecked1 ( _Ty1 *  _First,
_Ty1 *  _Last,
_Ty2 *  _Dest,
_Wrap_alloc< _Alloc > &  ,
_Really_trivial_ptr_iterator_tag  ,
true_type   
)
inline
239  { // copy [_First, _Last) to raw _Dest, using default _Alloc construct, memmove optimization
240  return (_Copy_memmove(_First, _Last, _Dest));
241  }
_OutIt _Copy_memmove(_InIt _First, _InIt _Last, _OutIt _Dest)
Definition: xutility:2299
_FwdIt _Last
Definition: algorithm:1936
template<class _InIt , class _Diff , class _FwdIt >
_FwdIt _Uninitialized_copy_n_unchecked ( _InIt  _First,
_Diff  _Count,
_FwdIt  _Dest 
)
inline
157  { // copy [_First, _First + _Count) to [_Dest, ...), choose optimization
159  _Dest, _Ptr_copy_cat(_First, _Dest)));
160  }
unsigned int _Count
Definition: xcomplex:668
_FwdIt _Uninitialized_copy_n_unchecked1(_InIt _First, _Diff _Count, _FwdIt _Dest, _General_ptr_iterator_tag)
Definition: xmemory:125
_General_ptr_iterator_tag _Ptr_copy_cat(const _Source &, const _Dest &)
Definition: xutility:781
template<class _InIt , class _Diff , class _FwdIt >
_FwdIt _Uninitialized_copy_n_unchecked1 ( _InIt  _First,
_Diff  _Count,
_FwdIt  _Dest,
_General_ptr_iterator_tag   
)
inline
127  { // copy [_First, _First + _Count) to [_Dest, ...), no special optimization
128  _FwdIt _Next = _Dest;
129 
130  _TRY_BEGIN
131  for (; 0 < _Count; --_Count, (void)++_Dest, ++_First)
132  _Construct(_Unfancy(_Dest), *_First);
133  _CATCH_ALL
134  _Destroy_range(_Next, _Dest);
135  _RERAISE;
136  _CATCH_END
137 
138  return (_Dest);
139  }
unsigned int _Count
Definition: xcomplex:668
void _Destroy_range(_Ptr _First, _Ptr _Last, _Wrap_alloc< _Alloc > &_Al)
Definition: xmemory0:1113
#define _TRY_BEGIN
Definition: xstddef:60
#define _CATCH_END
Definition: xstddef:63
void _Construct(_Ty1 *_Ptr, _Ty2 &&_Val)
Definition: xmemory0:138
#define _CATCH_ALL
Definition: xstddef:62
_CRT_BEGIN_C_HEADER typedef void(__CRTDECL *unexpected_handler)()
auto _Unfancy(_Ptrty _Ptr)
Definition: xstddef:732
#define _RERAISE
Definition: xstddef:74
template<class _InIt , class _Diff , class _FwdIt >
_FwdIt _Uninitialized_copy_n_unchecked1 ( _InIt  _First,
_Diff  _Count,
_FwdIt  _Dest,
_Really_trivial_ptr_iterator_tag   
)
inline
146  { // copy [_First, _First + _Count) to [_Dest, ...), memmove optimization
147  if (0 < _Count)
148  return (_Copy_memmove(_First, _First + _Count, _Dest));
149  return (_Dest);
150  }
unsigned int _Count
Definition: xcomplex:668
_OutIt _Copy_memmove(_InIt _First, _InIt _Last, _OutIt _Dest)
Definition: xutility:2299
template<class _InIt , class _FwdIt >
_FwdIt _Uninitialized_copy_unchecked ( _InIt  _First,
_InIt  _Last,
_FwdIt  _Dest 
)
inline
73  { // copy [_First, _Last) to raw [_Dest, ...), choose optimization
74  return (_Uninitialized_copy_unchecked1(_First, _Last,
75  _Dest, _Ptr_copy_cat(_First, _Dest)));
76  }
_FwdIt _Uninitialized_copy_unchecked1(_InIt _First, _InIt _Last, _FwdIt _Dest, _General_ptr_iterator_tag)
Definition: xmemory:45
_General_ptr_iterator_tag _Ptr_copy_cat(const _Source &, const _Dest &)
Definition: xutility:781
_FwdIt _Last
Definition: algorithm:1936
template<class _InIt , class _FwdIt >
_FwdIt _Uninitialized_copy_unchecked1 ( _InIt  _First,
_InIt  _Last,
_FwdIt  _Dest,
_General_ptr_iterator_tag   
)
inline
47  { // copy [_First, _Last) to raw [_Dest, ...), no special optimization
48  _FwdIt _Next = _Dest;
49 
51  for (; _First != _Last; ++_Dest, (void)++_First)
52  _Construct(_Unfancy(_Dest), *_First);
54  _Destroy_range(_Next, _Dest);
55  _RERAISE;
57 
58  return (_Dest);
59  }
void _Destroy_range(_Ptr _First, _Ptr _Last, _Wrap_alloc< _Alloc > &_Al)
Definition: xmemory0:1113
#define _TRY_BEGIN
Definition: xstddef:60
#define _CATCH_END
Definition: xstddef:63
void _Construct(_Ty1 *_Ptr, _Ty2 &&_Val)
Definition: xmemory0:138
#define _CATCH_ALL
Definition: xstddef:62
_CRT_BEGIN_C_HEADER typedef void(__CRTDECL *unexpected_handler)()
auto _Unfancy(_Ptrty _Ptr)
Definition: xstddef:732
#define _RERAISE
Definition: xstddef:74
_FwdIt _Last
Definition: algorithm:1936
template<class _InIt , class _FwdIt >
_FwdIt _Uninitialized_copy_unchecked1 ( _InIt  _First,
_InIt  _Last,
_FwdIt  _Dest,
_Really_trivial_ptr_iterator_tag   
)
inline
65  { // copy [_First, _Last) to raw [_Dest, ...), memmove optimization
66  return (_Copy_memmove(_First, _Last, _Dest));
67  }
_OutIt _Copy_memmove(_InIt _First, _InIt _Last, _OutIt _Dest)
Definition: xutility:2299
_FwdIt _Last
Definition: algorithm:1936
template<class _FwdIt , class _Diff , class _Alloc >
void _Uninitialized_default_fill_n ( _FwdIt  _First,
_Diff  _Count,
_Wrap_alloc< _Alloc > &  _Al 
)
inline
479  { // value-initialize _Count objects to raw _First, using _Al
480  typedef _Iter_value_t<_FwdIt> _Ty;
482  typename conjunction<
487  _Uses_default_construct<_Alloc, decltype(_Unfancy(_First))>>::type());
488  }
Definition: type_traits:1085
unsigned int _Count
Definition: xcomplex:668
void _Uninitialized_default_fill_n1(_FwdIt _First, _Diff _Count, _Wrap_alloc< _Alloc > &_Al, false_type)
Definition: xmemory:451
Definition: type_traits:1094
Definition: type_traits:368
Definition: type_traits:376
typename iterator_traits< _Iter >::value_type _Iter_value_t
Definition: xutility:647
Definition: type_traits:298
auto _Unfancy(_Ptrty _Ptr)
Definition: xstddef:732
Definition: type_traits:1039
Definition: type_traits:400
template<class _FwdIt , class _Diff , class _Alloc >
void _Uninitialized_default_fill_n1 ( _FwdIt  _First,
_Diff  _Count,
_Wrap_alloc< _Alloc > &  _Al,
false_type   
)
inline
453  { // value-initialize _Count objects to raw _First, using _Al, no special optimization
454  _FwdIt _Next = _First;
455 
456  _TRY_BEGIN
457  for (; 0 < _Count; --_Count, (void)++_First)
458  _Al.construct(_Unfancy(_First));
459  _CATCH_ALL
460  _Destroy_range(_Next, _First, _Al);
461  _RERAISE;
462  _CATCH_END
463  }
unsigned int _Count
Definition: xcomplex:668
void _Destroy_range(_Ptr _First, _Ptr _Last, _Wrap_alloc< _Alloc > &_Al)
Definition: xmemory0:1113
#define _TRY_BEGIN
Definition: xstddef:60
#define _CATCH_END
Definition: xstddef:63
void construct(_Ty *_Ptr, _Types &&..._Args)
Definition: xmemory0:992
#define _CATCH_ALL
Definition: xstddef:62
_CRT_BEGIN_C_HEADER typedef void(__CRTDECL *unexpected_handler)()
auto _Unfancy(_Ptrty _Ptr)
Definition: xstddef:732
#define _RERAISE
Definition: xstddef:74
template<class _FwdIt , class _Diff , class _Alloc >
void _Uninitialized_default_fill_n1 ( _FwdIt  _First,
_Diff  _Count,
_Wrap_alloc< _Alloc > &  ,
true_type   
)
inline
470  { // value-initialize _Count objects to raw _First, using default _Alloc construct, all-bits-zero type
471  _CSTD memset(_First, 0, _Count * sizeof(_Iter_value_t<_FwdIt>));
472  }
unsigned int _Count
Definition: xcomplex:668
typename iterator_traits< _Iter >::value_type _Iter_value_t
Definition: xutility:647
#define _CSTD
Definition: yvals.h:570
template<class _FwdIt , class _Diff , class _Alloc >
void _Uninitialized_fill_n ( _FwdIt  _First,
_Diff  _Count,
const _Iter_value_t< _FwdIt > *  _Pval,
_Wrap_alloc< _Alloc > &  _Al 
)
inline
442  { // copy _Count copies of *_Pval to raw _First, using _Al
443  _Uninit_alloc_fill_n1(_First, _Count, _Pval, _Al,
444  typename conjunction<decltype(_Fill_memset_is_safe(_First, *_Pval)),
445  _Uses_default_construct<_Alloc, decltype(_Unfancy(_First)), decltype(*_Pval)>>::type());
446  }
Definition: type_traits:1085
unsigned int _Count
Definition: xcomplex:668
void _Uninit_alloc_fill_n1(_FwdIt _First, _Diff _Count, const _Iter_value_t< _FwdIt > *_Pval, _Wrap_alloc< _Alloc > &_Al, false_type)
Definition: xmemory:414
_Fill_memset_is_safe_helper< _FwdIt, _Ty >::type _Fill_memset_is_safe(const _FwdIt &, const _Ty &)
Definition: xutility:2756
auto _Unfancy(_Ptrty _Ptr)
Definition: xstddef:732
Definition: type_traits:1039
template<class _FwdIt , class _Diff , class _Tval >
_FwdIt _Uninitialized_fill_n_unchecked ( _FwdIt  _First,
_Diff  _Count,
const _Tval &  _Val 
)
inline
396  { // copy _Count copies of _Val to raw _First, choose optimization
398  }
unsigned int _Count
Definition: xcomplex:668
_FwdIt _Uninitialized_fill_n_unchecked1(_FwdIt _First, _Diff _Count, const _Tval &_Val, false_type)
Definition: xmemory:363
_In_ int _Val
Definition: vcruntime_string.h:62
_Fill_memset_is_safe_helper< _FwdIt, _Ty >::type _Fill_memset_is_safe(const _FwdIt &, const _Ty &)
Definition: xutility:2756
template<class _FwdIt , class _Diff , class _Tval >
_FwdIt _Uninitialized_fill_n_unchecked1 ( _FwdIt  _First,
_Diff  _Count,
const _Tval &  _Val,
false_type   
)
inline
364  { // copy _Count copies of _Val to raw _First, no special optimization
365  _FwdIt _Next = _First;
366 
367  _TRY_BEGIN
368  for (; 0 < _Count; --_Count, (void)++_First)
369  _Construct(_Unfancy(_First), _Val);
370  _CATCH_ALL
371  _Destroy_range(_Next, _First);
372  _RERAISE;
373  _CATCH_END
374 
375  return (_First);
376  }
unsigned int _Count
Definition: xcomplex:668
void _Destroy_range(_Ptr _First, _Ptr _Last, _Wrap_alloc< _Alloc > &_Al)
Definition: xmemory0:1113
#define _TRY_BEGIN
Definition: xstddef:60
#define _CATCH_END
Definition: xstddef:63
_In_ int _Val
Definition: vcruntime_string.h:62
void _Construct(_Ty1 *_Ptr, _Ty2 &&_Val)
Definition: xmemory0:138
#define _CATCH_ALL
Definition: xstddef:62
_CRT_BEGIN_C_HEADER typedef void(__CRTDECL *unexpected_handler)()
auto _Unfancy(_Ptrty _Ptr)
Definition: xstddef:732
#define _RERAISE
Definition: xstddef:74
template<class _FwdIt , class _Diff , class _Tval >
_FwdIt _Uninitialized_fill_n_unchecked1 ( _FwdIt  _First,
_Diff  _Count,
const _Tval &  _Val,
true_type   
)
inline
382  { // copy _Count copies of _Val to raw _First, memset optimization
383  if (0 < _Count)
384  {
385  _CSTD memset(_First, _Val, _Count);
386  return (_First + _Count);
387  }
388 
389  return (_First);
390  }
unsigned int _Count
Definition: xcomplex:668
_In_ int _Val
Definition: vcruntime_string.h:62
#define _CSTD
Definition: yvals.h:570
template<class _FwdIt , class _Tval >
void _Uninitialized_fill_unchecked ( _FwdIt  _First,
_FwdIt  _Last,
const _Tval &  _Val 
)
inline
347  { // copy _Val throughout raw [_First, _Last), choose optimization
349  }
_In_ int _Val
Definition: vcruntime_string.h:62
_Fill_memset_is_safe_helper< _FwdIt, _Ty >::type _Fill_memset_is_safe(const _FwdIt &, const _Ty &)
Definition: xutility:2756
void _Uninitialized_fill_unchecked1(_FwdIt _First, _FwdIt _Last, const _Tval &_Val, false_type)
Definition: xmemory:324
_FwdIt _Last
Definition: algorithm:1936
template<class _FwdIt , class _Tval >
void _Uninitialized_fill_unchecked1 ( _FwdIt  _First,
_FwdIt  _Last,
const _Tval &  _Val,
false_type   
)
inline
325  { // copy _Val throughout raw [_First, _Last), no special optimization
326  _FwdIt _Next = _First;
327 
328  _TRY_BEGIN
329  for (; _First != _Last; ++_First)
330  _Construct(_Unfancy(_First), _Val);
331  _CATCH_ALL
332  _Destroy_range(_Next, _First);
333  _RERAISE;
334  _CATCH_END
335  }
void _Destroy_range(_Ptr _First, _Ptr _Last, _Wrap_alloc< _Alloc > &_Al)
Definition: xmemory0:1113
#define _TRY_BEGIN
Definition: xstddef:60
#define _CATCH_END
Definition: xstddef:63
_In_ int _Val
Definition: vcruntime_string.h:62
void _Construct(_Ty1 *_Ptr, _Ty2 &&_Val)
Definition: xmemory0:138
#define _CATCH_ALL
Definition: xstddef:62
auto _Unfancy(_Ptrty _Ptr)
Definition: xstddef:732
#define _RERAISE
Definition: xstddef:74
_FwdIt _Last
Definition: algorithm:1936
template<class _FwdIt , class _Tval >
void _Uninitialized_fill_unchecked1 ( _FwdIt  _First,
_FwdIt  _Last,
const _Tval &  _Val,
true_type   
)
inline
340  { // copy _Val throughout raw [_First, _Last), memset optimization
341  _CSTD memset(_First, _Val, _Last - _First);
342  }
_In_ int _Val
Definition: vcruntime_string.h:62
#define _CSTD
Definition: yvals.h:570
_FwdIt _Last
Definition: algorithm:1936
template<class _InIt , class _FwdIt , class _Alloc >
_FwdIt _Uninitialized_move ( _InIt  _First,
_InIt  _Last,
_FwdIt  _Dest,
_Wrap_alloc< _Alloc > &  _Al 
)
inline
313  { // move [_First, _Last) to raw _Dest, using _Al
314  // note: only called internally from elsewhere in the STL, debug checks
315  // and deprecation warnings omitted
316  return (_Rechecked(_Dest,
318  _Unchecked(_Dest), _Al)));
319  }
_FwdIt _Uninitialized_move_al_unchecked(_InIt _First, _InIt _Last, _FwdIt _Dest, _Wrap_alloc< _Alloc > &_Al)
Definition: xmemory:299
_Deque_const_iterator< _Mydeque > & _Rechecked(_Deque_const_iterator< _Mydeque > &_Iter, typename _Deque_const_iterator< _Mydeque >::_Unchecked_type _Right)
Definition: deque:534
_Iter_t _Unchecked(_Iter_t _Iter)
Definition: iterator:11
_FwdIt _Last
Definition: algorithm:1936
template<class _InIt , class _FwdIt , class _Alloc >
_FwdIt _Uninitialized_move_al_unchecked ( _InIt  _First,
_InIt  _Last,
_FwdIt  _Dest,
_Wrap_alloc< _Alloc > &  _Al 
)
inline
301  { // move [_First, _Last) to raw _Dest, using _Al, choose optimization
302  typedef decltype(_STD move(*_First)) _Src_type; // TRANSITION MODULES VSO#222794
303  return (_Uninitialized_move_al_unchecked1(_First, _Last, _Dest, _Al,
304  _Ptr_move_cat(_First, _Dest),
305  _Uses_default_construct_t<_Alloc, decltype(_Unfancy(_Dest)), _Src_type>()));
306  }
_FwdIt _Uninitialized_move_al_unchecked1(_InIt _First, _InIt _Last, _FwdIt _Dest, _Wrap_alloc< _Alloc > &_Al, _General_ptr_iterator_tag, _Any_tag)
Definition: xmemory:271
typename _Uses_default_construct< _Alloc, _Ptr, _Args...>::type _Uses_default_construct_t
Definition: xmemory0:476
return(_PAIR_TYPE(_FwdIt)(_First, _First))
constexpr remove_reference< _Ty >::type && move(_Ty &&_Arg) _NOEXCEPT
Definition: type_traits:1290
_General_ptr_iterator_tag _Ptr_move_cat(const _Source &, const _Dest &)
Definition: xutility:798
auto _Unfancy(_Ptrty _Ptr)
Definition: xstddef:732
_FwdIt _Last
Definition: algorithm:1936
template<class _InIt , class _FwdIt , class _Alloc >
_FwdIt _Uninitialized_move_al_unchecked1 ( _InIt  _First,
_InIt  _Last,
_FwdIt  _Dest,
_Wrap_alloc< _Alloc > &  _Al,
_General_ptr_iterator_tag  ,
_Any_tag   
)
inline
273  { // move [_First, _Last) to raw _Dest, using _Al, no special optimization
274  _FwdIt _Next = _Dest;
275 
276  _TRY_BEGIN
277  for (; _First != _Last; ++_Dest, (void)++_First)
278  _Al.construct(_Unfancy(_Dest), _STD move(*_First));
279  _CATCH_ALL
280  _Destroy_range(_Next, _Dest, _Al);
281  _RERAISE;
282  _CATCH_END
283 
284  return (_Dest);
285  }
void _Destroy_range(_Ptr _First, _Ptr _Last, _Wrap_alloc< _Alloc > &_Al)
Definition: xmemory0:1113
#define _TRY_BEGIN
Definition: xstddef:60
#define _CATCH_END
Definition: xstddef:63
void construct(_Ty *_Ptr, _Types &&..._Args)
Definition: xmemory0:992
#define _CATCH_ALL
Definition: xstddef:62
constexpr remove_reference< _Ty >::type && move(_Ty &&_Arg) _NOEXCEPT
Definition: type_traits:1290
_CRT_BEGIN_C_HEADER typedef void(__CRTDECL *unexpected_handler)()
auto _Unfancy(_Ptrty _Ptr)
Definition: xstddef:732
#define _RERAISE
Definition: xstddef:74
_FwdIt _Last
Definition: algorithm:1936
template<class _Ty1 , class _Ty2 , class _Alloc >
_Ty2* _Uninitialized_move_al_unchecked1 ( _Ty1 *  _First,
_Ty1 *  _Last,
_Ty2 *  _Dest,
_Wrap_alloc< _Alloc > &  ,
_Really_trivial_ptr_iterator_tag  ,
true_type   
)
inline
292  { // move [_First, _Last) to raw _Dest, using default _Alloc construct, memmove optimization
293  return (_Copy_memmove(_First, _Last, _Dest));
294  }
_OutIt _Copy_memmove(_InIt _First, _InIt _Last, _OutIt _Dest)
Definition: xutility:2299
_FwdIt _Last
Definition: algorithm:1936
template<class _Ty >
_STD_BEGIN pair<_Ty *, ptrdiff_t> get_temporary_buffer ( ptrdiff_t  _Count)
inline
20  { // get raw temporary buffer of up to _Count elements
21  _Ty *_Pbuf;
22 
23  if (_Count < 0)
24  _Count = 0;
25  else if (((size_t)(-1) / sizeof (_Ty) < _Count))
26  _Xbad_alloc(); // report no memory
27  for (_Pbuf = 0; 0 < _Count; _Count /= 2)
28  if ((_Pbuf = (_Ty *)operator new(
29  (size_t)_Count * sizeof (_Ty), nothrow)) != 0)
30  break;
31 
32  return (pair<_Ty *, ptrdiff_t>(_Pbuf, _Count));
33  }
unsigned int _Count
Definition: xcomplex:668
_CRTIMP2_PURE void __CLRCALL_PURE_OR_CDECL _Xbad_alloc()
Definition: utility:75
template<class _Ty >
void return_temporary_buffer ( _Ty *  _Pbuf)
inline
38  { // delete raw temporary buffer
39  operator delete(_Pbuf);
40  }
template<class _InIt , class _FwdIt >
_FwdIt uninitialized_copy ( _InIt  _First,
_InIt  _Last,
_FwdIt  _Dest 
)
inline
101  { // copy [_First, _Last) to raw [_Dest, ...)
103  _DEBUG_RANGE_PTR(_First, _Last, _Dest);
106  }
#define _DEPRECATE_UNCHECKED(_Func, _Iter)
Definition: xutility:478
typename iterator_traits< _Iter >::iterator_category _Iter_cat_t
Definition: xutility:655
_FwdIt _Uninitialized_copy1(_InIt _First, _InIt _Last, _FwdIt _Dest, input_iterator_tag, forward_iterator_tag)
Definition: xmemory:80
_FwdIt uninitialized_copy(_InIt _First, _InIt _Last, _FwdIt _Dest)
Definition: xmemory:99
_Iter_t _Unchecked(_Iter_t _Iter)
Definition: iterator:11
#define _DEBUG_RANGE_PTR(first, last, ptr)
Definition: xutility:824
_FwdIt _Last
Definition: algorithm:1936
template<class _InIt , class _Diff , class _FwdIt >
_FwdIt uninitialized_copy_n ( _InIt  _First,
_Diff  _Count,
_FwdIt  _Dest 
)
inline
167  { // copy [_First, _First + _Count) to [_Dest, ...)
168  // Note that we _DEPRECATE_UNCHECKED _Dest because _Count logically goes with _First
170  return (_Rechecked(_Dest,
172  }
#define _DEPRECATE_UNCHECKED(_Func, _Iter)
Definition: xutility:478
unsigned int _Count
Definition: xcomplex:668
_Deque_const_iterator< _Mydeque > & _Rechecked(_Deque_const_iterator< _Mydeque > &_Iter, typename _Deque_const_iterator< _Mydeque >::_Unchecked_type _Right)
Definition: deque:534
_FwdIt uninitialized_copy_n(_InIt _First, _Diff _Count, _FwdIt _Dest)
Definition: xmemory:165
_FwdIt _Uninitialized_copy_n_unchecked(_InIt _First, _Diff _Count, _FwdIt _Dest)
Definition: xmemory:155
auto _Unchecked_n(_Iter _Src, _Diff)
Definition: xutility:678
template<class _FwdIt , class _Tval >
void uninitialized_fill ( _FwdIt  _First,
_FwdIt  _Last,
const _Tval &  _Val 
)
inline
354  { // copy _Val throughout raw [_First, _Last)
355  _DEBUG_RANGE(_First, _Last);
357  }
void _Uninitialized_fill_unchecked(_FwdIt _First, _FwdIt _Last, const _Tval &_Val)
Definition: xmemory:346
#define _DEBUG_RANGE(first, last)
Definition: xutility:822
_In_ int _Val
Definition: vcruntime_string.h:62
_Iter_t _Unchecked(_Iter_t _Iter)
Definition: iterator:11
_FwdIt _Last
Definition: algorithm:1936
template<class _FwdIt , class _Diff , class _Tval >
_FwdIt uninitialized_fill_n ( _FwdIt  _First,
_Diff  _Count,
const _Tval &  _Val 
)
inline
405  { // copy _Count copies of _Val to raw _First
406  return (_Rechecked(_First,
408  }
unsigned int _Count
Definition: xcomplex:668
_Deque_const_iterator< _Mydeque > & _Rechecked(_Deque_const_iterator< _Mydeque > &_Iter, typename _Deque_const_iterator< _Mydeque >::_Unchecked_type _Right)
Definition: deque:534
_FwdIt _Uninitialized_fill_n_unchecked(_FwdIt _First, _Diff _Count, const _Tval &_Val)
Definition: xmemory:395
_In_ int _Val
Definition: vcruntime_string.h:62
auto _Unchecked_n(_Iter _Src, _Diff)
Definition: xutility:678