00001
00006
00007
00008
00009
00010
00011 #ifndef _eoOneMax_h
00012 #define _eoOneMax_h
00013
00030 template< class FitT>
00031 class eoOneMax: public EO<FitT> {
00032 public:
00037 eoOneMax()
00038 {
00039
00040
00041 }
00042
00043 virtual ~eoOneMax()
00044 {
00045
00046
00047 }
00048
00049 virtual string className() const { return "eoOneMax"; }
00050
00052 void printOn(ostream& _os) const
00053 {
00054
00055 EO<FitT>::printOn(_os);
00056 _os << ' ';
00057
00058
00063 _os << b.size() << ' ' ;
00064 for (unsigned i=0; i<b.size(); i++)
00065 _os << b[i] << ' ' ;
00066
00067 }
00068
00072 void readFrom(istream& _is)
00073 {
00074
00075 EO<FitT>::readFrom(_is);
00076
00077
00082 unsigned s;
00083 _is >> s;
00084 b.resize(s);
00085 for (unsigned i=0; i<s; i++)
00086 {
00087 bool bTmp;
00088 _is >> bTmp;
00089 b[i] = bTmp;
00090 }
00091
00092 }
00093
00094
00095 void setB(vector<bool> & _b)
00096 {
00097 b=_b;
00098 }
00099 const vector<bool> & B()
00100 {
00101 return b;
00102 }
00103
00104 private:
00105
00106 std::vector<bool> b;
00107
00108 };
00109
00110 #endif
00111