11 #include "Teuchos_ParameterEntryXMLConverterDB.hpp"
35 buildInitialValidatorMap(p, validatorIDsMap);
38 convertParameterList(p, peIDCounter, entryIDsMap, validatorIDsMap);
43 convertDependencies(depSheet, entryIDsMap, validatorIDsMap);
49 XMLObject validators = convertValidators(p, validatorIDsMap);
55 void XMLParameterListWriter::buildInitialValidatorMap(
62 buildInitialValidatorMap(
63 getValue<ParameterList>(entry),
73 XMLObject XMLParameterListWriter::convertValidators(
74 const ParameterList& , ValidatortoIDMap& validatorIDsMap)
const
79 it != validatorIDsMap.end();
89 XMLObject XMLParameterListWriter::convertParameterList(
90 const ParameterList& p,
92 EntryIDsMap& entryIDsMap,
93 const ValidatortoIDMap& validatorIDsMap)
const
98 RCP<const ParameterEntry> entry = p.getEntryRCP(i->first);
100 XMLObject newPL = convertParameterList(
101 getValue<ParameterList>(entry),
109 entryIDsMap.insert(EntryIDsMap::value_type(entry, idCounter));
115 entry, p.name(i), idCounter, validatorIDsMap));
116 entryIDsMap.insert(EntryIDsMap::value_type(entry, idCounter));
124 XMLParameterListWriter::convertDependencies(
125 RCP<const DependencySheet> depSheet,
126 const EntryIDsMap& entryIDsMap,
127 ValidatortoIDMap& validatorIDsMap)
const
130 toReturn.addAttribute(
136 DependencySheet::DepSet::const_iterator it = depSheet->depBegin();
137 it != depSheet->depEnd();
141 *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.