OPAL (Object Oriented Parallel Accelerator Library)  2021.1.99
OPAL
Public Types | Public Member Functions | Private Attributes | List of all members
FConstSlice< T, S > Class Template Reference

Constant version of FSlice. More...

#include <FSlice.h>

Public Types

typedef std::random_access_iterator_tag iterator_category
 The iterator tag, taken from the standard template library. More...
 
typedef const T value_type
 The value type. More...
 
typedef std::ptrdiff_t difference_type
 The pointer difference type. More...
 
typedef const T * pointer
 The pointer type. More...
 
typedef const T & reference
 The reference type. More...
 

Public Member Functions

 FConstSlice (const T *)
 Constructor from array and stride. More...
 
 FConstSlice (const FConstSlice &rhs)
 
FConstSliceoperator= (const FConstSlice &)
 
bool operator== (const FConstSlice &rhs) const
 
bool operator!= (const FConstSlice &rhs) const
 
FConstSliceoperator++ ()
 Increment (iterate forward). More...
 
FConstSlice operator++ (int)
 Increment (iterate forward). More...
 
FConstSliceoperator-- ()
 Decrement (iterate backward). More...
 
FConstSlice operator-- (int)
 Decrement (iterate backward). More...
 
FConstSliceoperator+= (std::ptrdiff_t)
 Add multiple stride and assign. More...
 
FConstSliceoperator-= (std::ptrdiff_t)
 Subtract multiple stride and assign. More...
 
FConstSlice operator+ (std::ptrdiff_t) const
 Add multiple stride. More...
 
FConstSlice operator- (std::ptrdiff_t) const
 Subtract multiple stride. More...
 
difference_type operator- (const FConstSlice &) const
 Get pointer difference. More...
 
const T & operator* () const
 Dereference. More...
 
const T & operator[] (int) const
 Delegate. More...
 

Private Attributes

const T * cursor
 

Detailed Description

template<class T, int S>
class FConstSlice< T, S >

Constant version of FSlice.

Definition at line 101 of file FSlice.h.

Member Typedef Documentation

◆ difference_type

template<class T , int S>
typedef std::ptrdiff_t FConstSlice< T, S >::difference_type

The pointer difference type.

Definition at line 112 of file FSlice.h.

◆ iterator_category

template<class T , int S>
typedef std::random_access_iterator_tag FConstSlice< T, S >::iterator_category

The iterator tag, taken from the standard template library.

Definition at line 106 of file FSlice.h.

◆ pointer

template<class T , int S>
typedef const T* FConstSlice< T, S >::pointer

The pointer type.

Definition at line 115 of file FSlice.h.

◆ reference

template<class T , int S>
typedef const T& FConstSlice< T, S >::reference

The reference type.

Definition at line 118 of file FSlice.h.

◆ value_type

template<class T , int S>
typedef const T FConstSlice< T, S >::value_type

The value type.

Definition at line 109 of file FSlice.h.

Constructor & Destructor Documentation

◆ FConstSlice() [1/2]

template<class T , int S>
FConstSlice< T, S >::FConstSlice ( const T *  array)
inline

Constructor from array and stride.

Definition at line 293 of file FSlice.h.

◆ FConstSlice() [2/2]

template<class T , int S>
FConstSlice< T, S >::FConstSlice ( const FConstSlice< T, S > &  rhs)
inline

Definition at line 298 of file FSlice.h.

Member Function Documentation

◆ operator!=()

template<class T , int S>
bool FConstSlice< T, S >::operator!= ( const FConstSlice< T, S > &  rhs) const
inline

Definition at line 314 of file FSlice.h.

References FConstSlice< T, S >::cursor.

◆ operator*()

template<class T , int S>
const T & FConstSlice< T, S >::operator*
inline

Dereference.

Definition at line 375 of file FSlice.h.

◆ operator+()

template<class T , int S>
FConstSlice< T, S > FConstSlice< T, S >::operator+ ( std::ptrdiff_t  n) const
inline

Add multiple stride.

Definition at line 357 of file FSlice.h.

References Hypervolume::n.

◆ operator++() [1/2]

template<class T , int S>
FConstSlice< T, S > & FConstSlice< T, S >::operator++
inline

Increment (iterate forward).

Definition at line 319 of file FSlice.h.

◆ operator++() [2/2]

template<class T , int S>
FConstSlice< T, S > FConstSlice< T, S >::operator++ ( int  )
inline

Increment (iterate forward).

Definition at line 325 of file FSlice.h.

◆ operator+=()

template<class T , int S>
FConstSlice< T, S > & FConstSlice< T, S >::operator+= ( std::ptrdiff_t  n)
inline

Add multiple stride and assign.

Definition at line 345 of file FSlice.h.

References Hypervolume::n.

◆ operator-() [1/2]

template<class T , int S>
FConstSlice< T, S >::difference_type FConstSlice< T, S >::operator- ( const FConstSlice< T, S > &  rhs) const
inline

Get pointer difference.

Definition at line 370 of file FSlice.h.

References FConstSlice< T, S >::cursor.

◆ operator-() [2/2]

template<class T , int S>
FConstSlice< T, S > FConstSlice< T, S >::operator- ( std::ptrdiff_t  n) const
inline

Subtract multiple stride.

Definition at line 363 of file FSlice.h.

References Hypervolume::n.

◆ operator--() [1/2]

template<class T , int S>
FConstSlice< T, S > & FConstSlice< T, S >::operator--
inline

Decrement (iterate backward).

Definition at line 332 of file FSlice.h.

◆ operator--() [2/2]

template<class T , int S>
FConstSlice< T, S > FConstSlice< T, S >::operator-- ( int  )
inline

Decrement (iterate backward).

Definition at line 338 of file FSlice.h.

◆ operator-=()

template<class T , int S>
FConstSlice< T, S > & FConstSlice< T, S >::operator-= ( std::ptrdiff_t  n)
inline

Subtract multiple stride and assign.

Definition at line 351 of file FSlice.h.

References Hypervolume::n.

◆ operator=()

template<class T , int S>
FConstSlice< T, S > & FConstSlice< T, S >::operator= ( const FConstSlice< T, S > &  rhs)
inline

Definition at line 303 of file FSlice.h.

References FConstSlice< T, S >::cursor.

◆ operator==()

template<class T , int S>
bool FConstSlice< T, S >::operator== ( const FConstSlice< T, S > &  rhs) const
inline

Definition at line 309 of file FSlice.h.

References FConstSlice< T, S >::cursor.

◆ operator[]()

template<class T , int S>
const T & FConstSlice< T, S >::operator[] ( int  n) const
inline

Delegate.

Definition at line 380 of file FSlice.h.

References Hypervolume::n.

Member Data Documentation

◆ cursor

template<class T , int S>
const T* FConstSlice< T, S >::cursor
mutableprivate

The documentation for this class was generated from the following file: