43 #include "Teuchos_ParameterEntryXMLConverterDB.hpp"
67 buildInitialValidatorMap(p, validatorIDsMap);
70 convertParameterList(p, peIDCounter, entryIDsMap, validatorIDsMap);
75 convertDependencies(depSheet, entryIDsMap, validatorIDsMap);
81 XMLObject validators = convertValidators(p, validatorIDsMap);
87 void XMLParameterListWriter::buildInitialValidatorMap(
94 buildInitialValidatorMap(
95 getValue<ParameterList>(entry),
105 XMLObject XMLParameterListWriter::convertValidators(
106 const ParameterList& , ValidatortoIDMap& validatorIDsMap)
const
111 it != validatorIDsMap.end();
121 XMLObject XMLParameterListWriter::convertParameterList(
122 const ParameterList& p,
124 EntryIDsMap& entryIDsMap,
125 const ValidatortoIDMap& validatorIDsMap)
const
130 RCP<const ParameterEntry> entry = p.getEntryRCP(i->first);
132 XMLObject newPL = convertParameterList(
133 getValue<ParameterList>(entry),
141 entryIDsMap.insert(EntryIDsMap::value_type(entry, idCounter));
147 entry, p.name(i), idCounter, validatorIDsMap));
148 entryIDsMap.insert(EntryIDsMap::value_type(entry, idCounter));
156 XMLParameterListWriter::convertDependencies(
157 RCP<const DependencySheet> depSheet,
158 const EntryIDsMap& entryIDsMap,
159 ValidatortoIDMap& validatorIDsMap)
const
162 toReturn.addAttribute(
168 DependencySheet::DepSet::const_iterator it = depSheet->depBegin();
169 it != depSheet->depEnd();
173 *it, entryIDsMap, validatorIDsMap));
const std::string & name() const
The name of this ParameterList.
C++ Standard Library compatable filtered iterator.
XMLObject toXML(const ParameterList &p, RCP< const DependencySheet > depSheet=null) const
ConstIterator end() const
An iterator pointing beyond the last entry.
A database for DependencyXMLConverters.
RCP< const ParameterEntryValidator > validator() const
Return the (optional) validator object.
bool nonnull(const std::shared_ptr< T > &p)
Returns true if p.get()!=NULL.
This object is held as the "value" in the Teuchos::ParameterList std::map.
void addChild(const XMLObject &child)
Add a child node to the node.
ValidatorMap::const_iterator const_iterator
static const std::string & getValidatorsTagName()
static const std::string & getIdAttributeName()
static XMLObject convertValidator(RCP< const ParameterEntryValidator > validator, const ValidatortoIDMap &validatorIDsMap, bool assignedID=true)
Given a validator converts the validator to XML.
Representation of an XML data tree. XMLObject is a ref-counted handle to a XMLObjectImplem object...
static const std::string & getDependenciesTagName()
A database for ValidatorXMLConverters.
Writes a ParameterList to an XML object.
params_t::ConstIterator ConstIterator
Parameter container const iterator typedef.
std::map< RCP< const ParameterEntry >, ParameterEntry::ParameterEntryID, RCPConstComp > EntryIDsMap
A class for mapping validators to integers.
void insert(RCP< const ParameterEntryValidator > toInsert)
inserts an IDValidatorPair into the map.
ConstIterator begin() const
An iterator pointing to the first entry.
void addAttribute(const std::string &name, T value)
Lookup whether or not Doubles are allowed.
bool isList() const
Return whether or not the value itself is a list.
A list of parameters of arbitrary type.
unsigned int ParameterEntryID
const ParameterEntry & entry(ConstIterator i) const
Access to ParameterEntry (i.e., returns i->second)
IteratorType begin() const
static XMLObject convertEntry(RCP< const ParameterEntry > entry, const std::string &name, const ParameterEntry::ParameterEntryID &id, const ValidatortoIDMap &validatorIDsMap)
Converts the given ParameterEntry to XML.
A collection of Exceptions that can be potentially thrown when converting a ParameterList to and from...
Smart reference counting pointer class for automatic garbage collection.
static const std::string & getParameterListTagName()
static XMLObject convertDependency(RCP< const Dependency > dependency, const XMLParameterListWriter::EntryIDsMap &entryIDsMap, ValidatortoIDMap &validatorIDsMap)
Given a dependency converts the dependency to XML.
static const std::string & getNameAttributeName()
static const std::string & getNameAttributeName()
When serializing to XML, this string should be used as the name of the name attribute.
bool is_null() const
Returns true if the underlying pointer is null.