59 #pragma GCC system_header 
   64 namespace __gnu_cxx _GLIBCXX_VISIBILITY(default)
 
   66 _GLIBCXX_BEGIN_NAMESPACE_VERSION
 
   73   template<
typename _InputIter, 
typename _Size, 
typename _ForwardIter>
 
   74     pair<_InputIter, _ForwardIter>
 
   75     __uninitialized_copy_n(_InputIter __first, _Size __count,
 
   78       _ForwardIter __cur = __result;
 
   81       for (; __count > 0 ; --__count, ++__first, ++__cur)
 
   83       return pair<_InputIter, _ForwardIter>(__first, __cur);
 
   88       __throw_exception_again;
 
   92   template<
typename _RandomAccessIter, 
typename _Size, 
typename _ForwardIter>
 
   93     inline pair<_RandomAccessIter, _ForwardIter>
 
   94     __uninitialized_copy_n(_RandomAccessIter __first, _Size __count,
 
   95                _ForwardIter __result,
 
   98       _RandomAccessIter __last = __first + __count;
 
   99       return (pair<_RandomAccessIter, _ForwardIter>
 
  103   template<
typename _InputIter, 
typename _Size, 
typename _ForwardIter>
 
  104     inline pair<_InputIter, _ForwardIter>
 
  105     __uninitialized_copy_n(_InputIter __first, _Size __count,
 
  106                _ForwardIter __result)
 
  107     { 
return __gnu_cxx::__uninitialized_copy_n(__first, __count, __result,
 
  120   template<
typename _InputIter, 
typename _Size, 
typename _ForwardIter>
 
  121     inline pair<_InputIter, _ForwardIter>
 
  123              _ForwardIter __result)
 
  124     { 
return __gnu_cxx::__uninitialized_copy_n(__first, __count, __result,
 
  130   template<
typename _InputIter, 
typename _Size, 
typename _ForwardIter,
 
  132     pair<_InputIter, _ForwardIter>
 
  133     __uninitialized_copy_n_a(_InputIter __first, _Size __count,
 
  134                  _ForwardIter __result,
 
  137       _ForwardIter __cur = __result;
 
  140       for (; __count > 0 ; --__count, ++__first, ++__cur)
 
  141         __alloc.construct(&*__cur, *__first);
 
  142       return pair<_InputIter, _ForwardIter>(__first, __cur);
 
  147       __throw_exception_again;
 
  151   template<
typename _InputIter, 
typename _Size, 
typename _ForwardIter,
 
  153     inline pair<_InputIter, _ForwardIter>
 
  154     __uninitialized_copy_n_a(_InputIter __first, _Size __count,
 
  155                  _ForwardIter __result,
 
  181   template <
class _ForwardIterator, 
class _Tp
 
  182         = 
typename std::iterator_traits<_ForwardIterator>::value_type >
 
  193 _GLIBCXX_END_NAMESPACE_VERSION
 
temporary_buffer(_ForwardIterator __first, _ForwardIterator __last)
Requests storage large enough to hold a copy of [first,last). 
 
Struct holding two objects of arbitrary type. 
 
Random-access iterators support a superset of bidirectional iterator operations. 
 
void _Construct(_T1 *__p, _Args &&...__args)
 
~temporary_buffer()
Destroys objects and frees storage. 
 
_ForwardIterator uninitialized_copy(_InputIterator __first, _InputIterator __last, _ForwardIterator __result)
Copies the range [first,last) into result. 
 
The standard allocator, as per [20.4]. 
 
void _Destroy(_Tp *__pointer)
 
iterator_traits< _Iter >::iterator_category __iterator_category(const _Iter &)
 
pair< _InputIter, _ForwardIter > uninitialized_copy_n(_InputIter __first, _Size __count, _ForwardIter __result)
Copies the range [first,last) into result.