10#ifndef TEUCHOS_VALIDATORXMLCONVERTERDB_HPP
11#define TEUCHOS_VALIDATORXMLCONVERTERDB_HPP
78 bool assignedID=
true);
114 typedef std::map<std::string, RCP<ValidatorXMLConverter> > ConverterMap;
117 typedef std::pair<std::string, RCP<ValidatorXMLConverter> > ConverterPair;
129 static ConverterMap& getConverterMap();
153#define TEUCHOS_ADD_STRINGTOINTEGRALVALIDATOR_CONVERTER(INTEGRALTYPE) \
155 Teuchos::ValidatorXMLConverterDB::addConverter( \
156 Teuchos::DummyObjectGetter< \
157 Teuchos::StringToIntegralParameterEntryValidator< INTEGRALTYPE > >:: \
159 Teuchos::rcp(new Teuchos::StringToIntegralValidatorXMLConverter< INTEGRALTYPE >));
166#define TEUCHOS_ADD_ENHANCEDNUMBERVALIDATOR_CONVERTER(T) \
168 Teuchos::ValidatorXMLConverterDB::addConverter( \
169 Teuchos::DummyObjectGetter< \
170 Teuchos::EnhancedNumberValidator< T > >:: \
172 Teuchos::rcp(new Teuchos::EnhancedNumberValidatorXMLConverter< T >));
178#define TEUCHOS_ADD_ARRAYVALIDATOR_CONVERTER(VALIDATORTYPE, ENTRYTYPE) \
180 Teuchos::ValidatorXMLConverterDB::addConverter( \
181 Teuchos::DummyObjectGetter< \
182 Teuchos::ArrayValidator< VALIDATORTYPE, ENTRYTYPE > >:: \
184 Teuchos::rcp(new Teuchos::ArrayValidatorXMLConverter< VALIDATORTYPE, ENTRYTYPE >)); \
185 Teuchos::ValidatorXMLConverterDB::addConverter( \
186 Teuchos::DummyObjectGetter< \
187 Teuchos::TwoDArrayValidator< VALIDATORTYPE, ENTRYTYPE > >:: \
189 Teuchos::rcp(new Teuchos::TwoDArrayValidatorXMLConverter< VALIDATORTYPE, ENTRYTYPE >));
193#define TEUCHOS_ADD_NUMBERTYPE_VALIDATOR_CONVERTERS(T) \
194 TEUCHOS_ADD_STRINGTOINTEGRALVALIDATOR_CONVERTER(T); \
195 TEUCHOS_ADD_ENHANCEDNUMBERVALIDATOR_CONVERTER(T); \
196 TEUCHOS_ADD_ARRAYVALIDATOR_CONVERTER(Teuchos::EnhancedNumberValidator< T >, T );
201#define TEUCHOS_ADD_VALIDATOR_CONVERTER(VALIDATOR_TYPE, CONVERTER_TYPE) \
202 Teuchos::ValidatorXMLConverterDB::addConverter( \
203 Teuchos::DummyObjectGetter< VALIDATOR_TYPE > \
204 ::getDummyObject(), \
205 Teuchos::rcp(new CONVERTER_TYPE ));
A collection of standard ValidatorXMLConverters.
Converts back and forth between XML and ParameterEntryValidators.
Maps Validators to integers.
Abstract interface for an object that can validate a ParameterEntry's value.
Smart reference counting pointer class for automatic garbage collection.
Provides ability to lookup ValidatorXMLConverterDB.
static void addConverter(RCP< const ParameterEntryValidator > validator, RCP< ValidatorXMLConverter > converterToAdd)
Add a converter to the database.
static XMLObject convertValidator(RCP< const ParameterEntryValidator > validator, const ValidatortoIDMap &validatorIDsMap, bool assignedID=true)
Given a validator converts the validator to XML.
static void printKnownConverters(std::ostream &out)
prints the xml tags associated with all known converters
static RCP< const ValidatorXMLConverter > getConverter(const ParameterEntryValidator &validator)
Get an appropriate ValidatorXMLConverter given a Validator.
static RCP< ParameterEntryValidator > convertXML(const XMLObject &xmlObject, const IDtoValidatorMap &validatorIDsMap)
Given an XMLObject converts the XMLObject to a ParameterEntryValidator and inserts the validator into...
A class for mapping validators to integers.
Representation of an XML data tree. XMLObject is a ref-counted handle to a XMLObjectImplem object,...
The Teuchos namespace contains all of the classes, structs and enums used by Teuchos,...