Bolt
1.3
C++ template library with support for OpenCL
|
#include <permutation_iterator.h>
Classes | |
struct | Payload |
Public Types | |
typedef std::ptrdiff_t | difference_type |
typedef bolt::cl::iterator_traits < ElementIterator > ::value_type | value_type |
typedef bolt::cl::iterator_traits < ElementIterator > ::value_type * | pointer |
typedef bolt::cl::iterator_traits < IndexIterator >::value_type | index_type |
typedef permutation_iterator_tag | iterator_category |
Public Types inherited from bolt::cl::iterator_adaptor< permutation_iterator< ElementIterator, IndexIterator >, IndexIterator, bolt::cl::iterator_traits< ElementIterator >::value_type, use_default, bolt::cl::iterator_traits< ElementIterator >::reference, std::ptrdiff_t > | |
typedef IndexIterator | base_type |
Public Types inherited from bolt::cl::iterator_facade< Derived, Value, CategoryOrTraversal, Reference, Difference > | |
typedef std::remove_const < Value >::type | value_type |
typedef Reference | reference |
typedef Difference | difference_type |
typedef std::add_pointer < value_type >::type | pointer |
typedef bolt::cl::detail::facade_iterator_category < CategoryOrTraversal, Value, Reference >::type | iterator_category |
Public Member Functions | |
permutation_iterator (ElementIterator x, IndexIterator y) | |
template<class OtherElementIterator , class OtherIndexIterator > | |
permutation_iterator (permutation_iterator< OtherElementIterator, OtherIndexIterator > const &r, typename enable_if_convertible< OtherElementIterator, ElementIterator >::type *=0, typename enable_if_convertible< OtherIndexIterator, IndexIterator >::type *=0) | |
index_type * | getIndex_pointer () |
value_type * | getElement_pointer () |
const Payload | gpuPayload () const |
const difference_type | gpuPayloadSize () const |
int | setKernelBuffers (int arg_num,::cl::Kernel &kernel) const |
Public Member Functions inherited from bolt::cl::iterator_adaptor< permutation_iterator< ElementIterator, IndexIterator >, IndexIterator, bolt::cl::iterator_traits< ElementIterator >::value_type, use_default, bolt::cl::iterator_traits< ElementIterator >::reference, std::ptrdiff_t > | |
iterator_adaptor (IndexIteratorconst &iter) | |
IndexIteratorconst & | base () const |
Public Member Functions inherited from bolt::cl::iterator_facade< Derived, Value, CategoryOrTraversal, Reference, Difference > | |
reference | operator* () const |
pointer | operator-> () const |
reference | operator[] (difference_type n) const |
Derived & | operator++ () |
Derived | operator++ (int) |
Derived & | operator-- () |
Derived | operator-- (int) |
Derived & | operator+= (difference_type n) |
Derived & | operator-= (difference_type n) |
Derived | operator- (difference_type x) const |
Public Attributes | |
ElementIterator | m_elt_iter |
Friends | |
class | iterator_core_access |
permutation_iterator permutes values in a range according to keys.
The following example demonstrates how to use a permutation_iterator
.