source: trunk/MagicSoft/Mars/mbase/MArgs.h@ 8067

Last change on this file since 8067 was 7169, checked in by tbretz, 19 years ago
*** empty log message ***
File size: 1.7 KB
Line 
1#ifndef MARS_MArgs
2#define MARS_MArgs
3
4#ifndef ROOT_TNamed
5#include <TNamed.h>
6#endif
7
8#ifndef ROOT_TList
9#include <TList.h>
10#endif
11
12class MArgsEntry : public TString, public TObject
13{
14public:
15 MArgsEntry(const char *c) : TString(c), TObject()
16 {
17 ReplaceAll("\015", "");
18 dynamic_cast<TString&>(*this) = Strip(TString::kBoth);
19 }
20
21 void Print(const Option_t *o) const;
22
23 ClassDef(MArgsEntry, 0)
24};
25
26class MArgs : public TNamed
27{
28private:
29 Int_t fArgc;
30 TList *fArgv; //->
31
32public:
33 MArgs(int argc, char **argv, Bool_t root=kFALSE);
34 ~MArgs();
35
36 void Print(const Option_t *o="") const;
37
38 // FIXME: Add max, min option
39 // FIXME: Add default option
40
41 Int_t GetInt(const TString name) const;
42 Double_t GetFloat(const TString name) const;
43 TString GetString(const TString name) const;
44
45 Int_t GetIntAndRemove(const TString name);
46 Double_t GetFloatAndRemove(const TString name);
47 TString GetStringAndRemove(const TString name);
48
49 Int_t GetIntAndRemove(const TString name, Int_t def);
50 Double_t GetFloatAndRemove(const TString name, Double_t def);
51 TString GetStringAndRemove(const TString name, const TString def);
52
53 Bool_t Has(const TString name) const;
54 Bool_t HasOnly(const TString name) const;
55 Bool_t HasOption(const TString name) const;
56 Bool_t HasOnlyAndRemove(const TString name);
57
58 TString GetArgumentStr(Int_t i) const;
59 Int_t GetArgumentInt(Int_t i) const;
60 Float_t GetArgumentFloat(Int_t i) const;
61 Int_t GetNumArguments() const;
62 Int_t GetNumOptions() const;
63 Int_t GetNumEntries() const;
64
65 ClassDef(MArgs, 0) //Class to parse command line arguments
66};
67
68#endif
Note: See TracBrowser for help on using the repository browser.