multovl  1.3
Multiple overlaps of genomic regions
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Pages
Public Member Functions | Protected Member Functions | List of all members
multovl::MultovlOptbase Class Reference

Base class for option handling in the multovl family of tools. More...

#include "multovlopts.hh"

Inheritance diagram for multovl::MultovlOptbase:
multovl::Polite multovl::ClassicOpts multovl::prob::ProbOpts multovl::prob::ParProbOpts

Public Member Functions

unsigned int minmult () const
 
unsigned int maxmult () const
 
bool solitary () const
 
bool nointrack () const
 
unsigned int ovlen () const
 
bool uniregion () const
 
bool timing () const
 
virtual std::string param_str () const
 
virtual std::ostream & print_version (std::ostream &out) const
 
- Public Member Functions inherited from multovl::Polite
void process_commandline (int argc, char *argv[])
 
bool parse_check (int argc, char *argv[])
 
std::vector< std::string > pos_opts () const
 
bool error_status () const
 
std::string error_messages () const
 
bool version_needed () const
 
bool help_needed () const
 
virtual std::ostream & print_help (std::ostream &out) const
 

Protected Member Functions

virtual bool check_variables ()
 
virtual std::ostream & version_info (std::ostream &out) const
 
- Protected Member Functions inherited from multovl::Polite
 Polite (const std::string &descr="Options")
 
template<typename Opttype >
void add_option (const std::string &name, Opttype *optvarp, const Opttype &defval, const std::string &descr, const char nm= '\0')
 
void add_bool_switch (const std::string &name, bool *varp, const std::string &descr, const char nm= '\0')
 
template<typename Opttype >
void add_mandatory_option (const std::string &name, const std::string &descr, const char nm= '\0')
 
bool perform_parsing (int argc, char *argv[])
 
bool option_seen (const std::string &optnm) const
 
template<typename Opttype >
Opttype fetch_value (const std::string &optnm) const
 
void add_error (const std::string &msg)
 
void error_reset ()
 Reset the error status to "no error".
 

Detailed Description

Base class for option handling in the multovl family of tools.

Member Function Documentation

virtual bool multovl::MultovlOptbase::check_variables ( )
protectedvirtual

Derived classes must override this method so that first an appropriate base class version is invoked to process the base class' commandline variables and then additional processing must be done on the derived class' variables if /true/ was returned, like this:-

bool DerivedOpts::check_variables()
{
        bool ok = BaseOpts::check_variables();  // don't invoke Polite::check_variables() !
        if (ok) {
                // e.g. check some variables here
                if (option_seen("opt") > 0)
                {
                        int opt = fetch_value<int>("opt");
                        if (opt < 1) opt = 1;
                        // ...
                        ok = true;
                }
                else
                {
                    add_error("opt must be present");
                    ok = false;
  }
        }
        return ok;
}

Implements multovl::Polite.

Reimplemented in multovl::prob::ProbOpts, multovl::ClassicOpts, and multovl::prob::ParProbOpts.

virtual std::ostream& multovl::MultovlOptbase::print_version ( std::ostream &  out) const
virtual

Prints the version information

Parameters
outthis is the stream the version text is printed to.
Returns
/out/ is returned here

Reimplemented from multovl::Polite.

virtual std::ostream& multovl::MultovlOptbase::version_info ( std::ostream &  out) const
protectedvirtual

This method prints version information relevant to the current class. It is invoked by the print_version() method by default. Do not invoke the base class version(s) here, just specify what is relevant to your current class, and override print_version() so that the base class infos are combined correctly (important when doing diamond-style inheritance).

Parameters
outthe stream the version information is printed to
Returns
out

Reimplemented from multovl::Polite.


The documentation for this class was generated from the following file: