43#ifndef TEUCHOS_DEPENDENCY_HPP_
44#define TEUCHOS_DEPENDENCY_HPP_
155 return constDependents_;
163 return *(dependees_.begin());
174 return getValue<S>(*(*(dependees_.begin())));
188 static const std::string xmlTagName =
"Dependency";
209 virtual void print(std::ostream& out)
const;
255 void createConstDependents();
260 void checkDependeesAndDependents();
#define TEUCHOSPARAMETERLIST_LIB_DLL_EXPORT
Templated Parameter List class.
Reference-counted pointer class and non-member templated function implementations.
This class represents a depndency between elements in a Parameter List.
virtual std::string getTypeAttributeValue() const =0
Returns the string to be used for the value of the type attribute when converting the dependency to X...
ParameterEntryList & getDependents()
Gets the dependents of the dependency.
static const std::string & getXMLTagName()
Returns the XML tag to use when serializing Dependencies.
std::set< RCP< ParameterEntry >, RCPComp > ParameterEntryList
A list of Dependees.
ParameterEntryList dependents_
The dependent paramters.
S getFirstDependeeValue() const
Convienence function. Returns the first dependee in the list of dependees.
Dependency()
Declaring and defining the default constructor as private.
const ConstParameterEntryList & getDependents() const
Gets the dependents of the dependency.
ConstParameterEntryList dependees_
The parameters being depended upon.
virtual void evaluate()=0
Evaluates the dependency and makes any appropriate changes to the dependee based on the dependent.
std::set< RCP< const ParameterEntry >, RCPConstComp > ConstParameterEntryList
A list of dependents.
ConstParameterEntryList constDependents_
A const version dependent paramters.
virtual void validateDep() const =0
Validates the dependency to make sure it's valid/has been setup properly. If subclassing,...
RCP< const ParameterEntry > getFirstDependee() const
Gets the first dependee in the dependees list. This is a convience function.
const ConstParameterEntryList & getDependees() const
Gets the dependees of the dependency.
Base class for all objects that can describe themselves.
Smart reference counting pointer class for automatic garbage collection.
Struct for comparing two RCPs. Simply compares the raw pointers contained within the RCPs.
Struct for comparing two RCPs. Simply compares the raw pointers contained within the RCPs.