blitz  Version 1.0.2
blitz::IndexPlaceholder< N > Class Template Reference

#include <et-forward.h>

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

Classes

class  SliceInfo
 
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...
 

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. More...
 
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

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

Constructor & Destructor Documentation

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

Member Function Documentation

template<int N>
void blitz::IndexPlaceholder< N >::_bz_offsetData ( sizeType  i)
inline
template<int N>
void blitz::IndexPlaceholder< N >::advance ( )
inline
template<int N>
void blitz::IndexPlaceholder< N >::advance ( int  )
inline
template<int N>
void blitz::IndexPlaceholder< N >::advanceUnitStride ( )
inline
template<int N>
int blitz::IndexPlaceholder< N >::ascending ( int  ) const
inline
template<int N>
bool blitz::IndexPlaceholder< N >::canCollapse ( int  ,
int   
) const
inline
template<int N>
T_result blitz::IndexPlaceholder< N >::fastRead ( diffType  ) const
inline
template<int N>
template<int M>
tvresult<M>::Type blitz::IndexPlaceholder< N >::fastRead_tv ( diffType  ) const
inline
template<int N>
bool blitz::IndexPlaceholder< N >::isStride ( int  ,
diffType   
) const
inline
template<int N>
bool blitz::IndexPlaceholder< N >::isUnitStride ( int  ) const
inline
template<int N>
bool blitz::IndexPlaceholder< N >::isUnitStride ( ) const
inline
template<int N>
bool blitz::IndexPlaceholder< N >::isVectorAligned ( diffType  offset) const
inline

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

template<int N>
int blitz::IndexPlaceholder< N >::lbound ( int  ) const
inline
template<int N>
void blitz::IndexPlaceholder< N >::loadStride ( int  )
inline
template<int N>
template<int N_rank>
void blitz::IndexPlaceholder< N >::moveTo ( const TinyVector< int, N_rank > &  i)
inline
template<int N>
template<int N_rank>
T_result blitz::IndexPlaceholder< N >::operator() ( const TinyVector< int, N_rank > &  i) const
inline
template<int N>
T_range_result blitz::IndexPlaceholder< N >::operator() ( RectDomain< rank_ d) const
inline
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
template<int N>
int blitz::IndexPlaceholder< N >::operator* ( ) const
inline
template<int N>
void blitz::IndexPlaceholder< N >::operator= ( const IndexPlaceholder< N > &  )
inline
template<int N>
T_result blitz::IndexPlaceholder< N >::operator[] ( int  ) const
inline
template<int N>
int blitz::IndexPlaceholder< N >::ordering ( int  ) const
inline
template<int N>
void blitz::IndexPlaceholder< N >::pop ( int  )
inline
template<int N>
void blitz::IndexPlaceholder< N >::prettyPrint ( std::string &  str,
prettyPrintFormat  
) const
inline
template<int N>
void blitz::IndexPlaceholder< N >::push ( int  )
inline
template<int N>
template<typename T_shape >
bool blitz::IndexPlaceholder< N >::shapeCheck ( const T_shape &  ) const
inline
template<int N>
T_result blitz::IndexPlaceholder< N >::shift ( int  offset,
int  dim 
) const
inline
template<int N>
T_result blitz::IndexPlaceholder< N >::shift ( int  offset1,
int  dim1,
int  offset2,
int  dim2 
) const
inline
template<int N>
diffType blitz::IndexPlaceholder< N >::suggestStride ( int  ) const
inline
template<int N>
int blitz::IndexPlaceholder< N >::ubound ( int  ) const
inline

Member Data Documentation

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

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