[uninitialized.fill] (original) (raw)

26 Algorithms library [algorithms]

26.11 Specialized algorithms [specialized.algorithms]

26.11.7 uninitialized_fill [uninitialized.fill]

template<class NoThrowForwardIterator, class T> constexpr void uninitialized_fill(NoThrowForwardIterator first, NoThrowForwardIterator last, const T& x);

Effects: Equivalent to:for (; first != last; ++first) ::new (voidify(*first)) typename iterator_traits<NoThrowForwardIterator>::value_type(x);

Effects: Equivalent to:for (; first != last; ++first) ::new (voidify(*first)) remove_reference_t<iter_reference_t<I>>(x);return first;

template<class NoThrowForwardIterator, class Size, class T> constexpr NoThrowForwardIterator uninitialized_fill_n(NoThrowForwardIterator first, Size n, const T& x);

Effects: Equivalent to:for (; n--; ++first) ::new (voidify(*first)) typename iterator_traits<NoThrowForwardIterator>::value_type(x);return first;

Effects: Equivalent to:return uninitialized_fill(counted_iterator(first, n), default_sentinel, x).base();