--- /dev/null
+/*
+ * File automatically generated by
+ * gengen 1.3 by Lorenzo Bettini
+ * http://www.gnu.org/software/gengen
+ */
+
+#ifndef OPTION_ARG_GEN_CLASS_H
+#define OPTION_ARG_GEN_CLASS_H
+
+#include <string>
+#include <iostream>
+
+using std::string;
+using std::ostream;
+
+class option_arg_gen_class
+{
+ protected:
+ bool default_on;
+ string default_value;
+ string desc;
+ bool flag_arg;
+ bool has_arg;
+ bool has_default;
+ bool has_enum;
+ bool long_long_arg;
+ string longtype;
+ bool multiple;
+ string name;
+ string origtype;
+ string type;
+
+ public:
+ option_arg_gen_class() :
+ default_on (false), flag_arg (false), has_arg (false), has_default (false), has_enum (false), long_long_arg (false), multiple (false)
+ {
+ }
+
+ option_arg_gen_class(bool _default_on, const string &_default_value, const string &_desc, bool _flag_arg, bool _has_arg, bool _has_default, bool _has_enum, bool _long_long_arg, const string &_longtype, bool _multiple, const string &_name, const string &_origtype, const string &_type) :
+ default_on (_default_on), default_value (_default_value), desc (_desc), flag_arg (_flag_arg), has_arg (_has_arg), has_default (_has_default), has_enum (_has_enum), long_long_arg (_long_long_arg), longtype (_longtype), multiple (_multiple), name (_name), origtype (_origtype), type (_type)
+ {
+ }
+
+ static void
+ generate_string(const string &s, ostream &stream, unsigned int indent)
+ {
+ if (!indent || s.find('\n') == string::npos)
+ {
+ stream << s;
+ return;
+ }
+
+ string::size_type pos;
+ string::size_type start = 0;
+ string ind (indent, ' ');
+ while ( (pos=s.find('\n', start)) != string::npos)
+ {
+ stream << s.substr (start, (pos+1)-start);
+ start = pos+1;
+ if (start+1 <= s.size ())
+ stream << ind;
+ }
+ if (start+1 <= s.size ())
+ stream << s.substr (start);
+ }
+
+ void set_default_on(bool _default_on)
+ {
+ default_on = _default_on;
+ }
+
+ void set_default_value(const string &_default_value)
+ {
+ default_value = _default_value;
+ }
+
+ void set_desc(const string &_desc)
+ {
+ desc = _desc;
+ }
+
+ void set_flag_arg(bool _flag_arg)
+ {
+ flag_arg = _flag_arg;
+ }
+
+ void set_has_arg(bool _has_arg)
+ {
+ has_arg = _has_arg;
+ }
+
+ void set_has_default(bool _has_default)
+ {
+ has_default = _has_default;
+ }
+
+ void set_has_enum(bool _has_enum)
+ {
+ has_enum = _has_enum;
+ }
+
+ void set_long_long_arg(bool _long_long_arg)
+ {
+ long_long_arg = _long_long_arg;
+ }
+
+ void set_longtype(const string &_longtype)
+ {
+ longtype = _longtype;
+ }
+
+ void set_multiple(bool _multiple)
+ {
+ multiple = _multiple;
+ }
+
+ void set_name(const string &_name)
+ {
+ name = _name;
+ }
+
+ void set_origtype(const string &_origtype)
+ {
+ origtype = _origtype;
+ }
+
+ void set_type(const string &_type)
+ {
+ type = _type;
+ }
+
+ void generate_option_arg(ostream &stream, unsigned int indent = 0);
+
+};
+
+#endif // OPTION_ARG_GEN_CLASS_H