11#include "Teuchos_ParameterEntryXMLConverterDB.hpp"
13#include "Teuchos_StaticSetupMacro.hpp"
19RCP<const ParameterEntryXMLConverter>
22 ConverterMap::const_iterator
it =
23 getConverterMap().find(entry->getAny().typeName());
24 if(
it == getConverterMap().end()){
40 " attribute." << std::endl <<
43 std::endl << std::endl);
47 ConverterMap::const_iterator
it = getConverterMap().find(
parameterType);
51 "Can't find converter for parameter entry of type: " <<
53 std::endl << std::endl);
59 out <<
"Known ParameterEntryXMLConverters: " << std::endl;
61 ConverterMap::const_iterator
it = getConverterMap().begin();
62 it != getConverterMap().end();
65 out <<
"\t" <<
it->first <<std::endl;
79ParameterEntryXMLConverterDB::ConverterMap&
80ParameterEntryXMLConverterDB::getConverterMap()
95 typedef unsigned int uint;
96 typedef unsigned short int ushort;
97 typedef unsigned long ulong;
98 TEUCHOS_ADD_TYPE_AND_ARRAYTYPE_CONVERTER(
int);
99 TEUCHOS_ADD_TYPE_AND_ARRAYTYPE_CONVERTER(uint);
100 TEUCHOS_ADD_TYPE_AND_ARRAYTYPE_CONVERTER(
short);
101 TEUCHOS_ADD_TYPE_AND_ARRAYTYPE_CONVERTER(ushort);
102 TEUCHOS_ADD_TYPE_AND_ARRAYTYPE_CONVERTER(
long);
103 TEUCHOS_ADD_TYPE_AND_ARRAYTYPE_CONVERTER(ulong);
104 typedef long long int llint;
105 typedef unsigned long long int ullint;
106 TEUCHOS_ADD_TYPE_AND_ARRAYTYPE_CONVERTER(llint);
107 TEUCHOS_ADD_TYPE_AND_ARRAYTYPE_CONVERTER(ullint);
108 TEUCHOS_ADD_TYPE_AND_ARRAYTYPE_CONVERTER(
double);
109 TEUCHOS_ADD_TYPE_AND_ARRAYTYPE_CONVERTER(
float);
111 typedef std::string myString;
112 TEUCHOS_ADD_TYPE_AND_ARRAYTYPE_CONVERTER(myString);
114 TEUCHOS_ADD_TYPE_CONVERTER(
char);
115 TEUCHOS_ADD_TYPE_CONVERTER(
bool);
A thin wrapper around the Teuchos Array class that allows for 2 dimensional arrays.
Writes a ParameterList to an XML object.
A last resort converter for when no others will do.
Thrown when an appropriate ParameterEntryXMLConverter can't be found.
Thrown when a parameter entry tag is missing it's type attribute.
static RCP< const ParameterEntryXMLConverter > getDefaultConverter()
Gets the default converter to be used on Parameter Entries.
static void addConverter(RCP< ParameterEntryXMLConverter > converterToAdd)
Add a converter to the database.
static void printKnownConverters(std::ostream &out)
prints the xml tags associated with all known converters
static RCP< const ParameterEntryXMLConverter > getConverter(RCP< const ParameterEntry > entry)
Get an appropriate ParameterEntryXMLConverter given a ParameterEntry.
static const std::string & getTypeAttributeName()
static const std::string & getTagName()
Get the string that should be used as the tag name for all parameters when they are serialized to xml...
Smart reference counting pointer class for automatic garbage collection.
bool is_null() const
Returns true if the underlying pointer is null.
Representation of an XML data tree. XMLObject is a ref-counted handle to a XMLObjectImplem object,...
static const std::string & getNameAttributeName()
#define TEUCHOS_TEST_FOR_EXCEPTION(throw_exception_test, Exception, msg)
Macro for throwing an exception with breakpointing to ease debugging.
The Teuchos namespace contains all of the classes, structs and enums used by Teuchos,...
TEUCHOS_DEPRECATED RCP< T > rcp(T *p, Dealloc_T dealloc, bool owns_mem)
Deprecated.