35#ifndef _BLAZE_UTIL_ALGORITHMS_UNINITIALIZEDMOVE_H_
36#define _BLAZE_UTIL_ALGORITHMS_UNINITIALIZEDMOVE_H_
70template<
typename InputIt
71 ,
typename ForwardIt >
74 using T =
typename std::iterator_traits<ForwardIt>::value_type;
76 ForwardIt current( dest );
79 for( ; first!=last; ++first, ++current ) {
80 ::new ( std::addressof( *current ) ) T( std::move( *first ) );
105template<
typename InputIt
106 ,
typename ForwardIt >
109 using T =
typename std::iterator_traits<ForwardIt>::value_type;
111 ForwardIt current( dest );
114 for( ; n > 0UL; (void) ++first, (
void) ++current, --n ) {
115 ::new ( std::addressof( *current ) ) T( std::move( *first ) );
Header file for the generic destroy algorithm.
void destroy(ForwardIt first, ForwardIt last)
Destroys the given range of objects .
Definition: Destroy.h:67
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
Header file for basic type definitions.