10 #ifndef TEUCHOS_DEPENDENCY_HPP_
11 #define TEUCHOS_DEPENDENCY_HPP_
14 #include "Teuchos_InvalidDependencyException.hpp"
122 return constDependents_;
130 return *(dependees_.begin());
141 return getValue<S>(*(*(dependees_.begin())));
148 virtual std::string getTypeAttributeValue()
const = 0;
155 static const std::string xmlTagName =
"Dependency";
168 virtual void evaluate() = 0;
176 virtual void print(std::ostream& out)
const;
190 virtual void validateDep()
const = 0;
202 ConstParameterEntryList dependees_;
207 ParameterEntryList dependents_;
212 ConstParameterEntryList constDependents_;
222 void createConstDependents();
227 void checkDependeesAndDependents();
235 #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.