Teuchos - Trilinos Tools Package Version of the Day
Loading...
Searching...
No Matches
Teuchos_DependencyXMLConverter.hpp
Go to the documentation of this file.
1// @HEADER
2// *****************************************************************************
3// Teuchos: Common Tools Package
4//
5// Copyright 2004 NTESS and the Teuchos contributors.
6// SPDX-License-Identifier: BSD-3-Clause
7// *****************************************************************************
8// @HEADER
9
10#ifndef TEUCHOS_DEPENDENCYXMLCONVERTER_HPP
11#define TEUCHOS_DEPENDENCYXMLCONVERTER_HPP
12
18#include "Teuchos_Dependency.hpp"
19#include "Teuchos_XMLObject.hpp"
22#include "Teuchos_Describable.hpp"
23
24
25namespace Teuchos {
26
27
31class TEUCHOSPARAMETERLIST_LIB_DLL_EXPORT DependencyXMLConverter : public Describable {
32
33public:
34
37
47 RCP<Dependency> fromXMLtoDependency(
48 const XMLObject& xmlObj,
51
66 const XMLObject& xmlObj,
70 const IDtoValidatorMap& validatorIDsMap) const = 0;
71
81 XMLObject fromDependencytoXML(
85
98 virtual void convertDependency(
103
105
107
108
112 static const std::string& getDependeeTagName(){
113 static const std::string dependeeTagName = "Dependee";
114 return dependeeTagName;
115 }
116
120 static const std::string& getDependentTagName(){
121 static const std::string dependentTagName = "Dependent";
122 return dependentTagName;
123 }
124
128 static const std::string& getParameterIdAttributeName(){
129 static const std::string parameterIdAtrributeName = "parameterId";
131 }
132
136 static const std::string& getTypeAttributeName(){
137 static const std::string typeAttributeName = "type";
138 return typeAttributeName;
139 }
140
142
143};
144
145
146} // namespace Teuchos
147
148
149#endif // TEUCHOS_DEPENDENCYXMLCONVERTER_HPP
An object representation of a subset of XML data.
Writes an XML object to a parameter list.
Writes a ParameterList to an XML object.
std::set< RCP< ParameterEntry >, RCPComp > ParameterEntryList
A list of Dependees.
std::set< RCP< const ParameterEntry >, RCPConstComp > ConstParameterEntryList
A list of dependents.
An abstract base class for converting Dependencies to and from XML.
static const std::string & getDependentTagName()
Returns the string to be used for the dependent tag.
virtual void convertDependency(const RCP< const Dependency > dependency, XMLObject &xmlObj, const XMLParameterListWriter::EntryIDsMap &entryIDsMap, ValidatortoIDMap &validatorIDsMap) const =0
Preforms any and all special dependency conversion that is specific to a particlar Dependency.
static const std::string & getTypeAttributeName()
Returns the string to be used for the type attribute.
static const std::string & getParameterIdAttributeName()
Returns the string to be used for the ParameterID attribute.
virtual RCP< Dependency > convertXML(const XMLObject &xmlObj, const Dependency::ConstParameterEntryList dependees, const Dependency::ParameterEntryList dependets, const XMLParameterListReader::EntryIDsMap &entryIDsMap, const IDtoValidatorMap &validatorIDsMap) const =0
Preforms any and all special xml conversion that is specific to a particular Dependency.
static const std::string & getDependeeTagName()
Returns the string to be used for the dependee tag.
Base class for all objects that can describe themselves.
Maps Validators to integers.
Smart reference counting pointer class for automatic garbage collection.
A class for mapping validators to integers.
Representation of an XML data tree. XMLObject is a ref-counted handle to a XMLObjectImplem object,...
std::map< ParameterEntry::ParameterEntryID, RCP< ParameterEntry > > EntryIDsMap
Convenience typedef.
std::map< RCP< const ParameterEntry >, ParameterEntry::ParameterEntryID, RCPConstComp > EntryIDsMap
The Teuchos namespace contains all of the classes, structs and enums used by Teuchos,...