This is a constructor for the special case where some options are registered with a prefix to avoid conflicts.

The object thus created will only be used temporarily to register an options class with the original options parser (which is passed as the *other pointer) using the given prefix. It should not be used for any other purpose, and the prefix must not be the empty string. It seems to be the least bad way of implementing options with prefixes at this point. Example of usage is: ParseOptions po; // original ParseOptions object ParseOptions po_mfcc("mfcc", &po); // object with prefix. MfccOptions mfcc_opts; mfcc_opts.Register(&po_mfcc); The options will now get registered as, e.g., –mfcc.frame-shift=10.0 instead of just –frame-shift=10.0

Parses the command line options and fills the ParseOptions-registered variables.

This must be called after all the variables were registered!!!

Initially the variables have implicit values, then the config file values are set-up, finally the command line vaues given. Returns the first position in argv that was not used. [typically not useful: use NumParams() and GetParam(). ]