Index: lemon/lemon_writer.h
===================================================================
--- lemon/lemon_writer.h	(revision 2282)
+++ lemon/lemon_writer.h	(revision 2386)
@@ -473,7 +473,7 @@
     /// Add a new node map writer command for the writer.
     template <typename Map>
-    NodeSetWriter& writeNodeMap(std::string name, const Map& map) {
+    NodeSetWriter& writeNodeMap(std::string label, const Map& map) {
       return writeNodeMap<typename Traits::
-	template Writer<typename Map::Value>, Map>(name, map);
+	template Writer<typename Map::Value>, Map>(label, map);
     }
 
@@ -481,12 +481,12 @@
     ///
     /// Add a new node map writer command for the writer.
-    template <typename Writer, typename Map>
-    NodeSetWriter& writeNodeMap(std::string name, const Map& map, 
-			    const Writer& writer = Writer()) {
+    template <typename ItemWriter, typename Map>
+    NodeSetWriter& writeNodeMap(std::string label, const Map& map, 
+			    const ItemWriter& iw = ItemWriter()) {
       checkConcept<concepts::ReadMap<Node, typename Map::Value>, Map>();
-      checkConcept<_writer_bits::ItemWriter<typename Map::Value>, Writer>();
+      checkConcept<_writer_bits::ItemWriter<typename Map::Value>,ItemWriter>();
       writers.push_back(
-	make_pair(name, new _writer_bits::
-		  MapWriter<Node, Map, Writer>(map, writer)));
+	make_pair(label, new _writer_bits::
+		  MapWriter<Node, Map, ItemWriter>(map, iw)));
       return *this;
     }
@@ -505,5 +505,5 @@
     /// Write the content of the section.
     virtual void write(std::ostream& os) {
-      for (int i = 0; i < (int)writers.size(); ++i) {
+      for (int i = 0; i < int(writers.size()); ++i) {
 	if (writers[i].first == "label") {
 	  labelMap = writers[i].second;
@@ -529,5 +529,5 @@
 	os << "label\t";
       }
-      for (int i = 0; i < (int)writers.size(); ++i) {
+      for (int i = 0; i < int(writers.size()); ++i) {
 	os << writers[i].first << '\t';
       }
@@ -538,5 +538,5 @@
 	  os << graph.id(*it) << '\t';
 	}
-	for (int i = 0; i < (int)writers.size(); ++i) {
+	for (int i = 0; i < int(writers.size()); ++i) {
 	  writers[i].second->write(os, *it);
 	  os << '\t';
@@ -662,7 +662,7 @@
     /// Add a new edge map writer command for the writer.
     template <typename Map>
-    EdgeSetWriter& writeEdgeMap(std::string name, const Map& map) {
+    EdgeSetWriter& writeEdgeMap(std::string label, const Map& map) {
       return writeEdgeMap<typename Traits::
-	template Writer<typename Map::Value>, Map>(name, map);
+	template Writer<typename Map::Value>, Map>(label, map);
     }
 
@@ -670,12 +670,12 @@
     ///
     /// Add a new edge map writer command for the writer.
-    template <typename Writer, typename Map>
-    EdgeSetWriter& writeEdgeMap(std::string name, const Map& map, 
-			    const Writer& writer = Writer()) {
+    template <typename ItemWriter, typename Map>
+    EdgeSetWriter& writeEdgeMap(std::string label, const Map& map, 
+			    const ItemWriter& iw = ItemWriter()) {
       checkConcept<concepts::ReadMap<Edge, typename Map::Value>, Map>();
-      checkConcept<_writer_bits::ItemWriter<typename Map::Value>, Writer>();
+      checkConcept<_writer_bits::ItemWriter<typename Map::Value>, ItemWriter>();
       writers.push_back(
-	make_pair(name, new _writer_bits::
-		  MapWriter<Edge, Map, Writer>(map, writer)));
+	make_pair(label, new _writer_bits::
+		  MapWriter<Edge, Map, ItemWriter>(map, iw)));
       return *this;
     }
@@ -697,5 +697,5 @@
 	throw DataFormatError("Cannot find nodeset or label map");
       }
-      for (int i = 0; i < (int)writers.size(); ++i) {
+      for (int i = 0; i < int(writers.size()); ++i) {
 	if (writers[i].first == "label") {
 	  labelMap = writers[i].second;
@@ -722,5 +722,5 @@
 	os << "label\t";
       }
-      for (int i = 0; i < (int)writers.size(); ++i) {
+      for (int i = 0; i < int(writers.size()); ++i) {
 	os << writers[i].first << '\t';
       }
@@ -735,5 +735,5 @@
 	  os << graph.id(*it) << '\t';
 	}
-	for (int i = 0; i < (int)writers.size(); ++i) {
+	for (int i = 0; i < int(writers.size()); ++i) {
 	  writers[i].second->write(os, *it);
 	  os << '\t';
@@ -868,7 +868,7 @@
     /// Add a new undirected map writer command for the writer.
     template <typename Map>
-    UEdgeSetWriter& writeUEdgeMap(std::string name, const Map& map) {
+    UEdgeSetWriter& writeUEdgeMap(std::string label, const Map& map) {
       return writeUEdgeMap<typename Traits::
-	template Writer<typename Map::Value>, Map>(name, map);
+	template Writer<typename Map::Value>, Map>(label, map);
     }
 
@@ -876,12 +876,12 @@
     ///
     /// Add a new undirected map writer command for the writer.
-    template <typename Writer, typename Map>
-    UEdgeSetWriter& writeUEdgeMap(std::string name, const Map& map, 
-                                  const Writer& writer = Writer()) {
+    template <typename ItemWriter, typename Map>
+    UEdgeSetWriter& writeUEdgeMap(std::string label, const Map& map, 
+                                  const ItemWriter& iw = ItemWriter()) {
       checkConcept<concepts::ReadMap<UEdge, typename Map::Value>, Map>();
-      checkConcept<_writer_bits::ItemWriter<typename Map::Value>, Writer>();
+      checkConcept<_writer_bits::ItemWriter<typename Map::Value>, ItemWriter>();
       writers.push_back(
-	make_pair(name, new _writer_bits::
-		  MapWriter<UEdge, Map, Writer>(map, writer)));
+	make_pair(label, new _writer_bits::
+		  MapWriter<UEdge, Map, ItemWriter>(map, iw)));
       return *this;
     }
@@ -891,7 +891,7 @@
     /// Add a new directed map writer command for the writer.
     template <typename Map>
-    UEdgeSetWriter& writeEdgeMap(std::string name, const Map& map) {
+    UEdgeSetWriter& writeEdgeMap(std::string label, const Map& map) {
       return writeEdgeMap<typename Traits::
-	template Writer<typename Map::Value>, Map>(name, map);
+	template Writer<typename Map::Value>, Map>(label, map);
     }
 
@@ -899,13 +899,13 @@
     ///
     /// Add a new directed map writer command for the writer.
-    template <typename Writer, typename Map>
-    UEdgeSetWriter& writeEdgeMap(std::string name, const Map& map, 
-                                 const Writer& writer = Writer()) {
+    template <typename ItemWriter, typename Map>
+    UEdgeSetWriter& writeEdgeMap(std::string label, const Map& map, 
+                                 const ItemWriter& iw = ItemWriter()) {
       checkConcept<concepts::ReadMap<Edge, typename Map::Value>, Map>();
-      checkConcept<_writer_bits::ItemWriter<typename Map::Value>, Writer>();
+      checkConcept<_writer_bits::ItemWriter<typename Map::Value>, ItemWriter>();
       writeUEdgeMap("+" + name, 
-                    _writer_bits::forwardComposeMap(graph, map), writer);
+                    _writer_bits::forwardComposeMap(graph, map), iw);
       writeUEdgeMap("-" + name, 
-                    _writer_bits::backwardComposeMap(graph, map), writer);
+                    _writer_bits::backwardComposeMap(graph, map), iw);
       return *this;
     }
@@ -927,5 +927,5 @@
 	throw DataFormatError("Cannot find nodeset or label map");
       }
-      for (int i = 0; i < (int)writers.size(); ++i) {
+      for (int i = 0; i < int(writers.size()); ++i) {
 	if (writers[i].first == "label") {
 	  labelMap = writers[i].second;
@@ -952,5 +952,5 @@
 	os << "label\t";
       }
-      for (int i = 0; i < (int)writers.size(); ++i) {
+      for (int i = 0; i < int(writers.size()); ++i) {
 	os << writers[i].first << '\t';
       }
@@ -965,5 +965,5 @@
 	  os << graph.id(*it) << '\t';
 	}
-	for (int i = 0; i < (int)writers.size(); ++i) {
+	for (int i = 0; i < int(writers.size()); ++i) {
 	  writers[i].second->write(os, *it);
 	  os << '\t';
@@ -1081,6 +1081,6 @@
     ///
     /// Add a node writer command for the NodeWriter.
-    void writeNode(const std::string& name, const Node& item) {
-      writers.push_back(make_pair(name, &item));
+    void writeNode(std::string label, const Node& item) {
+      writers.push_back(make_pair(label, &item));
     }
 
@@ -1101,5 +1101,5 @@
 	throw DataFormatError("Cannot find nodeset or label map");
       }
-      for (int i = 0; i < (int)writers.size(); ++i) {
+      for (int i = 0; i < int(writers.size()); ++i) {
 	os << writers[i].first << ' ';
 	labelWriter->write(os, *(writers[i].second));
@@ -1165,6 +1165,6 @@
     ///
     /// Add an edge writer command for the EdgeWriter.
-    void writeEdge(const std::string& name, const Edge& item) {
-      writers.push_back(make_pair(name, &item));
+    void writeEdge(std::string label, const Edge& item) {
+      writers.push_back(make_pair(label, &item));
     }
 
@@ -1185,5 +1185,5 @@
 	throw DataFormatError("Cannot find edgeset or label map");
       }
-      for (int i = 0; i < (int)writers.size(); ++i) {
+      for (int i = 0; i < int(writers.size()); ++i) {
 	os << writers[i].first << ' ';
 	labelWriter->write(os, *(writers[i].second));
@@ -1257,6 +1257,6 @@
     ///
     /// Add an edge writer command for the UEdgeWriter.
-    void writeEdge(const std::string& name, const Edge& item) {
-      edgeWriters.push_back(make_pair(name, &item));
+    void writeEdge(std::string label, const Edge& item) {
+      edgeWriters.push_back(make_pair(label, &item));
     }
 
@@ -1264,6 +1264,6 @@
     ///
     /// Add an undirected edge writer command for the UEdgeWriter.
-    void writeUEdge(const std::string& name, const UEdge& item) {
-      uEdgeWriters.push_back(make_pair(name, &item));
+    void writeUEdge(std::string label, const UEdge& item) {
+      uEdgeWriters.push_back(make_pair(label, &item));
     }
 
@@ -1287,10 +1287,10 @@
 	throw DataFormatError("Cannot find undirected edgeset or label map");
       }
-      for (int i = 0; i < (int)uEdgeWriters.size(); ++i) {
+      for (int i = 0; i < int(uEdgeWriters.size()); ++i) {
 	os << uEdgeWriters[i].first << ' ';
 	uEdgeLabelWriter->write(os, *(uEdgeWriters[i].second));
 	os << std::endl;
       }
-      for (int i = 0; i < (int)edgeWriters.size(); ++i) {
+      for (int i = 0; i < int(edgeWriters.size()); ++i) {
 	os << edgeWriters[i].first << ' ';
 	edgeLabelWriter->write(os, *(edgeWriters[i].second));
@@ -1364,5 +1364,5 @@
     /// Add an attribute writer command for the writer.
     template <typename Value>
-    AttributeWriter& writeAttribute(const std::string& name, 
+    AttributeWriter& writeAttribute(std::string label, 
 				    const Value& value) {
       return 
@@ -1373,11 +1373,10 @@
     ///
     /// Add an attribute writer command for the writer.
-    template <typename Writer, typename Value>
-    AttributeWriter& writeAttribute(const std::string& name, 
-				    const Value& value,
-				    const Writer& writer = Writer()) {
-      checkConcept<_writer_bits::ItemWriter<Value>, Writer>();
-      writers.push_back(make_pair(name, new _writer_bits::
-				  ValueWriter<Value, Writer>(value, writer)));
+    template <typename ItemWriter, typename Value>
+    AttributeWriter& writeAttribute(std::string label, const Value& value,
+				    const ItemWriter& iw = ItemWriter()) {
+      checkConcept<_writer_bits::ItemWriter<Value>, ItemWriter>();
+      writers.push_back(make_pair(label, new _writer_bits::
+				  ValueWriter<Value, ItemWriter>(value, iw)));
       return *this;
     }
