00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 #ifndef MOEOPOPTOOBJECTIVEVECTORS_H_
00014 #define MOEOPOPTOOBJECTIVEVECTORS_H_
00015
00016 #include <vector>
00017 #include <eoFunctor.h>
00018
00022 template < class MOEOT, class ObjectiveVector = typename MOEOT::ObjectiveVector >
00023 class moeoConvertPopToObjectiveVectors : public eoUF < const eoPop < MOEOT >, const std::vector < ObjectiveVector > >
00024 {
00025 public:
00026
00031 const std::vector < ObjectiveVector > operator()(const eoPop < MOEOT > _pop)
00032 {
00033 std::vector < ObjectiveVector > result;
00034 result.resize(_pop.size());
00035 for (unsigned int i=0; i<_pop.size(); i++)
00036 {
00037 result.push_back(_pop[i].objectiveVector());
00038 }
00039 return result;
00040 }
00041
00042 };
00043
00044 #endif