Bolt
1.3
C++ template library with support for OpenCL
|
#include <permutation_iterator.h>
Public Types | |
typedef std::iterator < permutation_iterator_tag, typename element_type, int > ::difference_type | difference_type |
typedef permutation_iterator < element_type, key_type > | perm_iterator |
typedef iterator_traits < element_type >::value_type | value_type |
typedef iterator_traits < key_type >::value_type | index_type |
typedef concurrency::array_view < value_type > | arrayview_type |
Public Member Functions | |
permutation_iterator (element_type ivalue, key_type ikey, const control &ctl=control::getDefault()) | |
template<typename OtherValType , typename OtherKeyType > | |
permutation_iterator (const permutation_iterator< OtherValType, OtherKeyType > &rhs) | |
permutation_iterator < element_type, key_type > & | operator= (const permutation_iterator< element_type, key_type > &rhs) |
permutation_iterator < element_type, key_type > & | operator+= (const difference_type &n) const restrict(cpu |
const permutation_iterator < element_type, key_type > | operator+ (const difference_type &n) const restrict(cpu |
result | advance (n) |
const permutation_iterator < element_type, key_type > | operator- (const difference_type &n) const restrict(cpu |
result | advance (-n) |
const concurrency::array_view < int > & | getBuffer (perm_iterator itr) const |
const permutation_iterator < element_type, key_type > & | getContainer () const |
difference_type | operator- (const permutation_iterator< element_type, key_type > &rhs) const |
void | advance (difference_type n) restrict(cpu |
permutation_iterator < element_type, key_type > | operator++ () |
permutation_iterator < element_type, key_type > | operator++ (int) |
permutation_iterator < element_type, key_type > | operator-- () const |
permutation_iterator < element_type, key_type > | operator-- (int) const |
difference_type | getIndex () const |
template<typename OtherValue , typename OtherKey > | |
bool | operator== (const permutation_iterator< OtherValue, OtherKey > &rhs) const |
template<typename OtherValue , typename OtherKey > | |
bool | operator!= (const permutation_iterator< OtherValue, OtherKey > &rhs) const |
template<typename OtherValue , typename OtherKey > | |
bool | operator< (const permutation_iterator< OtherValue, OtherKey > &rhs) const |
value_type & | operator* () const restrict(cpu |
value_type & | operator[] (int x) restrict(cpu |
value_type & | operator[] (int x) const restrict(cpu |
Public Attributes | |
permutation_iterator < element_type, key_type > | amp |
return * | this |
const permutation_iterator < element_type, key_type > | amp |
return | result |
difference_type | m_Index |
void | amp |
value_type | amp |
return | element_iterator [temp_index] |
key_type | key_iterator |
element_type | element_iterator |
Friends | |
template<typename , typename > | |
class | permutation_iterator |
permutation_iterator permutes values in a range according to keys.
The following example demonstrates how to use a permutation_iterator
.