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_
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.
const ConstParameterEntryList & getDependents() const
Gets the dependents of the dependency.
Struct for comparing two RCPs. Simply compares the raw pointers contained within the RCPs...
S getFirstDependeeValue() const
Convienence function. Returns the first dependee in the list of dependees.
Struct for comparing two RCPs. Simply compares the raw pointers contained within the RCPs...
const ConstParameterEntryList & getDependees() const
Gets the dependees of the dependency.
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.
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.