1.1 --- a/lemon/lemon_writer.h Fri Mar 02 17:56:22 2007 +0000
1.2 +++ b/lemon/lemon_writer.h Fri Mar 02 18:04:28 2007 +0000
1.3 @@ -472,22 +472,22 @@
1.4 ///
1.5 /// Add a new node map writer command for the writer.
1.6 template <typename Map>
1.7 - NodeSetWriter& writeNodeMap(std::string name, const Map& map) {
1.8 + NodeSetWriter& writeNodeMap(std::string label, const Map& map) {
1.9 return writeNodeMap<typename Traits::
1.10 - template Writer<typename Map::Value>, Map>(name, map);
1.11 + template Writer<typename Map::Value>, Map>(label, map);
1.12 }
1.13
1.14 /// \brief Add a new node map writer command for the writer.
1.15 ///
1.16 /// Add a new node map writer command for the writer.
1.17 - template <typename Writer, typename Map>
1.18 - NodeSetWriter& writeNodeMap(std::string name, const Map& map,
1.19 - const Writer& writer = Writer()) {
1.20 + template <typename ItemWriter, typename Map>
1.21 + NodeSetWriter& writeNodeMap(std::string label, const Map& map,
1.22 + const ItemWriter& iw = ItemWriter()) {
1.23 checkConcept<concepts::ReadMap<Node, typename Map::Value>, Map>();
1.24 - checkConcept<_writer_bits::ItemWriter<typename Map::Value>, Writer>();
1.25 + checkConcept<_writer_bits::ItemWriter<typename Map::Value>,ItemWriter>();
1.26 writers.push_back(
1.27 - make_pair(name, new _writer_bits::
1.28 - MapWriter<Node, Map, Writer>(map, writer)));
1.29 + make_pair(label, new _writer_bits::
1.30 + MapWriter<Node, Map, ItemWriter>(map, iw)));
1.31 return *this;
1.32 }
1.33
1.34 @@ -504,7 +504,7 @@
1.35 ///
1.36 /// Write the content of the section.
1.37 virtual void write(std::ostream& os) {
1.38 - for (int i = 0; i < (int)writers.size(); ++i) {
1.39 + for (int i = 0; i < int(writers.size()); ++i) {
1.40 if (writers[i].first == "label") {
1.41 labelMap = writers[i].second;
1.42 forceLabelMap = false;
1.43 @@ -528,7 +528,7 @@
1.44 if (forceLabelMap) {
1.45 os << "label\t";
1.46 }
1.47 - for (int i = 0; i < (int)writers.size(); ++i) {
1.48 + for (int i = 0; i < int(writers.size()); ++i) {
1.49 os << writers[i].first << '\t';
1.50 }
1.51 os << std::endl;
1.52 @@ -537,7 +537,7 @@
1.53 if (forceLabelMap) {
1.54 os << graph.id(*it) << '\t';
1.55 }
1.56 - for (int i = 0; i < (int)writers.size(); ++i) {
1.57 + for (int i = 0; i < int(writers.size()); ++i) {
1.58 writers[i].second->write(os, *it);
1.59 os << '\t';
1.60 }
1.61 @@ -661,22 +661,22 @@
1.62 ///
1.63 /// Add a new edge map writer command for the writer.
1.64 template <typename Map>
1.65 - EdgeSetWriter& writeEdgeMap(std::string name, const Map& map) {
1.66 + EdgeSetWriter& writeEdgeMap(std::string label, const Map& map) {
1.67 return writeEdgeMap<typename Traits::
1.68 - template Writer<typename Map::Value>, Map>(name, map);
1.69 + template Writer<typename Map::Value>, Map>(label, map);
1.70 }
1.71
1.72 /// \brief Add a new edge map writer command for the writer.
1.73 ///
1.74 /// Add a new edge map writer command for the writer.
1.75 - template <typename Writer, typename Map>
1.76 - EdgeSetWriter& writeEdgeMap(std::string name, const Map& map,
1.77 - const Writer& writer = Writer()) {
1.78 + template <typename ItemWriter, typename Map>
1.79 + EdgeSetWriter& writeEdgeMap(std::string label, const Map& map,
1.80 + const ItemWriter& iw = ItemWriter()) {
1.81 checkConcept<concepts::ReadMap<Edge, typename Map::Value>, Map>();
1.82 - checkConcept<_writer_bits::ItemWriter<typename Map::Value>, Writer>();
1.83 + checkConcept<_writer_bits::ItemWriter<typename Map::Value>, ItemWriter>();
1.84 writers.push_back(
1.85 - make_pair(name, new _writer_bits::
1.86 - MapWriter<Edge, Map, Writer>(map, writer)));
1.87 + make_pair(label, new _writer_bits::
1.88 + MapWriter<Edge, Map, ItemWriter>(map, iw)));
1.89 return *this;
1.90 }
1.91
1.92 @@ -696,7 +696,7 @@
1.93 if (!nodeLabelWriter->isLabelWriter()) {
1.94 throw DataFormatError("Cannot find nodeset or label map");
1.95 }
1.96 - for (int i = 0; i < (int)writers.size(); ++i) {
1.97 + for (int i = 0; i < int(writers.size()); ++i) {
1.98 if (writers[i].first == "label") {
1.99 labelMap = writers[i].second;
1.100 forceLabelMap = false;
1.101 @@ -721,7 +721,7 @@
1.102 if (forceLabelMap) {
1.103 os << "label\t";
1.104 }
1.105 - for (int i = 0; i < (int)writers.size(); ++i) {
1.106 + for (int i = 0; i < int(writers.size()); ++i) {
1.107 os << writers[i].first << '\t';
1.108 }
1.109 os << std::endl;
1.110 @@ -734,7 +734,7 @@
1.111 if (forceLabelMap) {
1.112 os << graph.id(*it) << '\t';
1.113 }
1.114 - for (int i = 0; i < (int)writers.size(); ++i) {
1.115 + for (int i = 0; i < int(writers.size()); ++i) {
1.116 writers[i].second->write(os, *it);
1.117 os << '\t';
1.118 }
1.119 @@ -867,22 +867,22 @@
1.120 ///
1.121 /// Add a new undirected map writer command for the writer.
1.122 template <typename Map>
1.123 - UEdgeSetWriter& writeUEdgeMap(std::string name, const Map& map) {
1.124 + UEdgeSetWriter& writeUEdgeMap(std::string label, const Map& map) {
1.125 return writeUEdgeMap<typename Traits::
1.126 - template Writer<typename Map::Value>, Map>(name, map);
1.127 + template Writer<typename Map::Value>, Map>(label, map);
1.128 }
1.129
1.130 /// \brief Add a new undirected map writer command for the writer.
1.131 ///
1.132 /// Add a new undirected map writer command for the writer.
1.133 - template <typename Writer, typename Map>
1.134 - UEdgeSetWriter& writeUEdgeMap(std::string name, const Map& map,
1.135 - const Writer& writer = Writer()) {
1.136 + template <typename ItemWriter, typename Map>
1.137 + UEdgeSetWriter& writeUEdgeMap(std::string label, const Map& map,
1.138 + const ItemWriter& iw = ItemWriter()) {
1.139 checkConcept<concepts::ReadMap<UEdge, typename Map::Value>, Map>();
1.140 - checkConcept<_writer_bits::ItemWriter<typename Map::Value>, Writer>();
1.141 + checkConcept<_writer_bits::ItemWriter<typename Map::Value>, ItemWriter>();
1.142 writers.push_back(
1.143 - make_pair(name, new _writer_bits::
1.144 - MapWriter<UEdge, Map, Writer>(map, writer)));
1.145 + make_pair(label, new _writer_bits::
1.146 + MapWriter<UEdge, Map, ItemWriter>(map, iw)));
1.147 return *this;
1.148 }
1.149
1.150 @@ -890,23 +890,23 @@
1.151 ///
1.152 /// Add a new directed map writer command for the writer.
1.153 template <typename Map>
1.154 - UEdgeSetWriter& writeEdgeMap(std::string name, const Map& map) {
1.155 + UEdgeSetWriter& writeEdgeMap(std::string label, const Map& map) {
1.156 return writeEdgeMap<typename Traits::
1.157 - template Writer<typename Map::Value>, Map>(name, map);
1.158 + template Writer<typename Map::Value>, Map>(label, map);
1.159 }
1.160
1.161 /// \brief Add a new directed map writer command for the writer.
1.162 ///
1.163 /// Add a new directed map writer command for the writer.
1.164 - template <typename Writer, typename Map>
1.165 - UEdgeSetWriter& writeEdgeMap(std::string name, const Map& map,
1.166 - const Writer& writer = Writer()) {
1.167 + template <typename ItemWriter, typename Map>
1.168 + UEdgeSetWriter& writeEdgeMap(std::string label, const Map& map,
1.169 + const ItemWriter& iw = ItemWriter()) {
1.170 checkConcept<concepts::ReadMap<Edge, typename Map::Value>, Map>();
1.171 - checkConcept<_writer_bits::ItemWriter<typename Map::Value>, Writer>();
1.172 + checkConcept<_writer_bits::ItemWriter<typename Map::Value>, ItemWriter>();
1.173 writeUEdgeMap("+" + name,
1.174 - _writer_bits::forwardComposeMap(graph, map), writer);
1.175 + _writer_bits::forwardComposeMap(graph, map), iw);
1.176 writeUEdgeMap("-" + name,
1.177 - _writer_bits::backwardComposeMap(graph, map), writer);
1.178 + _writer_bits::backwardComposeMap(graph, map), iw);
1.179 return *this;
1.180 }
1.181
1.182 @@ -926,7 +926,7 @@
1.183 if (!nodeLabelWriter->isLabelWriter()) {
1.184 throw DataFormatError("Cannot find nodeset or label map");
1.185 }
1.186 - for (int i = 0; i < (int)writers.size(); ++i) {
1.187 + for (int i = 0; i < int(writers.size()); ++i) {
1.188 if (writers[i].first == "label") {
1.189 labelMap = writers[i].second;
1.190 forceLabelMap = false;
1.191 @@ -951,7 +951,7 @@
1.192 if (forceLabelMap) {
1.193 os << "label\t";
1.194 }
1.195 - for (int i = 0; i < (int)writers.size(); ++i) {
1.196 + for (int i = 0; i < int(writers.size()); ++i) {
1.197 os << writers[i].first << '\t';
1.198 }
1.199 os << std::endl;
1.200 @@ -964,7 +964,7 @@
1.201 if (forceLabelMap) {
1.202 os << graph.id(*it) << '\t';
1.203 }
1.204 - for (int i = 0; i < (int)writers.size(); ++i) {
1.205 + for (int i = 0; i < int(writers.size()); ++i) {
1.206 writers[i].second->write(os, *it);
1.207 os << '\t';
1.208 }
1.209 @@ -1080,8 +1080,8 @@
1.210 /// \brief Add a node writer command for the NodeWriter.
1.211 ///
1.212 /// Add a node writer command for the NodeWriter.
1.213 - void writeNode(const std::string& name, const Node& item) {
1.214 - writers.push_back(make_pair(name, &item));
1.215 + void writeNode(std::string label, const Node& item) {
1.216 + writers.push_back(make_pair(label, &item));
1.217 }
1.218
1.219 protected:
1.220 @@ -1100,7 +1100,7 @@
1.221 if (!labelWriter->isLabelWriter()) {
1.222 throw DataFormatError("Cannot find nodeset or label map");
1.223 }
1.224 - for (int i = 0; i < (int)writers.size(); ++i) {
1.225 + for (int i = 0; i < int(writers.size()); ++i) {
1.226 os << writers[i].first << ' ';
1.227 labelWriter->write(os, *(writers[i].second));
1.228 os << std::endl;
1.229 @@ -1164,8 +1164,8 @@
1.230 /// \brief Add an edge writer command for the EdgeWriter.
1.231 ///
1.232 /// Add an edge writer command for the EdgeWriter.
1.233 - void writeEdge(const std::string& name, const Edge& item) {
1.234 - writers.push_back(make_pair(name, &item));
1.235 + void writeEdge(std::string label, const Edge& item) {
1.236 + writers.push_back(make_pair(label, &item));
1.237 }
1.238
1.239 protected:
1.240 @@ -1184,7 +1184,7 @@
1.241 if (!labelWriter->isLabelWriter()) {
1.242 throw DataFormatError("Cannot find edgeset or label map");
1.243 }
1.244 - for (int i = 0; i < (int)writers.size(); ++i) {
1.245 + for (int i = 0; i < int(writers.size()); ++i) {
1.246 os << writers[i].first << ' ';
1.247 labelWriter->write(os, *(writers[i].second));
1.248 os << std::endl;
1.249 @@ -1256,15 +1256,15 @@
1.250 /// \brief Add an edge writer command for the UEdgeWriter.
1.251 ///
1.252 /// Add an edge writer command for the UEdgeWriter.
1.253 - void writeEdge(const std::string& name, const Edge& item) {
1.254 - edgeWriters.push_back(make_pair(name, &item));
1.255 + void writeEdge(std::string label, const Edge& item) {
1.256 + edgeWriters.push_back(make_pair(label, &item));
1.257 }
1.258
1.259 /// \brief Add an undirected edge writer command for the UEdgeWriter.
1.260 ///
1.261 /// Add an undirected edge writer command for the UEdgeWriter.
1.262 - void writeUEdge(const std::string& name, const UEdge& item) {
1.263 - uEdgeWriters.push_back(make_pair(name, &item));
1.264 + void writeUEdge(std::string label, const UEdge& item) {
1.265 + uEdgeWriters.push_back(make_pair(label, &item));
1.266 }
1.267
1.268 protected:
1.269 @@ -1286,12 +1286,12 @@
1.270 if (!uEdgeLabelWriter->isLabelWriter()) {
1.271 throw DataFormatError("Cannot find undirected edgeset or label map");
1.272 }
1.273 - for (int i = 0; i < (int)uEdgeWriters.size(); ++i) {
1.274 + for (int i = 0; i < int(uEdgeWriters.size()); ++i) {
1.275 os << uEdgeWriters[i].first << ' ';
1.276 uEdgeLabelWriter->write(os, *(uEdgeWriters[i].second));
1.277 os << std::endl;
1.278 }
1.279 - for (int i = 0; i < (int)edgeWriters.size(); ++i) {
1.280 + for (int i = 0; i < int(edgeWriters.size()); ++i) {
1.281 os << edgeWriters[i].first << ' ';
1.282 edgeLabelWriter->write(os, *(edgeWriters[i].second));
1.283 os << std::endl;
1.284 @@ -1363,7 +1363,7 @@
1.285 ///
1.286 /// Add an attribute writer command for the writer.
1.287 template <typename Value>
1.288 - AttributeWriter& writeAttribute(const std::string& name,
1.289 + AttributeWriter& writeAttribute(std::string label,
1.290 const Value& value) {
1.291 return
1.292 writeAttribute<typename Traits::template Writer<Value> >(name, value);
1.293 @@ -1372,13 +1372,12 @@
1.294 /// \brief Add an attribute writer command for the writer.
1.295 ///
1.296 /// Add an attribute writer command for the writer.
1.297 - template <typename Writer, typename Value>
1.298 - AttributeWriter& writeAttribute(const std::string& name,
1.299 - const Value& value,
1.300 - const Writer& writer = Writer()) {
1.301 - checkConcept<_writer_bits::ItemWriter<Value>, Writer>();
1.302 - writers.push_back(make_pair(name, new _writer_bits::
1.303 - ValueWriter<Value, Writer>(value, writer)));
1.304 + template <typename ItemWriter, typename Value>
1.305 + AttributeWriter& writeAttribute(std::string label, const Value& value,
1.306 + const ItemWriter& iw = ItemWriter()) {
1.307 + checkConcept<_writer_bits::ItemWriter<Value>, ItemWriter>();
1.308 + writers.push_back(make_pair(label, new _writer_bits::
1.309 + ValueWriter<Value, ItemWriter>(value, iw)));
1.310 return *this;
1.311 }
1.312