35#ifndef _BLAZE_UTIL_ALGORITHMS_UNINITIALIZEDTRANSFER_H_
36#define _BLAZE_UTIL_ALGORITHMS_UNINITIALIZEDTRANSFER_H_
71template<
typename InputIt
72 ,
typename ForwardIt >
75 using T =
typename std::iterator_traits<InputIt>::value_type;
77 if( IsNothrowMoveAssignable_v<T> ) {
81 return std::uninitialized_copy( first, last, dest );
101template<
typename InputIt
102 ,
typename ForwardIt >
105 using T =
typename std::iterator_traits<InputIt>::value_type;
107 if( IsNothrowMoveAssignable_v<T> ) {
111 return std::uninitialized_copy_n( first, n, dest );
Header file for the IsAssignable type trait.
Header file for the generic uninitialized_move algorithm.
ForwardIt uninitialized_transfer_n(InputIt first, size_t n, ForwardIt dest)
Transfers the elements from the given source range to the uninitialized destination range.
Definition: UninitializedTransfer.h:103
ForwardIt uninitialized_move(InputIt first, InputIt last, ForwardIt dest)
Move the elements from the given source range to the uninitialized destination range.
Definition: UninitializedMove.h:72
ForwardIt uninitialized_move_n(InputIt first, size_t n, ForwardIt dest)
Move the elements from the given source range to the uninitialized destination range.
Definition: UninitializedMove.h:107
ForwardIt uninitialized_transfer(InputIt first, InputIt last, ForwardIt dest)
Transfers the elements from the given source range to the uninitialized destination range.
Definition: UninitializedTransfer.h:73