24 int main(
int argc,
char **argv)
33 JParser<> zap(
"Example program to test equation parsing");
40 catch(
const exception &error) {
41 FATAL(error.what() << endl);
47 const int KEY_WIDTH = 6;
48 const int VAL_WIDTH = 30;
53 ifstream in(inputFile.c_str());
55 in.imbue(locale(in.getloc(), facet.
clone()));
57 cout << setw(4) <<
" " <<
' '
58 << setw(KEY_WIDTH) << left <<
"key" << SEP <<
' '
59 << setw(VAL_WIDTH) << left <<
"value" << endl;
61 cout << setw(KEY_WIDTH + 5) << setfill(
'-') << left <<
"-"
62 << setw(VAL_WIDTH + 0) << setfill(
'-') << left <<
"+" << setfill(
' ') << endl;
64 for (
JEquation equation; in >> equation; ) {
68 for ( ; facet.
isDivision(equation.getSeparator()); ++i) {
70 cout <<
"[" << setw(2) << right << i <<
"]" <<
' '
71 << setw(KEY_WIDTH) << left << equation.getKey() << SEP <<
' '
72 << setw(VAL_WIDTH) << left << equation.getValue() << endl;
74 equation.setEquation(facet);
77 cout <<
"[" << setw(2) << right << i <<
"]" <<
' '
78 << setw(KEY_WIDTH) << left << equation.getKey() << SEP <<
' '
79 << setw(VAL_WIDTH) << left << equation.getValue() << endl;
int main(int argc, char **argv)
General purpose messaging.
Utility class to parse command line options.
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
Facet class to specify parsing of equations in currect locale (see class JLANG::JEquation).
virtual JEquationFacet * clone() const override
Clone this facet.
Simple data structure to support I/O of equations (see class JLANG::JEquation).
bool isDivision(const char c) const
Test for division character.
General purpose equation class.
Utility class to parse command line options.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).