00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #include <mpcl/util/prefs/option.hh>
00027
00028
00029
00030
00031
00032
00033 const mpcl::text::TString mpcl::util::prefs::TOption::_kyDefaultHelpString = "No help available for this option.";
00034
00035
00036
00037
00038
00039
00040 bool mpcl::util::prefs::TOption::
00041 hasValue (const TString& rkySOURCE_VALUE) const
00042 {
00043
00044 using std::vector;
00045
00046 bool gSuccess = false;
00047 vector<TString>::const_iterator I = tValueVector.begin();
00048 vector<TString>::const_iterator ktEnd = tValueVector.end();
00049
00050 for (; ( I != ktEnd ) ;++I)
00051 {
00052 if ( *I == rkySOURCE_VALUE )
00053 {
00054 gSuccess = true;
00055 break;
00056 }
00057 }
00058 return gSuccess;
00059
00060 }
00061
00062
00063 void mpcl::util::prefs::TOption::
00064 write (std::basic_ostream<char_type, traits_type>& rtTARGET_OSTREAM) const
00065 {
00066
00067 using std::vector;
00068 using std::endl;
00069
00070 vector<TString>::const_iterator I = tValueVector.begin();
00071 vector<TString>::const_iterator ktEnd = tValueVector.end();
00072
00073 if ( tValueVector.empty() )
00074 {
00075 rtTARGET_OSTREAM << yName;
00076 rtTARGET_OSTREAM << "=";
00077 rtTARGET_OSTREAM << yDefaultValue;
00078 rtTARGET_OSTREAM << endl;
00079 }
00080 else
00081 {
00082 for (; ( I != ktEnd ) ;++I)
00083 {
00084 rtTARGET_OSTREAM << yName;
00085 rtTARGET_OSTREAM << "=";
00086 rtTARGET_OSTREAM << *I;
00087 rtTARGET_OSTREAM << endl;
00088 }
00089 }
00090
00091 }