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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1.1.1 - (show 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 #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