43 #ifndef TEUCHOS_DEPENDENCY_HPP_
44 #define TEUCHOS_DEPENDENCY_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;
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...
Dependency()
Declaring and defining the default constructor as private.
const ConstParameterEntryList & getDependees() const
Gets the dependees of the dependency.
Templated Parameter List class.
ConstParameterEntryList dependees_
The parameters being depended upon.
ParameterEntryList dependents_
The dependent paramters.
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.
#define TEUCHOSPARAMETERLIST_LIB_DLL_EXPORT
ConstParameterEntryList constDependents_
A const version dependent paramters.
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.