43 #ifndef TEUCHOS_DEPENDENCY_HPP_ 44 #define TEUCHOS_DEPENDENCY_HPP_ 47 #include "Teuchos_InvalidDependencyException.hpp" 155 return constDependents_;
163 return *(dependees_.begin());
174 return getValue<S>(*(*(dependees_.begin())));
181 virtual std::string getTypeAttributeValue()
const = 0;
188 static const std::string xmlTagName =
"Dependency";
201 virtual void evaluate() = 0;
209 virtual void print(std::ostream& out)
const;
223 virtual void validateDep()
const = 0;
235 ConstParameterEntryList dependees_;
240 ParameterEntryList dependents_;
245 ConstParameterEntryList constDependents_;
255 void createConstDependents();
260 void checkDependeesAndDependents();
268 #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.