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())));
188 static const std::string xmlTagName =
"Dependency";
209 virtual void print(std::ostream& out)
const;
255 void createConstDependents();
260 void checkDependeesAndDependents();
Templated Parameter List class.
Reference-counted pointer class and non-member templated function implementations.
This class represents a depndency between elements in a Parameter List.
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.
std::set< RCP< ParameterEntry >, RCPComp > ParameterEntryList
A list of Dependees.
S getFirstDependeeValue() const
Convienence function. Returns the first dependee in the list of dependees.
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.
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.