diff options
Diffstat (limited to 'cli/header.cxx')
-rw-r--r-- | cli/header.cxx | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/cli/header.cxx b/cli/header.cxx index ddf0895..6ff1f6b 100644 --- a/cli/header.cxx +++ b/cli/header.cxx @@ -129,14 +129,23 @@ namespace // if (!abst) { - os << name << " (int& argc," << endl + os << name << " ();" + << endl; + + // Are we generating parsing constructors or parse() functions? + // + string n (options.generate_parse () + ? string ("void\n") + (name != "parse" ? "parse" : "parse_") + : name); + + os << n << " (int& argc," << endl << "char** argv," << endl << "bool erase = false," << endl << um << " option = " << um << "::fail," << endl << um << " argument = " << um << "::stop);" << endl; - os << name << " (int start," << endl + os << n << " (int start," << endl << "int& argc," << endl << "char** argv," << endl << "bool erase = false," << endl @@ -144,7 +153,7 @@ namespace << um << " argument = " << um << "::stop);" << endl; - os << name << " (int& argc," << endl + os << n << " (int& argc," << endl << "char** argv," << endl << "int& end," << endl << "bool erase = false," << endl @@ -152,7 +161,7 @@ namespace << um << " argument = " << um << "::stop);" << endl; - os << name << " (int start," << endl + os << n << " (int start," << endl << "int& argc," << endl << "char** argv," << endl << "int& end," << endl @@ -161,13 +170,10 @@ namespace << um << " argument = " << um << "::stop);" << endl; - os << name << " (" << cli << "::scanner&," << endl + os << n << " (" << cli << "::scanner&," << endl << um << " option = " << um << "::fail," << endl << um << " argument = " << um << "::stop);" << endl; - - os << name << " ();" - << endl; } // |