|
RavEngine
|
Iterator class for iterating over arrays of data that may be interleaved with other data. More...
#include <PxStrideIterator.h>
Public Member Functions | |
| PX_INLINE | PxStrideIterator (T *ptr=NULL, PxU32 stride=sizeof(T)) |
| Constructor. | |
| PX_INLINE | PxStrideIterator (const PxStrideIterator< typename StripConst< T >::Type > &strideIterator) |
| Copy constructor. | |
| PX_INLINE T * | ptr () const |
| Get pointer to element. | |
| PX_INLINE PxU32 | stride () const |
| Get stride. | |
| PX_INLINE T & | operator* () const |
| Indirection operator. | |
| PX_INLINE T * | operator-> () const |
| Dereferencing operator. | |
| PX_INLINE T & | operator[] (unsigned int i) const |
| Indexing operator. | |
| PX_INLINE PxStrideIterator & | operator++ () |
| Pre-increment operator. | |
| PX_INLINE PxStrideIterator | operator++ (int) |
| Post-increment operator. | |
| PX_INLINE PxStrideIterator & | operator-- () |
| Pre-decrement operator. | |
| PX_INLINE PxStrideIterator | operator-- (int) |
| Post-decrement operator. | |
| PX_INLINE PxStrideIterator | operator+ (unsigned int i) const |
| Addition operator. | |
| PX_INLINE PxStrideIterator | operator- (unsigned int i) const |
| Subtraction operator. | |
| PX_INLINE PxStrideIterator & | operator+= (unsigned int i) |
| Addition compound assignment operator. | |
| PX_INLINE PxStrideIterator & | operator-= (unsigned int i) |
| Subtraction compound assignment operator. | |
| PX_INLINE int | operator- (const PxStrideIterator &other) const |
| Iterator difference. | |
| PX_INLINE bool | operator== (const PxStrideIterator &other) const |
| Equality operator. | |
| PX_INLINE bool | operator!= (const PxStrideIterator &other) const |
| Inequality operator. | |
| PX_INLINE bool | operator< (const PxStrideIterator &other) const |
| Less than operator. | |
| PX_INLINE bool | operator> (const PxStrideIterator &other) const |
| Greater than operator. | |
| PX_INLINE bool | operator<= (const PxStrideIterator &other) const |
| Less or equal than operator. | |
| PX_INLINE bool | operator>= (const PxStrideIterator &other) const |
| Greater or equal than operator. | |
| PX_INLINE | PxStrideIterator (T *ptr=NULL, PxU32 stride=sizeof(T)) |
| Constructor. | |
| PX_INLINE | PxStrideIterator (const PxStrideIterator< typename StripConst< T >::Type > &strideIterator) |
| Copy constructor. | |
| PX_INLINE T * | ptr () const |
| Get pointer to element. | |
| PX_INLINE PxU32 | stride () const |
| Get stride. | |
| PX_INLINE T & | operator* () const |
| Indirection operator. | |
| PX_INLINE T * | operator-> () const |
| Dereferencing operator. | |
| PX_INLINE T & | operator[] (unsigned int i) const |
| Indexing operator. | |
| PX_INLINE PxStrideIterator & | operator++ () |
| Pre-increment operator. | |
| PX_INLINE PxStrideIterator | operator++ (int) |
| Post-increment operator. | |
| PX_INLINE PxStrideIterator & | operator-- () |
| Pre-decrement operator. | |
| PX_INLINE PxStrideIterator | operator-- (int) |
| Post-decrement operator. | |
| PX_INLINE PxStrideIterator | operator+ (unsigned int i) const |
| Addition operator. | |
| PX_INLINE PxStrideIterator | operator- (unsigned int i) const |
| Subtraction operator. | |
| PX_INLINE PxStrideIterator & | operator+= (unsigned int i) |
| Addition compound assignment operator. | |
| PX_INLINE PxStrideIterator & | operator-= (unsigned int i) |
| Subtraction compound assignment operator. | |
| PX_INLINE int | operator- (const PxStrideIterator &other) const |
| Iterator difference. | |
| PX_INLINE bool | operator== (const PxStrideIterator &other) const |
| Equality operator. | |
| PX_INLINE bool | operator!= (const PxStrideIterator &other) const |
| Inequality operator. | |
| PX_INLINE bool | operator< (const PxStrideIterator &other) const |
| Less than operator. | |
| PX_INLINE bool | operator> (const PxStrideIterator &other) const |
| Greater than operator. | |
| PX_INLINE bool | operator<= (const PxStrideIterator &other) const |
| Less or equal than operator. | |
| PX_INLINE bool | operator>= (const PxStrideIterator &other) const |
| Greater or equal than operator. | |
Iterator class for iterating over arrays of data that may be interleaved with other data.
This class is used for iterating over arrays of elements that may have a larger element to element offset, called the stride, than the size of the element itself (non-contiguous).
The template parameter T denotes the type of the element accessed. The stride itself is stored as a member field so multiple instances of a PxStrideIterator class can have different strides. This is useful for cases were the stride depends on runtime configuration.
The stride iterator can be used for index based access, e.g.:
or iteration by increment, e.g.:
Two special cases:
|
inlineexplicit |
Constructor.
Optionally takes a pointer to an element and a stride.
| [in] | ptr | pointer to element, defaults to NULL. |
| [in] | stride | stride for accessing consecutive elements, defaults to the size of one element. |
|
inline |
Copy constructor.
| [in] | strideIterator | PxStrideIterator to be copied. |
|
inlineexplicit |
Constructor.
Optionally takes a pointer to an element and a stride.
| [in] | ptr | pointer to element, defaults to NULL. |
| [in] | stride | stride for accessing consecutive elements, defaults to the size of one element. |
|
inline |
Copy constructor.
| [in] | strideIterator | PxStrideIterator to be copied. |