43#ifndef TEUCHOS_VALIDATORXMLCONVERTERDB_HPP
44#define TEUCHOS_VALIDATORXMLCONVERTERDB_HPP
111 bool assignedID=
true);
147 typedef std::map<std::string, RCP<ValidatorXMLConverter> >
ConverterMap;
186#define TEUCHOS_ADD_STRINGTOINTEGRALVALIDATOR_CONVERTER(INTEGRALTYPE) \
188 Teuchos::ValidatorXMLConverterDB::addConverter( \
189 Teuchos::DummyObjectGetter< \
190 Teuchos::StringToIntegralParameterEntryValidator< INTEGRALTYPE > >:: \
192 Teuchos::rcp(new Teuchos::StringToIntegralValidatorXMLConverter< INTEGRALTYPE >));
199#define TEUCHOS_ADD_ENHANCEDNUMBERVALIDATOR_CONVERTER(T) \
201 Teuchos::ValidatorXMLConverterDB::addConverter( \
202 Teuchos::DummyObjectGetter< \
203 Teuchos::EnhancedNumberValidator< T > >:: \
205 Teuchos::rcp(new Teuchos::EnhancedNumberValidatorXMLConverter< T >));
211#define TEUCHOS_ADD_ARRAYVALIDATOR_CONVERTER(VALIDATORTYPE, ENTRYTYPE) \
213 Teuchos::ValidatorXMLConverterDB::addConverter( \
214 Teuchos::DummyObjectGetter< \
215 Teuchos::ArrayValidator< VALIDATORTYPE, ENTRYTYPE > >:: \
217 Teuchos::rcp(new Teuchos::ArrayValidatorXMLConverter< VALIDATORTYPE, ENTRYTYPE >)); \
218 Teuchos::ValidatorXMLConverterDB::addConverter( \
219 Teuchos::DummyObjectGetter< \
220 Teuchos::TwoDArrayValidator< VALIDATORTYPE, ENTRYTYPE > >:: \
222 Teuchos::rcp(new Teuchos::TwoDArrayValidatorXMLConverter< VALIDATORTYPE, ENTRYTYPE >));
226#define TEUCHOS_ADD_NUMBERTYPE_VALIDATOR_CONVERTERS(T) \
227 TEUCHOS_ADD_STRINGTOINTEGRALVALIDATOR_CONVERTER(T); \
228 TEUCHOS_ADD_ENHANCEDNUMBERVALIDATOR_CONVERTER(T); \
229 TEUCHOS_ADD_ARRAYVALIDATOR_CONVERTER(Teuchos::EnhancedNumberValidator< T >, T );
234#define TEUCHOS_ADD_VALIDATOR_CONVERTER(VALIDATOR_TYPE, CONVERTER_TYPE) \
235 Teuchos::ValidatorXMLConverterDB::addConverter( \
236 Teuchos::DummyObjectGetter< VALIDATOR_TYPE > \
237 ::getDummyObject(), \
238 Teuchos::rcp(new CONVERTER_TYPE ));
#define TEUCHOSPARAMETERLIST_LIB_DLL_EXPORT
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.
std::pair< std::string, RCP< ValidatorXMLConverter > > ConverterPair
convience typedef.
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.
std::map< std::string, RCP< ValidatorXMLConverter > > ConverterMap
convience class.
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 ConverterMap & getConverterMap()
Gets the default converter to be used to convert Validators.
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,...