/* * File automatically generated by * gengen 1.0 by Lorenzo Bettini * http://www.gnu.org/software/gengen */ #ifndef UPDATE_ARG_GEN_CLASS_H #define UPDATE_ARG_GEN_CLASS_H #include #include using std::string; using std::ostream; class update_arg_gen_class { protected: string cast; bool flag_arg; bool float_arg; bool has_arg; bool int_arg; bool long_arg; bool longlong_arg; bool no_free; string opt_var; string optarg; string orig_optarg; string package_var_name; bool string_arg; string structure; public: update_arg_gen_class() : flag_arg (false), float_arg (false), has_arg (false), int_arg (false), long_arg (false), longlong_arg (false), no_free (false), string_arg (false) { } update_arg_gen_class(const string &_cast, bool _flag_arg, bool _float_arg, bool _has_arg, bool _int_arg, bool _long_arg, bool _longlong_arg, bool _no_free, const string &_opt_var, const string &_optarg, const string &_orig_optarg, const string &_package_var_name, bool _string_arg, const string &_structure) : cast (_cast), flag_arg (_flag_arg), float_arg (_float_arg), has_arg (_has_arg), int_arg (_int_arg), long_arg (_long_arg), longlong_arg (_longlong_arg), no_free (_no_free), opt_var (_opt_var), optarg (_optarg), orig_optarg (_orig_optarg), package_var_name (_package_var_name), string_arg (_string_arg), structure (_structure) { } 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_cast(const string &_cast) { cast = _cast; } void set_flag_arg(bool _flag_arg) { flag_arg = _flag_arg; } void set_float_arg(bool _float_arg) { float_arg = _float_arg; } void set_has_arg(bool _has_arg) { has_arg = _has_arg; } void set_int_arg(bool _int_arg) { int_arg = _int_arg; } void set_long_arg(bool _long_arg) { long_arg = _long_arg; } void set_longlong_arg(bool _longlong_arg) { longlong_arg = _longlong_arg; } void set_no_free(bool _no_free) { no_free = _no_free; } void set_opt_var(const string &_opt_var) { opt_var = _opt_var; } void set_optarg(const string &_optarg) { optarg = _optarg; } void set_orig_optarg(const string &_orig_optarg) { orig_optarg = _orig_optarg; } void set_package_var_name(const string &_package_var_name) { package_var_name = _package_var_name; } void set_string_arg(bool _string_arg) { string_arg = _string_arg; } void set_structure(const string &_structure) { structure = _structure; } void generate_update_arg(ostream &stream, unsigned int indent = 0); }; #endif // UPDATE_ARG_GEN_CLASS_H