blitz Version 1.0.2
Loading...
Searching...
No Matches
blitz::IndexPlaceholder< N > Class Template Reference

#include <indexexpr.h>

Inheritance diagram for blitz::IndexPlaceholder< N >:
Inheritance graph
Collaboration diagram for blitz::IndexPlaceholder< N >:
Collaboration graph

Classes

struct  tvresult
 The vectorized return type for an IndexPlaceholder should be some form of range, but that's not useful since a vectorized TinyVector assignment can not contain index placeholders. More...
class  SliceInfo

Public Types

typedef int T_numtype
typedef int T_ctorArg1
typedef int T_ctorArg2
typedef int T_range_result
typedef opType< T_numtype >::T_optype T_optype
typedef asET< T_numtype >::T_wrapped T_typeprop
typedef unwrapET< T_typeprop >::T_unwrapped T_result

Public Member Functions

 IndexPlaceholder ()
 IndexPlaceholder (const IndexPlaceholder< N > &)
 ~IndexPlaceholder ()
void operator= (const IndexPlaceholder< N > &)
int operator* () const
template<int N_rank>
T_result operator() (const TinyVector< int, N_rank > &i) const
int ascending (int) const
int ordering (int) const
int lbound (int) const
int ubound (int) const
RectDomain< rank_domain () const
void push (int)
void pop (int)
void advance ()
void advance (int)
void loadStride (int)
template<int N_rank>
void moveTo (const TinyVector< int, N_rank > &i)
bool isUnitStride (int) const
bool isUnitStride () const
void advanceUnitStride ()
bool canCollapse (int, int) const
T_result operator[] (int) const
T_result fastRead (diffType) const
template<int M>
tvresult< M >::Type fastRead_tv (diffType) const
bool isVectorAligned (diffType offset) const
 There are no alignment issues here, so just return true.
diffType suggestStride (int) const
bool isStride (int, diffType) const
T_result shift (int offset, int dim) const
T_result shift (int offset1, int dim1, int offset2, int dim2) const
void _bz_offsetData (sizeType i)
T_range_result operator() (RectDomain< rank_ > d) const
void prettyPrint (std::string &str, prettyPrintFormat &) const
template<typename T_shape>
bool shapeCheck (const T_shape &) const
template<typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8, typename T9, typename T10, typename T11>
SliceInfo< T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 >::T_slice operator() (T1 r1, T2 r2, T3 r3, T4 r4, T5 r5, T6 r6, T7 r7, T8 r8, T9 r9, T10 r10, T11 r11) const

Static Public Attributes

static const int numArrayOperands = 0
static const int numTVOperands = 0
static const int numTMOperands = 0
static const int numIndexPlaceholders = 1
static const int minWidth = simdTypes<T_numtype>::vecWidth
static const int maxWidth = simdTypes<T_numtype>::vecWidth
static const int rank_ = N+1

Member Typedef Documentation

◆ T_ctorArg1

template<int N>
typedef int blitz::IndexPlaceholder< N >::T_ctorArg1

◆ T_ctorArg2

template<int N>
typedef int blitz::IndexPlaceholder< N >::T_ctorArg2

◆ T_numtype

template<int N>
typedef int blitz::IndexPlaceholder< N >::T_numtype

◆ T_optype

template<int N>
typedef opType<T_numtype>::T_optype blitz::IndexPlaceholder< N >::T_optype

◆ T_range_result

template<int N>
typedef int blitz::IndexPlaceholder< N >::T_range_result

◆ T_result

template<int N>
typedef unwrapET<T_typeprop>::T_unwrapped blitz::IndexPlaceholder< N >::T_result

◆ T_typeprop

template<int N>
typedef asET<T_numtype>::T_wrapped blitz::IndexPlaceholder< N >::T_typeprop

Constructor & Destructor Documentation

◆ IndexPlaceholder() [1/2]

template<int N>
blitz::IndexPlaceholder< N >::IndexPlaceholder ( )
inline

◆ IndexPlaceholder() [2/2]

template<int N>
blitz::IndexPlaceholder< N >::IndexPlaceholder ( const IndexPlaceholder< N > & )
inline

◆ ~IndexPlaceholder()

template<int N>
blitz::IndexPlaceholder< N >::~IndexPlaceholder ( )
inline

Member Function Documentation

◆ _bz_offsetData()

template<int N>
void blitz::IndexPlaceholder< N >::_bz_offsetData ( sizeType i)
inline

◆ advance() [1/2]

template<int N>
void blitz::IndexPlaceholder< N >::advance ( )
inline

◆ advance() [2/2]

template<int N>
void blitz::IndexPlaceholder< N >::advance ( int )
inline

◆ advanceUnitStride()

template<int N>
void blitz::IndexPlaceholder< N >::advanceUnitStride ( )
inline

◆ ascending()

template<int N>
int blitz::IndexPlaceholder< N >::ascending ( int ) const
inline

◆ canCollapse()

template<int N>
bool blitz::IndexPlaceholder< N >::canCollapse ( int ,
int  ) const
inline

◆ domain()

template<int N>
RectDomain< rank_ > blitz::IndexPlaceholder< N >::domain ( ) const
inline

◆ fastRead()

template<int N>
T_result blitz::IndexPlaceholder< N >::fastRead ( diffType ) const
inline

◆ fastRead_tv()

template<int N>
template<int M>
tvresult< M >::Type blitz::IndexPlaceholder< N >::fastRead_tv ( diffType ) const
inline

◆ isStride()

template<int N>
bool blitz::IndexPlaceholder< N >::isStride ( int ,
diffType  ) const
inline

◆ isUnitStride() [1/2]

template<int N>
bool blitz::IndexPlaceholder< N >::isUnitStride ( ) const
inline

◆ isUnitStride() [2/2]

template<int N>
bool blitz::IndexPlaceholder< N >::isUnitStride ( int ) const
inline

◆ isVectorAligned()

template<int N>
bool blitz::IndexPlaceholder< N >::isVectorAligned ( diffType offset) const
inline

There are no alignment issues here, so just return true.

◆ lbound()

template<int N>
int blitz::IndexPlaceholder< N >::lbound ( int ) const
inline

◆ loadStride()

template<int N>
void blitz::IndexPlaceholder< N >::loadStride ( int )
inline

◆ moveTo()

template<int N>
template<int N_rank>
void blitz::IndexPlaceholder< N >::moveTo ( const TinyVector< int, N_rank > & i)
inline

◆ operator()() [1/3]

template<int N>
template<int N_rank>
T_result blitz::IndexPlaceholder< N >::operator() ( const TinyVector< int, N_rank > & i) const
inline

◆ operator()() [2/3]

template<int N>
T_range_result blitz::IndexPlaceholder< N >::operator() ( RectDomain< rank_ > d) const
inline

◆ operator()() [3/3]

template<int N>
template<typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8, typename T9, typename T10, typename T11>
SliceInfo< T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 >::T_slice blitz::IndexPlaceholder< N >::operator() ( T1 r1,
T2 r2,
T3 r3,
T4 r4,
T5 r5,
T6 r6,
T7 r7,
T8 r8,
T9 r9,
T10 r10,
T11 r11 ) const
inline

◆ operator*()

template<int N>
int blitz::IndexPlaceholder< N >::operator* ( ) const
inline

◆ operator=()

template<int N>
void blitz::IndexPlaceholder< N >::operator= ( const IndexPlaceholder< N > & )
inline

◆ operator[]()

template<int N>
T_result blitz::IndexPlaceholder< N >::operator[] ( int ) const
inline

◆ ordering()

template<int N>
int blitz::IndexPlaceholder< N >::ordering ( int ) const
inline

◆ pop()

template<int N>
void blitz::IndexPlaceholder< N >::pop ( int )
inline

◆ prettyPrint()

template<int N>
void blitz::IndexPlaceholder< N >::prettyPrint ( std::string & str,
prettyPrintFormat &  ) const
inline

◆ push()

template<int N>
void blitz::IndexPlaceholder< N >::push ( int )
inline

◆ shapeCheck()

template<int N>
template<typename T_shape>
bool blitz::IndexPlaceholder< N >::shapeCheck ( const T_shape & ) const
inline

◆ shift() [1/2]

template<int N>
T_result blitz::IndexPlaceholder< N >::shift ( int offset,
int dim ) const
inline

◆ shift() [2/2]

template<int N>
T_result blitz::IndexPlaceholder< N >::shift ( int offset1,
int dim1,
int offset2,
int dim2 ) const
inline

◆ suggestStride()

template<int N>
diffType blitz::IndexPlaceholder< N >::suggestStride ( int ) const
inline

◆ ubound()

template<int N>
int blitz::IndexPlaceholder< N >::ubound ( int ) const
inline

Member Data Documentation

◆ maxWidth

template<int N>
const int blitz::IndexPlaceholder< N >::maxWidth = simdTypes<T_numtype>::vecWidth
static

◆ minWidth

template<int N>
const int blitz::IndexPlaceholder< N >::minWidth = simdTypes<T_numtype>::vecWidth
static

◆ numArrayOperands

template<int N>
const int blitz::IndexPlaceholder< N >::numArrayOperands = 0
static

◆ numIndexPlaceholders

template<int N>
const int blitz::IndexPlaceholder< N >::numIndexPlaceholders = 1
static

◆ numTMOperands

template<int N>
const int blitz::IndexPlaceholder< N >::numTMOperands = 0
static

◆ numTVOperands

template<int N>
const int blitz::IndexPlaceholder< N >::numTVOperands = 0
static

◆ rank_

template<int N>
const int blitz::IndexPlaceholder< N >::rank_ = N+1
static

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