lemon/core.h
changeset 969 cfdbf1574403
parent 959 17e36e175725
parent 877 141f9c0db4a3
child 966 c8fce9beb46a
child 998 7fdaa05a69a1
equal deleted inserted replaced
23:215d9fa38d48 24:989f00052616
     1 /* -*- mode: C++; indent-tabs-mode: nil; -*-
     1 /* -*- mode: C++; indent-tabs-mode: nil; -*-
     2  *
     2  *
     3  * This file is a part of LEMON, a generic C++ optimization library.
     3  * This file is a part of LEMON, a generic C++ optimization library.
     4  *
     4  *
     5  * Copyright (C) 2003-2009
     5  * Copyright (C) 2003-2010
     6  * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
     6  * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
     7  * (Egervary Research Group on Combinatorial Optimization, EGRES).
     7  * (Egervary Research Group on Combinatorial Optimization, EGRES).
     8  *
     8  *
     9  * Permission to use, modify and distribute this software is granted
     9  * Permission to use, modify and distribute this software is granted
    10  * provided that this copyright notice appears in all copies. For
    10  * provided that this copyright notice appears in all copies. For
  1239     /// The Digraph type
  1239     /// The Digraph type
  1240     typedef GR Digraph;
  1240     typedef GR Digraph;
  1241 
  1241 
  1242   protected:
  1242   protected:
  1243 
  1243 
  1244     class AutoNodeMap : public ItemSetTraits<GR, Node>::template Map<Arc>::Type {
  1244     class AutoNodeMap : public ItemSetTraits<GR, Node>::template Map<Arc>::Type
       
  1245     {
  1245       typedef typename ItemSetTraits<GR, Node>::template Map<Arc>::Type Parent;
  1246       typedef typename ItemSetTraits<GR, Node>::template Map<Arc>::Type Parent;
  1246 
  1247 
  1247     public:
  1248     public:
  1248 
  1249 
  1249       AutoNodeMap(const GR& digraph) : Parent(digraph, INVALID) {}
  1250       AutoNodeMap(const GR& digraph) : Parent(digraph, INVALID) {}
  1278       {
  1279       {
  1279         return g.target(a)<g.target(b);
  1280         return g.target(a)<g.target(b);
  1280       }
  1281       }
  1281     };
  1282     };
  1282 
  1283 
  1283   protected: 
  1284   protected:
  1284 
  1285 
  1285     const Digraph &_g;
  1286     const Digraph &_g;
  1286     AutoNodeMap _head;
  1287     AutoNodeMap _head;
  1287     typename Digraph::template ArcMap<Arc> _parent;
  1288     typename Digraph::template ArcMap<Arc> _parent;
  1288     typename Digraph::template ArcMap<Arc> _left;
  1289     typename Digraph::template ArcMap<Arc> _left;