43 #ifndef TEUCHOS_DEPENDENCY_HPP_ 44 #define TEUCHOS_DEPENDENCY_HPP_ 47 #include "Teuchos_InvalidDependencyException.hpp" 154 return constDependents_;
162 return *(dependees_.begin());
173 return getValue<S>(*(*(dependees_.begin())));
180 virtual std::string getTypeAttributeValue()
const = 0;
187 static const std::string xmlTagName =
"Dependency";
200 virtual void evaluate() = 0;
208 virtual void print(std::ostream& out)
const;
222 virtual void validateDep()
const = 0;
234 ConstParameterEntryList dependees_;
239 ParameterEntryList dependents_;
244 ConstParameterEntryList constDependents_;
254 void createConstDependents();
259 void checkDependeesAndDependents();
267 #endif //TEUCHOS_DEPENDENCY_HPP_ S getFirstDependeeValue() const
Convienence function. Returns the first dependee in the list of dependees.
std::set< RCP< const ParameterEntry >, RCPConstComp > ConstParameterEntryList
A list of dependents.
ParameterEntryList & getDependents()
Gets the dependents of the dependency.
std::set< RCP< ParameterEntry >, RCPComp > ParameterEntryList
A list of Dependees.
This class represents a depndency between elements in a Parameter List.
Struct for comparing two RCPs. Simply compares the raw pointers contained within the RCPs...
const ConstParameterEntryList & getDependees() const
Gets the dependees of the dependency.
Struct for comparing two RCPs. Simply compares the raw pointers contained within the RCPs...
Templated Parameter List class.
static const std::string & getXMLTagName()
Returns the XML tag to use when serializing Dependencies.
RCP< const ParameterEntry > getFirstDependee() const
Gets the first dependee in the dependees list. This is a convience function.
The Teuchos namespace contains all of the classes, structs and enums used by Teuchos, as well as a number of utility routines.
const ConstParameterEntryList & getDependents() const
Gets the dependents of the dependency.
Base class for all objects that can describe themselves.
Smart reference counting pointer class for automatic garbage collection.
Reference-counted pointer class and non-member templated function implementations.