Sundance::UserDefOpElement Class Reference

Inheritance diagram for Sundance::UserDefOpElement:

Sundance::ExprWithChildren Sundance::EvaluatableExpr Sundance::ScalarExpr Sundance::EvaluatorFactory Sundance::FuncSetAccumulator Sundance::ObjectWithClassVerbosity< EvaluatableExpr > Sundance::ExprBase Playa::ObjectWithVerbosity Playa::Handleable< ExprBase >

List of all members.

Public Member Functions

 UserDefOpElement (const Array< RCP< ScalarExpr > > &args, const RCP< Sundance::Map< EvalContext, RCP< const UserDefOpCommonEvaluator > > > &evalMap, const RCP< const UserDefFunctorElement > &functorElement)
virtual ~UserDefOpElement ()
int myIndex () const
virtual std::ostream & toText (std::ostream &os, bool paren) const
virtual XMLObject toXML () const
virtual RCP< ExprBasegetRcp ()
const UserDefFunctorElementfunctorElement () const
void reset () const
EvaluatorcreateEvaluator (const EvaluatableExpr *expr, const EvalContext &context) const
virtual void getArgDerivIndices (const Array< int > &orders, Sundance::Map< MultiSet< int >, int > &varArgDerivs, Sundance::Map< MultiSet< int >, int > &constArgDerivs) const

Protected Member Functions

RCP< const
UserDefOpCommonEvaluator
getCommonEvaluator (const EvalContext &context) const

Private Attributes

RCP< Sundance::Map
< EvalContext, RCP< const
UserDefOpCommonEvaluator > > > 
commonEvaluatorsMap_
const RCP< const
UserDefFunctorElement
functorElement_


Detailed Description

Scalar element of a vector-valued user-defined expression.

Definition at line 60 of file SundanceUserDefOpElement.hpp.


Constructor & Destructor Documentation

UserDefOpElement::UserDefOpElement ( const Array< RCP< ScalarExpr > > &  args,
const RCP< Sundance::Map< EvalContext, RCP< const UserDefOpCommonEvaluator > > > &  evalMap,
const RCP< const UserDefFunctorElement > &  functorElement 
)

Definition at line 41 of file SundanceUserDefOpElement.cpp.

virtual Sundance::UserDefOpElement::~UserDefOpElement (  )  [inline, virtual]

virtual destructor

Definition at line 69 of file SundanceUserDefOpElement.hpp.


Member Function Documentation

Evaluator * UserDefOpElement::createEvaluator ( const EvaluatableExpr expr,
const EvalContext context 
) const [virtual]

Implements Sundance::EvaluatorFactory.

Definition at line 119 of file SundanceUserDefOpElement.cpp.

References getCommonEvaluator().

const UserDefFunctorElement* Sundance::UserDefOpElement::functorElement (  )  const [inline]

Access to the functor underlying this object

Definition at line 86 of file SundanceUserDefOpElement.hpp.

References functorElement_.

Referenced by getArgDerivIndices(), getCommonEvaluator(), toText(), and toXML().

void UserDefOpElement::getArgDerivIndices ( const Array< int > &  orders,
Sundance::Map< MultiSet< int >, int > &  varArgDerivs,
Sundance::Map< MultiSet< int >, int > &  constArgDerivs 
) const [virtual]

RCP< const UserDefOpCommonEvaluator > UserDefOpElement::getCommonEvaluator ( const EvalContext context  )  const [protected]

Get an evaluator that will be common to all vector elements of this operator

Definition at line 132 of file SundanceUserDefOpElement.cpp.

References commonEvaluatorsMap_, and functorElement().

Referenced by createEvaluator().

virtual RCP<ExprBase> Sundance::UserDefOpElement::getRcp (  )  [inline, virtual]

Implements Playa::Handleable< ExprBase >.

Definition at line 83 of file SundanceUserDefOpElement.hpp.

int Sundance::UserDefOpElement::myIndex (  )  const [inline]

Return the index of this element into the list-valued user defined op

Definition at line 73 of file SundanceUserDefOpElement.hpp.

References functorElement_.

void Sundance::UserDefOpElement::reset (  )  const

std::ostream & UserDefOpElement::toText ( std::ostream &  os,
bool  paren 
) const [virtual]

XMLObject UserDefOpElement::toXML (  )  const [virtual]


Member Data Documentation

Definition at line 108 of file SundanceUserDefOpElement.hpp.

Referenced by getCommonEvaluator().

Definition at line 109 of file SundanceUserDefOpElement.hpp.

Referenced by functorElement(), and myIndex().

Site Contact