equal
  deleted
  inserted
  replaced
  
    
    
     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  | 
    41     /// Like all concept classes, it only provides an interface  | 
    41     /// Like all concept classes, it only provides an interface  | 
    42     /// without any sensible implementation. So any general algorithm for  | 
    42     /// without any sensible implementation. So any general algorithm for  | 
    43     /// undirected graphs should compile with this class, but it will not  | 
    43     /// undirected graphs should compile with this class, but it will not  | 
    44     /// run properly, of course.  | 
    44     /// run properly, of course.  | 
    45     /// An actual graph implementation like \ref ListGraph or  | 
    45     /// An actual graph implementation like \ref ListGraph or  | 
    46     /// \ref SmartGraph may have additional functionality.      | 
    46     /// \ref SmartGraph may have additional functionality.  | 
    47     ///  | 
    47     ///  | 
    48     /// The undirected graphs also fulfill the concept of \ref Digraph  | 
    48     /// The undirected graphs also fulfill the concept of \ref Digraph  | 
    49     /// "directed graphs", since each edge can also be regarded as two  | 
    49     /// "directed graphs", since each edge can also be regarded as two  | 
    50     /// oppositely directed arcs.  | 
    50     /// oppositely directed arcs.  | 
    51     /// Undirected graphs provide an Edge type for the undirected edges and  | 
    51     /// Undirected graphs provide an Edge type for the undirected edges and  | 
    83       Graph() {} | 
    83       Graph() {} | 
    84   | 
    84   | 
    85       /// \brief Undirected graphs should be tagged with \c UndirectedTag.  | 
    85       /// \brief Undirected graphs should be tagged with \c UndirectedTag.  | 
    86       ///  | 
    86       ///  | 
    87       /// Undirected graphs should be tagged with \c UndirectedTag.  | 
    87       /// Undirected graphs should be tagged with \c UndirectedTag.  | 
    88       ///   | 
    88       ///  | 
    89       /// This tag helps the \c enable_if technics to make compile time  | 
    89       /// This tag helps the \c enable_if technics to make compile time  | 
    90       /// specializations for undirected graphs.  | 
    90       /// specializations for undirected graphs.  | 
    91       typedef True UndirectedTag;  | 
    91       typedef True UndirectedTag;  | 
    92   | 
    92   | 
    93       /// The node type of the graph  | 
    93       /// The node type of the graph  | 
   358         /// the arcs; this order has nothing to do with the iteration  | 
   358         /// the arcs; this order has nothing to do with the iteration  | 
   359         /// ordering of the arcs.  | 
   359         /// ordering of the arcs.  | 
   360         bool operator<(Arc) const { return false; } | 
   360         bool operator<(Arc) const { return false; } | 
   361   | 
   361   | 
   362         /// Converison to \c Edge  | 
   362         /// Converison to \c Edge  | 
   363           | 
   363   | 
   364         /// Converison to \c Edge.  | 
   364         /// Converison to \c Edge.  | 
   365         ///  | 
   365         ///  | 
   366         operator Edge() const { return Edge(); } | 
   366         operator Edge() const { return Edge(); } | 
   367       };  | 
   367       };  | 
   368   | 
   368   |