# HG changeset patch
# User Alpar Juttner <alpar@cs.elte.hu>
# Date 1242136938 -3600
# Node ID 1993af615e680989994a87b22e3aeeae81b42d52
# Parent  e652b6f9a29f6654b2a48148cd5243587baf0b6d
Resolve GCC-4.4 warnings & fix ambiguous op=() in graph_components.h

diff -r e652b6f9a29f -r 1993af615e68 lemon/concepts/graph_components.h
--- a/lemon/concepts/graph_components.h	Tue May 12 11:49:13 2009 +0100
+++ b/lemon/concepts/graph_components.h	Tue May 12 15:02:18 2009 +0100
@@ -71,6 +71,11 @@
       /// Assignment operator for the item.
       GraphItem& operator=(const GraphItem&) { return *this; }
 
+      /// \brief Assignment operator for INVALID.
+      ///
+      /// This operator makes the item invalid.
+      GraphItem& operator=(Invalid) { return *this; }
+
       /// \brief Equality operator.
       ///
       /// Equality operator.
@@ -96,6 +101,7 @@
       struct Constraints {
         void constraints() {
           _GraphItem i1;
+          i1=INVALID;
           _GraphItem i2 = i1;
           _GraphItem i3 = INVALID;
 
@@ -221,14 +227,7 @@
         /// Besides the core graph item functionality each arc should
         /// be convertible to the represented edge.
         Edge(const Arc&) {}
-
-        /// \brief Assign an arc to an edge.
-        ///
-        /// This function assigns an arc to an edge.
-        /// Besides the core graph item functionality each arc should
-        /// be convertible to the represented edge.
-        Edge& operator=(const Arc&) { return *this; }
-      };
+     };
 
       /// \brief Return one end node of an edge.
       ///
@@ -353,10 +352,12 @@
         void constraints() {
           checkConcept<Base, _Digraph >();
           typename _Digraph::Node node;
+          node=INVALID;
           int nid = digraph.id(node);
           nid = digraph.id(node);
           node = digraph.nodeFromId(nid);
           typename _Digraph::Arc arc;
+          arc=INVALID;
           int eid = digraph.id(arc);
           eid = digraph.id(arc);
           arc = digraph.arcFromId(eid);