]> git.donarmstrong.com Git - lilypond.git/blobdiff - flower/include/lgetopt.hh
release: 0.1.11
[lilypond.git] / flower / include / lgetopt.hh
index 6db9cd4dfdb7c0ea8a24d8eb1740e837703807a8..9341d1dcaf528dddc64c8702f28c44a9b221f5a0 100644 (file)
@@ -14,7 +14,7 @@ struct Long_option_init {
     char const * longname;
     char        shortname;
 
-    ostream &printon(ostream &errorout);
+    void printon (ostream &errorout) const ;
 };
 
 
@@ -28,54 +28,56 @@ struct Long_option_init {
   argument reordering
   */
 class Getopt_long {
-public:
-    /** errorcodes: no error, argument expected, no argument expected,
-      unknown option, illegal argument (eg. int expected).  */
-    enum Errorcod { E_NOERROR = 0, E_ARGEXPECT, E_NOARGEXPECT, E_UNKNOWNOPTION,
-               E_ILLEGALARG } ;
-
-
-private:
 
     /// the option info.
-    Long_option_init *the_opts;
-    int table_len;
+    const Long_option_init *option_a_;
+    int table_len_i_;
     
-    /// if doing short option, argv[optind][optindind] is processed next.
-    int optindind;
+    /// if doing short option, arg_value_ch_a_a_[optind][optindind] is processed next.
+    int argument_index_i_;
 
     /// the option found
-    Long_option_init *beet;
+    const Long_option_init *found_option_l_;
 
-    /// get ready for processing next error.
-    bool next();
-    Long_option_init *parselong();
-    Long_option_init *parseshort();
-    
-    ostream *errorout;
 
-    /// report an error and abort
-    void report(Errorcod c);
-public:
+public: 
+    /** errorcodes: no error, argument expected, no argument expected,
+      unknown option, illegal argument (eg. int expected).  */
+    enum Errorcod { E_NOERROR = 0, E_ARGEXPECT, E_NOARGEXPECT, E_UNKNOWNOPTION,
+               E_ILLEGALARG } ;
 
     /// argument. Set to 0 if not present
-    char* optarg;
+    char const * optional_argument_ch_C_;
 
     /// current error status
-    Errorcod error;
+    Errorcod error_;
 
-    /// return an integer (with err. detect)
-    long intarg();
-    /// argv[optind] will be processed next.
-    int optind;
+    /// arg_value_ch_a_a_[array_index_i_] will be processed next.
+    int array_index_i_;
 
     /// the arguments
-    char **argv;
+    char **arg_value_ch_a_a_;
 
     /// the arg. count
-    int argc;
-    
-    /* *************** */
+    int argument_count_i_;
+
+    ostream *error_ostream_l_;
+
+public:
+    /// get ready for processing next error.
+    void next();
+    const Long_option_init *parselong();
+    const Long_option_init *parseshort();
+    void OK() const;
+    bool ok() const;
+
+    /// report an error and abort
+    void report (Errorcod c);
+
+
+    /// return an integer (with err. detect)
+    long argument_to_i();
     
     /**
       What to do with  errors. 
@@ -83,18 +85,18 @@ public:
        if #os# is null, then do not report nor abort, just set #error#
       */
        
-    void seterror(ostream *os);
+    void seterror (ostream *os);
 
     /// construct: pass arguments and option info.
-    Getopt_long(int c,  char **v, Long_option_init *lo);
+    Getopt_long (int c,  char **v, Long_option_init *lo);
 
     /**  get the next option. 
       @return pointer to next option found.
       0 if error occurred, or next argument is no option.
       */
-    Long_option_init *operator()();
+    const Long_option_init *operator()();
 
-    char *current_arg();
-    char * get_next_arg();
+    char const *current_arg();
+    char const * get_next_arg();
 };
 #endif