21 #ifndef ROCPRIM_ITERATOR_REPLACE_FIRST_ITERATOR_HPP_    22 #define ROCPRIM_ITERATOR_REPLACE_FIRST_ITERATOR_HPP_    26 #include <type_traits>    28 #include "../../config.hpp"    30 BEGIN_ROCPRIM_NAMESPACE
    49 template<
class InputIterator>
    53     using input_category = 
typename std::iterator_traits<InputIterator>::iterator_category;
    55         std::is_same<input_category, std::random_access_iterator_tag>::value,
    56         "InputIterator must be a random-access iterator"    60     using value_type = 
typename std::iterator_traits<InputIterator>::value_type;
    61     using reference = value_type;
    62     using pointer = 
const value_type*;
    63     using difference_type = 
typename std::iterator_traits<InputIterator>::difference_type;
    64     using iterator_category = std::random_access_iterator_tag;
    66     ROCPRIM_HOST_DEVICE 
inline    69     ROCPRIM_HOST_DEVICE 
inline    71         : iterator_(iterator), value_(value), index_(index)
    75     ROCPRIM_HOST_DEVICE 
inline    76     replace_first_iterator& operator++()
    83     ROCPRIM_HOST_DEVICE 
inline    84     replace_first_iterator operator++(
int)
    86         replace_first_iterator old = *
this;
    92     ROCPRIM_HOST_DEVICE 
inline    93     value_type operator*()
 const   102     ROCPRIM_HOST_DEVICE 
inline   103     value_type operator[](difference_type distance)
 const   105         replace_first_iterator i = (*this) + distance;
   109     ROCPRIM_HOST_DEVICE 
inline   110     replace_first_iterator operator+(difference_type distance)
 const   112         return replace_first_iterator(iterator_ + distance, value_, index_ + distance);
   115     ROCPRIM_HOST_DEVICE 
inline   116     replace_first_iterator& operator+=(difference_type distance)
   118         iterator_ += distance;
   124     InputIterator iterator_;
   131 END_ROCPRIM_NAMESPACE
   133 #endif // ROCPRIM_ITERATOR_REPLACE_FIRST_ITERATOR_HPP_ Deprecated: Configuration of device-level scan primitives. 
Definition: block_histogram.hpp:62
Definition: replace_first_iterator.hpp:50