ltl::ExprLiteralNode< T > Class Template Reference
[MArray Expression Template Internals]

Node in the expression parse tree representing a literal number. More...

Inherits ltl::_et_parse_base.

List of all members.

Public Types

Public Member Functions


Detailed Description

template<class T>
class ltl::ExprLiteralNode< T >

Node in the expression parse tree representing a literal number.

This class represents a literal number in the parse tree of an expression so that expressions can involve literal constants in the usual way.

Like all parse tree elements, this class implements the iterator interface, simply doing nothing for all methods except dereferencing, for which it returns the literal constant it holds.


Member Typedef Documentation

template<class T>
typedef T ltl::ExprLiteralNode< T >::value_type

the result data type is the type of the constant


Member Enumeration Documentation

template<class T>
anonymous enum

The number of dimensions.

Enumerator:
dims 

template<class T>
anonymous enum

The number of ltl::IndexIter index iterators (always 0).

Enumerator:
numIndexIter 

template<class T>
anonymous enum

Constants are vectorizable: splat the constant accross the vector.

Enumerator:
isVectorizable 


Constructor & Destructor Documentation

template<class T>
ltl::ExprLiteralNode< T >::ExprLiteralNode ( const T  f  )  [inline]

Constructor: store the constant, splat if we are vectorizing.


Member Function Documentation

template<class T>
void ltl::ExprLiteralNode< T >::advance (  )  const [inline]

Implement the iterator interface: do nothing for advancing.

template<class T>
void ltl::ExprLiteralNode< T >::advanceN ( const int  i  )  const [inline]

template<class T>
void ltl::ExprLiteralNode< T >::advanceN ( const int  i,
const int  dim 
) const [inline]

template<class T>
void ltl::ExprLiteralNode< T >::advanceWithStride1 (  )  const [inline]

template<class T>
void ltl::ExprLiteralNode< T >::advanceDim (  )  const [inline]

template<class T>
void ltl::ExprLiteralNode< T >::advanceDim ( const int  cutDim  )  const [inline]

template<class T>
void ltl::ExprLiteralNode< T >::operator++ (  )  const [inline]

template<class T>
value_type ltl::ExprLiteralNode< T >::operator * (  )  const [inline]

Evaluate by simply returning the constant.

template<class T>
value_type ltl::ExprLiteralNode< T >::readWithoutStride ( const int  i  )  const [inline]

template<class T>
value_type ltl::ExprLiteralNode< T >::readWithStride ( const int  i  )  const [inline]

template<class T>
value_type ltl::ExprLiteralNode< T >::readWithStride ( const int  i,
const int  dim 
) const [inline]

template<class T>
bool ltl::ExprLiteralNode< T >::isStorageContiguous (  )  const [inline]

always true

template<class T>
bool ltl::ExprLiteralNode< T >::isStride1 (  )  const [inline]

always true

template<class T>
template<int N>
bool ltl::ExprLiteralNode< T >::isConformable ( const Shape< N > &  other  )  const [inline]

always true

template<class T>
void ltl::ExprLiteralNode< T >::reset (  )  [inline]


Generated on Wed Mar 11 17:44:36 2009 for LTL by  doxygen 1.5.3