42#ifndef TEUCHOS_STANDARDFUNCTIONOBJECTXMLCONVERTERS_HPP
43#define TEUCHOS_STANDARDFUNCTIONOBJECTXMLCONVERTERS_HPP
58template<
class OperandType>
106 static const std::string operandAttributeName =
"operand";
107 return operandAttributeName;
114template<
class OperandType>
119 OperandType operand =
120 xmlObj.
getRequired<OperandType>(getOperandAttributeName());
121 return getSpecificSimpleFunction(operand);
124template<
class OperandType>
130 rcp_dynamic_cast<const SimpleFunctionObject<OperandType> >(
131 functionObject,
true);
132 OperandType operand = castedFunction->getModifiyingOperand();
134 getSpecialSimpleFunctionXMLTraits(castedFunction, xmlObj);
145template<
class OperandType>
161template<
class OperandType>
164 OperandType operand)
const
177template<
class OperandType>
193template<
class OperandType>
196 OperandType operand)
const
209template<
class OperandType>
225template<
class OperandType>
228 OperandType operand)
const
241template<
class OperandType>
257template<
class OperandType>
260 OperandType operand)
const
Converts back and forth between XML and FunctionObjects.
Class for converting AdditionFunction objects to and from XML.
RCP< SimpleFunctionObject< OperandType > > getSpecificSimpleFunction(OperandType operand) const
A simple function object that adds a specififed value from the given arguement in the runFunction fun...
Class for converting DivisionFunction objects to and from XML.
RCP< SimpleFunctionObject< OperandType > > getSpecificSimpleFunction(OperandType operand) const
A simple function object that divides a specififed value from the given arguement in the runFunction ...
An abstract base class for converting FunctionObjects to and from XML.
Class for converting MultiplicationFunction objects to and from XML.
RCP< SimpleFunctionObject< OperandType > > getSpecificSimpleFunction(OperandType operand) const
A simple function object that multiplys a specififed value from the given arguement in the runFunctio...
Smart reference counting pointer class for automatic garbage collection.
A simple function object that applies a given operand to a spcified arguement using a specific operat...
An xml converter for SimpleFunctionObjects.
static std::string getOperandAttributeName()
virtual void getSpecialSimpleFunctionXMLTraits(const RCP< const SimpleFunctionObject< OperandType > >, XMLObject &) const
Add and extra XML traits that are specific to a certain FuncitonOjbect when converting that function ...
RCP< FunctionObject > convertXML(const XMLObject &xmlObj) const
virtual RCP< SimpleFunctionObject< OperandType > > getSpecificSimpleFunction(OperandType operand) const =0
Gets the specific SimpleFunction to be returned by this converter when converting from XML.
void convertFunctionObject(const RCP< const FunctionObject > functionObject, XMLObject &xmlObj) const
Class for converting SubtractionFunction objects to and from XML.
RCP< SimpleFunctionObject< OperandType > > getSpecificSimpleFunction(OperandType operand) const
A simple function object that subtracts a specififed value from the given arguement in the runFunctio...
Representation of an XML data tree. XMLObject is a ref-counted handle to a XMLObjectImplem object,...
const std::string & getRequired(const std::string &name) const
Get an attribute, throwing an std::exception if it is not found.
void addAttribute(const std::string &name, T value)
Lookup whether or not Doubles are allowed.
TEUCHOS_DEPRECATED RCP< T > rcp(T *p, Dealloc_T dealloc, bool owns_mem)
Deprecated.