diff -r c7dd9d8c770a -r 62e7d237e1fb lemon/bits/undir_graph_extender.h --- a/lemon/bits/undir_graph_extender.h Mon Nov 14 18:36:45 2005 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,311 +0,0 @@ -/* -*- C++ -*- - * - * lemon/undir_graph_extender.h - Part of LEMON, a generic C++ - * optimization library - * - * Copyright (C) 2005 Egervary Jeno Kombinatorikus Optimalizalasi - * Kutatocsoport (Egervary Research Group on Combinatorial Optimization, - * EGRES). - * - * Permission to use, modify and distribute this software is granted - * provided that this copyright notice appears in all copies. For - * precise terms see the accompanying LICENSE file. - * - * This software is provided "AS IS" with no warranty of any kind, - * express or implied, and with no claim as to its suitability for any - * purpose. - * - */ - -#ifndef LEMON_UNDIR_GRAPH_EXTENDER_H -#define LEMON_UNDIR_GRAPH_EXTENDER_H - -#include - -namespace lemon { - - template - class UndirGraphExtender : public _Base { - typedef _Base Parent; - typedef UndirGraphExtender Graph; - - public: - - typedef typename Parent::Edge UndirEdge; - typedef typename Parent::Node Node; - - class Edge : public UndirEdge { - friend class UndirGraphExtender; - - protected: - // FIXME: Marci use opposite logic in his graph adaptors. It would - // be reasonable to syncronize... - bool forward; - - Edge(const UndirEdge &ue, bool _forward) : - UndirEdge(ue), forward(_forward) {} - - public: - Edge() {} - - /// Invalid edge constructor - Edge(Invalid i) : UndirEdge(i), forward(true) {} - - bool operator==(const Edge &that) const { - return forward==that.forward && UndirEdge(*this)==UndirEdge(that); - } - bool operator!=(const Edge &that) const { - return forward!=that.forward || UndirEdge(*this)!=UndirEdge(that); - } - bool operator<(const Edge &that) const { - return forward