21 #ifndef ROCPRIM_ITERATOR_TRANSFORM_ITERATOR_HPP_    22 #define ROCPRIM_ITERATOR_TRANSFORM_ITERATOR_HPP_    26 #include <type_traits>    28 #include "../config.hpp"    29 #include "../detail/match_result_type.hpp"    34 BEGIN_ROCPRIM_NAMESPACE
    54         typename ::rocprim::detail::invoke_result<
    55             UnaryFunction, 
typename std::iterator_traits<InputIterator>::value_type
    70     using difference_type = 
typename std::iterator_traits<InputIterator>::difference_type;
    76 #ifndef DOXYGEN_SHOULD_SKIP_THIS    80     ROCPRIM_HOST_DEVICE 
inline    88     ROCPRIM_HOST_DEVICE 
inline    90         : iterator_(iterator), transform_(transform)
    94     #ifndef DOXYGEN_SHOULD_SKIP_THIS    95     ROCPRIM_HOST_DEVICE 
inline   102     ROCPRIM_HOST_DEVICE 
inline   110     ROCPRIM_HOST_DEVICE 
inline   117     ROCPRIM_HOST_DEVICE 
inline   125     ROCPRIM_HOST_DEVICE 
inline   128         return transform_(*iterator_);
   131     ROCPRIM_HOST_DEVICE 
inline   137     ROCPRIM_HOST_DEVICE 
inline   144     ROCPRIM_HOST_DEVICE 
inline   150     ROCPRIM_HOST_DEVICE 
inline   153         iterator_ += distance;
   157     ROCPRIM_HOST_DEVICE 
inline   163     ROCPRIM_HOST_DEVICE 
inline   166         iterator_ -= distance;
   170     ROCPRIM_HOST_DEVICE 
inline   173         return iterator_ - other.iterator_;
   176     ROCPRIM_HOST_DEVICE 
inline   179         return iterator_ == other.iterator_;
   182     ROCPRIM_HOST_DEVICE 
inline   185         return iterator_ != other.iterator_;
   188     ROCPRIM_HOST_DEVICE 
inline   191         return iterator_ < other.iterator_;
   194     ROCPRIM_HOST_DEVICE 
inline   197         return iterator_ <= other.iterator_;
   200     ROCPRIM_HOST_DEVICE 
inline   203         return iterator_ > other.iterator_;
   206     ROCPRIM_HOST_DEVICE 
inline   209         return iterator_ >= other.iterator_;
   216     #endif // DOXYGEN_SHOULD_SKIP_THIS   219     InputIterator iterator_;
   220     UnaryFunction transform_;
   223 #ifndef DOXYGEN_SHOULD_SKIP_THIS   229 ROCPRIM_HOST_DEVICE 
inline   234     return iterator + distance;
   236 #endif // DOXYGEN_SHOULD_SKIP_THIS   252 ROCPRIM_HOST_DEVICE 
inline   259 END_ROCPRIM_NAMESPACE
   264 #endif // ROCPRIM_ITERATOR_TRANSFORM_ITERATOR_HPP_ 
ROCPRIM_HOST_DEVICE transform_iterator< InputIterator, UnaryFunction > make_transform_iterator(InputIterator iterator, UnaryFunction transform)
make_transform_iterator creates a transform_iterator using iterator as the underlying iterator and tr...
Definition: transform_iterator.hpp:254
hipError_t transform(InputIterator input, OutputIterator output, const size_t size, UnaryFunction transform_op, const hipStream_t stream=0, bool debug_synchronous=false)
Parallel transform primitive for device level. 
Definition: device_transform.hpp:135