10#ifndef TEUCHOS_DEPENDENCY_HPP_
11#define TEUCHOS_DEPENDENCY_HPP_
14#include "Teuchos_InvalidDependencyException.hpp"
122 return constDependents_;
130 return *(dependees_.begin());
155 static const std::string xmlTagName =
"Dependency";
176 virtual void print(std::ostream& out)
const;
222 void createConstDependents();
227 void checkDependeesAndDependents();
Templated Parameter List class.
Reference-counted pointer class and non-member templated function implementations.
virtual std::string getTypeAttributeValue() const =0
Returns the string to be used for the value of the type attribute when converting the dependency to X...
ParameterEntryList & getDependents()
Gets the dependents of the dependency.
static const std::string & getXMLTagName()
Returns the XML tag to use when serializing Dependencies.
Dependency(ConstParameterEntryList dependees, ParameterEntryList dependents)
Constructs a Dependency.
std::set< RCP< ParameterEntry >, RCPComp > ParameterEntryList
A list of Dependees.
S getFirstDependeeValue() const
Convienence function. Returns the first dependee in the list of dependees.
virtual void print(std::ostream &out) const
prints out information about the dependency.
const ConstParameterEntryList & getDependents() const
Gets the dependents of the dependency.
virtual void evaluate()=0
Evaluates the dependency and makes any appropriate changes to the dependee based on the dependent.
std::set< RCP< const ParameterEntry >, RCPConstComp > ConstParameterEntryList
A list of dependents.
virtual void validateDep() const =0
Validates the dependency to make sure it's valid/has been setup properly. If subclassing,...
RCP< const ParameterEntry > getFirstDependee() const
Gets the first dependee in the dependees list. This is a convience function.
const ConstParameterEntryList & getDependees() const
Gets the dependees of the dependency.
Base class for all objects that can describe themselves.
T & getValue(const ParameterEntry &entry)
A templated helper function for returning the value of type T held in the ParameterEntry object,...
Smart reference counting pointer class for automatic garbage collection.
The Teuchos namespace contains all of the classes, structs and enums used by Teuchos,...
Struct for comparing two RCPs. Simply compares the raw pointers contained within the RCPs.
Struct for comparing two RCPs. Simply compares the raw pointers contained within the RCPs.