thrust::tabulate_output_iterator#
-
template<typename BinaryFunction, typename System = use_default, typename DifferenceT = ptrdiff_t>
class tabulate_output_iterator : public thrust::iterator_adaptor<BinaryFunction, use_default, ptrdiff_t># tabulate_output_iterator
is a special kind of output iterator which, whenever a value is assigned to a dereferenced iterator, calls the given callable with the index that corresponds to the offset of the dereferenced iterator and the assigned value.The following code snippet demonstrated how to create a
tabulate_output_iterator
which prints the index and the assigned value.#include <thrust/iterator/tabulate_output_iterator.h> // note: functor inherits form binary function struct print_op { __host__ __device__ void operator()(int index, float value) const { printf("%d: %f\n", index, value); } }; int main() { auto tabulate_it = thrust::make_tabulate_output_iterator(print_op{}); tabulate_it[0] = 1.0f; // prints: 0: 1.0 tabulate_it[1] = 3.0f; // prints: 1: 3.0 tabulate_it[9] = 5.0f; // prints: 9: 5.0 }
See also
Public Types
-
using base_type = Base#
The type of iterator this
iterator_adaptor's
adapts
.
Public Functions
-
tabulate_output_iterator() = default#
-
inline tabulate_output_iterator(BinaryFunction fun)#
This constructor takes as argument a
BinaryFunction
and copies it to a newtabulate_output_iterator
.- Parameters:
fun – A
BinaryFunction
called whenever a value is assigned to thistabulate_output_iterator
.
-
inline Base const &base() const#
- Returns:
A
const
reference to theBase
iterator thisiterator_adaptor
adapts.
-
using base_type = Base#