Transfer.h
Go to the documentation of this file.
1 //=================================================================================================
33 //=================================================================================================
34 
35 #ifndef _BLAZE_UTIL_ALGORITHMS_TRANSFER_H_
36 #define _BLAZE_UTIL_ALGORITHMS_TRANSFER_H_
37 
38 
39 //*************************************************************************************************
40 // Includes
41 //*************************************************************************************************
42 
43 #include <iterator>
45 
46 
47 namespace blaze {
48 
49 //=================================================================================================
50 //
51 // TRANSFER ALGORITHM
52 //
53 //=================================================================================================
54 
55 //*************************************************************************************************
68 template< typename InputIterator
69  , typename OutputIterator >
70 OutputIterator transfer( InputIterator first, InputIterator last, OutputIterator dest )
71 {
72  using ValueType = typename std::iterator_traits<InputIterator>::value_type;
73 
75  return std::move( first, last, dest );
76  }
77  else {
78  return std::copy( first, last, dest );
79  }
80 }
81 //*************************************************************************************************
82 
83 } // namespace blaze
84 
85 #endif
Compile time type check.The IsNothrowMoveAssignable type trait tests whether the expression.
Definition: IsAssignable.h:224
Namespace of the Blaze C++ math library.
Definition: Blaze.h:58
Header file for the IsAssignable type trait.
OutputIterator transfer(InputIterator first, InputIterator last, OutputIterator dest)
Transfers the elements from the given source range to the destination range.
Definition: Transfer.h:70