60#pragma GCC system_header
68namespace __gnu_cxx _GLIBCXX_VISIBILITY(default)
70_GLIBCXX_BEGIN_NAMESPACE_VERSION
72 using std::_Temporary_buffer;
74 template<
typename _InputIter,
typename _Size,
typename _ForwardIter>
76 __uninitialized_copy_n(_InputIter __first, _Size __count,
77 _ForwardIter __result, std::input_iterator_tag)
79 _ForwardIter __cur = __result;
82 for (; __count > 0 ; --__count, ++__first, ++__cur)
89 __throw_exception_again;
93 template<
typename _RandomAccessIter,
typename _Size,
typename _ForwardIter>
95 __uninitialized_copy_n(_RandomAccessIter __first, _Size __count,
96 _ForwardIter __result,
97 std::random_access_iterator_tag)
99 _RandomAccessIter __last = __first + __count;
104 template<
typename _InputIter,
typename _Size,
typename _ForwardIter>
106 __uninitialized_copy_n(_InputIter __first, _Size __count,
107 _ForwardIter __result)
109 return __gnu_cxx::__uninitialized_copy_n(__first, __count, __result,
123 template<
typename _InputIter,
typename _Size,
typename _ForwardIter>
126 _ForwardIter __result)
128 return __gnu_cxx::__uninitialized_copy_n(__first, __count, __result,
135 template<
typename _InputIter,
typename _Size,
typename _ForwardIter,
138 __uninitialized_copy_n_a(_InputIter __first, _Size __count,
139 _ForwardIter __result,
142 _ForwardIter __cur = __result;
145 for (; __count > 0 ; --__count, ++__first, ++__cur)
146 __alloc.construct(&*__cur, *__first);
152 __throw_exception_again;
156 template<
typename _InputIter,
typename _Size,
typename _ForwardIter,
159 __uninitialized_copy_n_a(_InputIter __first, _Size __count,
160 _ForwardIter __result,
186 template <
class _ForwardIterator,
class _Tp
187 =
typename std::iterator_traits<_ForwardIterator>::value_type >
200_GLIBCXX_END_NAMESPACE_VERSION
std::pair< _InputIter, _ForwardIter > uninitialized_copy_n(_InputIter __first, _Size __count, _ForwardIter __result)
Copies the range [first,last) into result.
void distance(_InputIterator __first, _InputIterator __last, _Distance &__n)
_ForwardIterator uninitialized_copy(_InputIterator __first, _InputIterator __last, _ForwardIterator __result)
Copies the range [first,last) into result.
pair(_T1, _T2) -> pair< _T1, _T2 >
Two pairs are equal iff their members are equal.
constexpr iterator_traits< _Iter >::iterator_category __iterator_category(const _Iter &)
ISO C++ entities toplevel namespace is std.
constexpr void _Construct(_Tp *__p, _Args &&... __args)
constexpr void _Destroy(_ForwardIterator __first, _ForwardIterator __last)
GNU extensions for public use.
Struct holding two objects of arbitrary type.
_Temporary_buffer(_ForwardIterator __seed, size_type __original_len)
temporary_buffer(_ForwardIterator __first, _ForwardIterator __last)
Requests storage large enough to hold a copy of [first,last).
~temporary_buffer()
Destroys objects and frees storage.