X-Git-Url: http://git.treefish.org/~alex/phys/latlib.git/blobdiff_plain/57120da66874b239e28824c9790a62c3556a489e..7a385d92335a4707d5b0aae66e4850d137c1fe7d:/o815/o815.h?ds=inline diff --git a/o815/o815.h b/o815/o815.h index 242d1e8..8b00437 100644 --- a/o815/o815.h +++ b/o815/o815.h @@ -5,6 +5,7 @@ #include #include #include +#include #include "latlib/paraq.h" #include "latlib/writeout.h" @@ -51,7 +52,7 @@ class o815 { protected: o815 *O815; ostream *log; - int nequi, nskip; + int nequi, nskip, confmemSize; }; struct { @@ -62,11 +63,20 @@ class o815 { pair obscache; pair confcache; string outdir; - bool idonly; - bool showjobnum; + int idonly; + int showjobnum; } comargs; - o815(int argc, char **argv, const string& programid); + struct comoption { + string name; + int has_arg; + int *flag; + int val; + string optdesc; + string argdesc; + }; + + o815(int argc, char **argv, const string& _programid, comoption specOps[]=NULL, void (*helpHeader)()=NULL); ~o815(); paraq *paraQ; writeout *out; @@ -75,14 +85,19 @@ class o815 { void mainLoop(); string headMaster(); void addPara(const string& paraid, const double& paraDefault); + void addComOption(const char* name, int has_arg, int *flag, int val, const char* optdesc, const char* argdesc); + vector< pair > parsedSpecOps; + vector lonelyArgs; private: + vector comOptions; MPI_Status mpiStatus; int numprocs, rank; static void listArg(int *target, int tlen, char *listarg); - void parseArgs(int argc, char **argv); + void parseArgs(int argc, char **argv, comoption specOps[]); string programid; int nextParas(); + comoption* getOptionByVal(int val); }; #endif