19 typedef JAutoMap_t::value_type value_type;
24 struct JElement_t :
public value_type
32 template<> JElement_t::JElement_t(
JType<char>) : value_type(1,
"char") {}
33 template<> JElement_t::JElement_t(
JType<int>) : value_type(2,
"int") {}
34 template<> JElement_t::JElement_t(
JType<float>) : value_type(3,
"float") {}
35 template<> JElement_t::JElement_t(
JType<double>) : value_type(4,
"double") {}
42 template<>
template<> value_type JAutoMap_t::getAutoElement(
JType<char> ) {
return value_type(1,
"char"); }
43 template<>
template<> value_type JAutoMap_t::getAutoElement(
JType<int> ) {
return value_type(2,
"int"); }
44 template<>
template<> value_type JAutoMap_t::getAutoElement(
JType<float> ) {
return value_type(3,
"float"); }
45 template<>
template<> value_type JAutoMap_t::getAutoElement(
JType<double>) {
return value_type(4,
"double"); }
55 int main(
int argc,
char **argv)
63 JParser<> zap(
"Example program to test automatic generation of map based on data types.");
69 catch(
const exception &error) {
70 FATAL(error.what() << endl);
85 zmap.insert<JDataTypes_t>();
87 cout <<
"First method" << endl;
89 for (JAutoMap_t::const_iterator
i = zmap.begin();
i != zmap.end(); ++
i) {
90 cout << setw(2) <<
i->first <<
' ' <<
i->second << endl;
99 cout <<
"Second method" << endl;
101 for (JAutoMap_t::const_iterator
i = zmap.begin();
i != zmap.end(); ++
i) {
102 cout << setw(2) <<
i->first <<
' ' <<
i->second << endl;
Utility class to parse command line options.
int main(int argc, char *argv[])
Auxiliary class for a type holder.
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
General purpose messaging.
Utility class to parse command line options.