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< ExprBase > | getRcp () |
const UserDefFunctorElement * | functorElement () const |
void | reset () const |
Evaluator * | createEvaluator (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_ |
Definition at line 60 of file SundanceUserDefOpElement.hpp.
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.
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] |
Definition at line 51 of file SundanceUserDefOpElement.cpp.
References functorElement(), Sundance::EvaluatableExpr::maxOrder(), and Sundance::UserDefFunctorElement::numArgs().
Referenced by Sundance::UserDefOpEvaluator::UserDefOpEvaluator().
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] |
Write self in text form
Implements Sundance::ExprBase.
Definition at line 93 of file SundanceUserDefOpElement.cpp.
References Sundance::ExprWithChildren::child(), functorElement(), Sundance::UserDefFunctorElement::name(), Sundance::ExprWithChildren::numChildren(), and Sundance::Expr::toString().
XMLObject UserDefOpElement::toXML | ( | ) | const [virtual] |
Write in XML
Implements Sundance::ExprBase.
Definition at line 105 of file SundanceUserDefOpElement.cpp.
References Sundance::ExprWithChildren::child(), functorElement(), and Sundance::ExprWithChildren::numChildren().
RCP<Sundance::Map<EvalContext, RCP<const UserDefOpCommonEvaluator> > > Sundance::UserDefOpElement::commonEvaluatorsMap_ [mutable, private] |
const RCP<const UserDefFunctorElement> Sundance::UserDefOpElement::functorElement_ [private] |
Definition at line 109 of file SundanceUserDefOpElement.hpp.
Referenced by functorElement(), and myIndex().