- Main Page
- Classes
- Files

- Search for |

# 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