- Main Page
- Namespaces
- Classes
- Files

- Search for |

# edge_xover.h

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