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