edge_xover.h

00001 // "edge_xover.h"
00002 
00003 // (c) OPAC Team, LIFL, 2003
00004 
00005 /* 
00006    Contact: paradiseo-help@lists.gforge.inria.fr
00007 */
00008 
00009 #ifndef edge_xover_h
00010 #define edge_xover_h
00011 
00012 #include <vector>
00013 #include <set>
00014 
00015 #include <eoOp.h>
00016 
00017 #include "route.h"
00018 
00020 class EdgeXover : public eoQuadOp <Route> {
00021   
00022 public :
00023   
00024   bool operator () (Route & __route1, Route & __route2) ;
00025 
00026 private :
00027   
00028   void cross (const Route & __par1, const Route & __par2, Route & __child) ; /* Binary */
00029 
00030   void remove_entry (unsigned __vertex, std :: vector <std :: set <unsigned> > & __map) ;
00031   /* Updating the map of entries */
00032 
00033   void build_map (const Route & __par1, const Route & __par2) ;
00034 
00035   void add_vertex (unsigned __vertex, Route & __child) ;
00036 
00037   std :: vector <std :: set <unsigned> > _map ; /* The handled map */
00038 
00039   std :: vector <bool> visited ; /* Vertices that are already visited */
00040 
00041 } ;
00042 
00043 #endif

Generated on Tue Jan 9 15:47:41 2007 for ParadisEO-PEO - Lessons by  doxygen 1.4.7