/[PAMELA software]/FCUtils/CmdLineParser/src/Options.cpp
ViewVC logotype

Annotation of /FCUtils/CmdLineParser/src/Options.cpp

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1.1.1 - (hide annotations) (download) (vendor branch)
Wed May 7 10:33:14 2008 UTC (16 years, 6 months ago) by nikolas
Branch: MAIN, first
CVS Tags: v1r00, HEAD
Changes since 1.1: +0 -0 lines
 An usefull command line parser

1 nikolas 1.1 #include "Options.h"
2    
3     namespace FCUtils {
4    
5     Options * Options::instance_=0;
6    
7     Options::Options() {
8     // Set the error Option waiting for exceptions inplementation
9     };
10    
11     Options * Options::Get(){
12     if(instance_==0) instance_=new Options();
13     return instance_;
14     };
15    
16     bool Options::IsOptionDef(string const &name) {
17     return (GetOption(name).name!="error");
18     }
19    
20     // Option const & Options::GetOption(string const &name){
21     // OptMap::const_iterator it= options_.find(ToLower(name));
22     Option & Options::GetOption(string const &name){
23     OptMap::iterator it= options_.find(ToLower(name));
24     if(it== options_.end()) {
25     cout << endl <<
26     " --->>> Error in Options::GetOption , no option : "
27     +name+" found !!!! " << endl;
28     Help();
29     exit(-1);
30     }
31     return it->second;
32     }
33    
34     bool Options::UpdateOption( const string &name, const string &val){
35     switch(IsOptionDef(name)){
36     case true:
37     options_[ToLower(name)].val=val;
38     return true;
39     default:
40     return false;
41     }
42     return false;
43     }
44    
45     void Options::Help() const {
46     cout << endl << " Usage : " << endl;
47     for( OptMap::const_iterator i=options_.begin(); i!=options_.end(); ++i)
48     i->second.Help();
49     cout << endl << endl;
50     }
51     void Options::Print() const {
52     for( OptMap::const_iterator i=options_.begin(); i!=options_.end(); ++i)
53     i->second.Print();
54     }
55    
56     }; // namespace FCUtils

  ViewVC Help
Powered by ViewVC 1.1.23