1.1 --- a/lemon/lemon_writer.h Thu Jan 26 06:44:22 2006 +0000
1.2 +++ b/lemon/lemon_writer.h Thu Jan 26 15:42:13 2006 +0000
1.3 @@ -91,7 +91,7 @@
1.4 template <typename Graph, typename Map>
1.5 class ForwardComposeMap {
1.6 public:
1.7 - typedef typename Graph::UndirEdge Key;
1.8 + typedef typename Graph::UEdge Key;
1.9 typedef typename Map::Value Value;
1.10
1.11 ForwardComposeMap(const Graph& _graph, const Map& _map)
1.12 @@ -115,7 +115,7 @@
1.13 template <typename Graph, typename Map>
1.14 class BackwardComposeMap {
1.15 public:
1.16 - typedef typename Graph::UndirEdge Key;
1.17 + typedef typename Graph::UEdge Key;
1.18 typedef typename Map::Value Value;
1.19
1.20 BackwardComposeMap(const Graph& _graph, const Map& _map)
1.21 @@ -708,8 +708,8 @@
1.22 /// \brief SectionWriter for writing a undirected edgeset.
1.23 ///
1.24 /// The lemon format can store multiple undirected edgesets with several
1.25 - /// maps. The undirected edgeset section's header line is \c \@undiredgeset
1.26 - /// \c undiredgeset_name, but the \c undiredgeset_name may be empty.
1.27 + /// maps. The undirected edgeset section's header line is \c \@uedgeset
1.28 + /// \c uedgeset_name, but the \c uedgeset_name may be empty.
1.29 ///
1.30 /// The first line of the section contains the names of the maps separated
1.31 /// with white spaces. Each next lines describes an undirected edge in the
1.32 @@ -734,7 +734,7 @@
1.33 ///
1.34 /// \relates LemonWriter
1.35 template <typename _Graph, typename _Traits = DefaultWriterTraits>
1.36 - class UndirEdgeSetWriter : public LemonWriter::SectionWriter {
1.37 + class UEdgeSetWriter : public LemonWriter::SectionWriter {
1.38 typedef LemonWriter::SectionWriter Parent;
1.39 public:
1.40
1.41 @@ -742,17 +742,17 @@
1.42 typedef _Traits Traits;
1.43 typedef typename Graph::Node Node;
1.44 typedef typename Graph::Edge Edge;
1.45 - typedef typename Graph::UndirEdge UndirEdge;
1.46 + typedef typename Graph::UEdge UEdge;
1.47
1.48 /// \brief Constructor.
1.49 ///
1.50 - /// Constructor for UndirEdgeSetWriter. It creates the UndirEdgeSetWriter
1.51 + /// Constructor for UEdgeSetWriter. It creates the UEdgeSetWriter
1.52 /// and attach it into the given LemonWriter. It will write node labels by
1.53 /// the \c _nodeLabelWriter. If the \c _forceLabelMap parameter is true
1.54 /// then the writer will write own label map if the user does not give
1.55 /// "label" named map.
1.56 template <typename NodeLabelWriter>
1.57 - UndirEdgeSetWriter(LemonWriter& _writer, const Graph& _graph,
1.58 + UEdgeSetWriter(LemonWriter& _writer, const Graph& _graph,
1.59 const NodeLabelWriter& _nodeLabelWriter,
1.60 const std::string& _name = std::string(),
1.61 bool _forceLabelMap = true)
1.62 @@ -765,8 +765,8 @@
1.63
1.64 /// \brief Destructor.
1.65 ///
1.66 - /// Destructor for UndirEdgeSetWriter.
1.67 - virtual ~UndirEdgeSetWriter() {
1.68 + /// Destructor for UEdgeSetWriter.
1.69 + virtual ~UEdgeSetWriter() {
1.70 typename MapWriters::iterator it;
1.71 for (it = writers.begin(); it != writers.end(); ++it) {
1.72 delete it->second;
1.73 @@ -774,8 +774,8 @@
1.74 }
1.75
1.76 private:
1.77 - UndirEdgeSetWriter(const UndirEdgeSetWriter&);
1.78 - void operator=(const UndirEdgeSetWriter&);
1.79 + UEdgeSetWriter(const UEdgeSetWriter&);
1.80 + void operator=(const UEdgeSetWriter&);
1.81
1.82 public:
1.83
1.84 @@ -783,8 +783,8 @@
1.85 ///
1.86 /// Add a new undirected map writer command for the writer.
1.87 template <typename Map>
1.88 - UndirEdgeSetWriter& writeUndirEdgeMap(std::string name, const Map& map) {
1.89 - return writeUndirEdgeMap<typename Traits::
1.90 + UEdgeSetWriter& writeUEdgeMap(std::string name, const Map& map) {
1.91 + return writeUEdgeMap<typename Traits::
1.92 template Writer<typename Map::Value>, Map>(name, map);
1.93 }
1.94
1.95 @@ -792,13 +792,13 @@
1.96 ///
1.97 /// Add a new undirected map writer command for the writer.
1.98 template <typename Writer, typename Map>
1.99 - UndirEdgeSetWriter& writeUndirEdgeMap(std::string name, const Map& map,
1.100 + UEdgeSetWriter& writeUEdgeMap(std::string name, const Map& map,
1.101 const Writer& writer = Writer()) {
1.102 - checkConcept<concept::ReadMap<UndirEdge, typename Map::Value>, Map>();
1.103 + checkConcept<concept::ReadMap<UEdge, typename Map::Value>, Map>();
1.104 checkConcept<_writer_bits::ItemWriter<typename Map::Value>, Writer>();
1.105 writers.push_back(
1.106 make_pair(name, new _writer_bits::
1.107 - MapWriter<UndirEdge, Map, Writer>(map, writer)));
1.108 + MapWriter<UEdge, Map, Writer>(map, writer)));
1.109 return *this;
1.110 }
1.111
1.112 @@ -806,7 +806,7 @@
1.113 ///
1.114 /// Add a new directed map writer command for the writer.
1.115 template <typename Map>
1.116 - UndirEdgeSetWriter& writeEdgeMap(std::string name, const Map& map) {
1.117 + UEdgeSetWriter& writeEdgeMap(std::string name, const Map& map) {
1.118 return writeEdgeMap<typename Traits::
1.119 template Writer<typename Map::Value>, Map>(name, map);
1.120 }
1.121 @@ -815,13 +815,13 @@
1.122 ///
1.123 /// Add a new directed map writer command for the writer.
1.124 template <typename Writer, typename Map>
1.125 - UndirEdgeSetWriter& writeEdgeMap(std::string name, const Map& map,
1.126 + UEdgeSetWriter& writeEdgeMap(std::string name, const Map& map,
1.127 const Writer& writer = Writer()) {
1.128 checkConcept<concept::ReadMap<Edge, typename Map::Value>, Map>();
1.129 checkConcept<_writer_bits::ItemWriter<typename Map::Value>, Writer>();
1.130 - writeUndirEdge("+" + name,
1.131 + writeUEdge("+" + name,
1.132 _writer_bits::forwardComposeMap(graph, map), writer);
1.133 - writeUndirEdge("-" + name,
1.134 + writeUEdge("-" + name,
1.135 _writer_bits::backwardComposeMap(graph, map), writer);
1.136 return *this;
1.137 }
1.138 @@ -832,7 +832,7 @@
1.139 ///
1.140 /// It gives back the header of the section.
1.141 virtual std::string header() {
1.142 - return "@undiredgeset " + name;
1.143 + return "@uedgeset " + name;
1.144 }
1.145
1.146 /// \brief Writer function of the section.
1.147 @@ -857,7 +857,7 @@
1.148 os << writers[i].first << '\t';
1.149 }
1.150 os << std::endl;
1.151 - for (typename Graph::UndirEdgeIt it(graph); it != INVALID; ++it) {
1.152 + for (typename Graph::UEdgeIt it(graph); it != INVALID; ++it) {
1.153 nodeLabelWriter->write(os, graph.source(it));
1.154 os << '\t';
1.155 nodeLabelWriter->write(os, graph.target(it));
1.156 @@ -891,7 +891,7 @@
1.157 /// an "label" named map then it will write the map value belongs to the
1.158 /// undirected edge. Otherwise if the \c forceLabel parameter was true it
1.159 /// will write its id in the graph.
1.160 - void writeLabel(std::ostream& os, const UndirEdge& item) const {
1.161 + void writeLabel(std::ostream& os, const UEdge& item) const {
1.162 if (forceLabelMap) {
1.163 os << graph.id(item);
1.164 } else {
1.165 @@ -922,10 +922,10 @@
1.166 private:
1.167
1.168 typedef std::vector<std::pair<std::string, _writer_bits::
1.169 - MapWriterBase<UndirEdge>*> > MapWriters;
1.170 + MapWriterBase<UEdge>*> > MapWriters;
1.171 MapWriters writers;
1.172
1.173 - _writer_bits::MapWriterBase<UndirEdge>* labelMap;
1.174 + _writer_bits::MapWriterBase<UEdge>* labelMap;
1.175 bool forceLabelMap;
1.176
1.177 const Graph& graph;
1.178 @@ -1099,62 +1099,62 @@
1.179 /// \ingroup io_group
1.180 /// \brief SectionWriter for writing named undirected edges.
1.181 ///
1.182 - /// The undirected edges section's header line is \c \@undiredges
1.183 - /// \c undiredges_name, but the \c undiredges_name may be empty.
1.184 + /// The undirected edges section's header line is \c \@uedges
1.185 + /// \c uedges_name, but the \c uedges_name may be empty.
1.186 ///
1.187 /// Each line in the section contains the name of the undirected edge and
1.188 /// then the undirected edge label.
1.189 ///
1.190 /// \relates LemonWriter
1.191 template <typename _Graph>
1.192 - class UndirEdgeWriter : public LemonWriter::SectionWriter {
1.193 + class UEdgeWriter : public LemonWriter::SectionWriter {
1.194 typedef LemonWriter::SectionWriter Parent;
1.195 typedef _Graph Graph;
1.196 typedef typename Graph::Node Node;
1.197 typedef typename Graph::Edge Edge;
1.198 - typedef typename Graph::UndirEdge UndirEdge;
1.199 + typedef typename Graph::UEdge UEdge;
1.200 public:
1.201
1.202 /// \brief Constructor.
1.203 ///
1.204 - /// Constructor for UndirEdgeWriter. It creates the UndirEdgeWriter and
1.205 + /// Constructor for UEdgeWriter. It creates the UEdgeWriter and
1.206 /// attach it into the given LemonWriter. The given \c _LabelWriter
1.207 /// will write the undirected edges' label what can be an undirected
1.208 /// edgeset writer.
1.209 template <typename _LabelWriter>
1.210 - UndirEdgeWriter(LemonWriter& _writer, const _LabelWriter& _labelWriter,
1.211 + UEdgeWriter(LemonWriter& _writer, const _LabelWriter& _labelWriter,
1.212 const std::string& _name = std::string())
1.213 : Parent(_writer), name(_name) {
1.214 checkConcept<_writer_bits::ItemLabelWriter<Edge>, _LabelWriter>();
1.215 - checkConcept<_writer_bits::ItemLabelWriter<UndirEdge>, _LabelWriter>();
1.216 - undirEdgeLabelWriter.reset(new _writer_bits::
1.217 - LabelWriter<UndirEdge, _LabelWriter>(_labelWriter));
1.218 + checkConcept<_writer_bits::ItemLabelWriter<UEdge>, _LabelWriter>();
1.219 + uEdgeLabelWriter.reset(new _writer_bits::
1.220 + LabelWriter<UEdge, _LabelWriter>(_labelWriter));
1.221 edgeLabelWriter.reset(new _writer_bits::
1.222 LabelWriter<Edge, _LabelWriter>(_labelWriter));
1.223 }
1.224
1.225 /// \brief Destructor.
1.226 ///
1.227 - /// Destructor for UndirEdgeWriter.
1.228 - virtual ~UndirEdgeWriter() {}
1.229 + /// Destructor for UEdgeWriter.
1.230 + virtual ~UEdgeWriter() {}
1.231 private:
1.232 - UndirEdgeWriter(const UndirEdgeWriter&);
1.233 - void operator=(const UndirEdgeWriter&);
1.234 + UEdgeWriter(const UEdgeWriter&);
1.235 + void operator=(const UEdgeWriter&);
1.236
1.237 public:
1.238
1.239 - /// \brief Add an edge writer command for the UndirEdgeWriter.
1.240 + /// \brief Add an edge writer command for the UEdgeWriter.
1.241 ///
1.242 - /// Add an edge writer command for the UndirEdgeWriter.
1.243 + /// Add an edge writer command for the UEdgeWriter.
1.244 void writeEdge(const std::string& name, const Edge& item) {
1.245 edgeWriters.push_back(make_pair(name, &item));
1.246 }
1.247
1.248 - /// \brief Add an undirected edge writer command for the UndirEdgeWriter.
1.249 + /// \brief Add an undirected edge writer command for the UEdgeWriter.
1.250 ///
1.251 - /// Add an undirected edge writer command for the UndirEdgeWriter.
1.252 - void writeUndirEdge(const std::string& name, const UndirEdge& item) {
1.253 - undirEdgeWriters.push_back(make_pair(name, &item));
1.254 + /// Add an undirected edge writer command for the UEdgeWriter.
1.255 + void writeUEdge(const std::string& name, const UEdge& item) {
1.256 + uEdgeWriters.push_back(make_pair(name, &item));
1.257 }
1.258
1.259 protected:
1.260 @@ -1163,7 +1163,7 @@
1.261 ///
1.262 /// It gives back the header of the section.
1.263 virtual std::string header() {
1.264 - return "@undiredges " + name;
1.265 + return "@uedges " + name;
1.266 }
1.267
1.268 /// \brief Writer function of the section.
1.269 @@ -1173,12 +1173,12 @@
1.270 if (!edgeLabelWriter->isLabelWriter()) {
1.271 throw DataFormatError("Cannot find undirected edgeset or label map");
1.272 }
1.273 - if (!undirEdgeLabelWriter->isLabelWriter()) {
1.274 + if (!uEdgeLabelWriter->isLabelWriter()) {
1.275 throw DataFormatError("Cannot find undirected edgeset or label map");
1.276 }
1.277 - for (int i = 0; i < (int)undirEdgeWriters.size(); ++i) {
1.278 - os << undirEdgeWriters[i].first << ' ';
1.279 - undirEdgeLabelWriter->write(os, *(undirEdgeWriters[i].second));
1.280 + for (int i = 0; i < (int)uEdgeWriters.size(); ++i) {
1.281 + os << uEdgeWriters[i].first << ' ';
1.282 + uEdgeLabelWriter->write(os, *(uEdgeWriters[i].second));
1.283 os << std::endl;
1.284 }
1.285 for (int i = 0; i < (int)edgeWriters.size(); ++i) {
1.286 @@ -1193,9 +1193,9 @@
1.287 std::string name;
1.288
1.289 typedef std::vector<std::pair<std::string,
1.290 - const UndirEdge*> > UndirEdgeWriters;
1.291 - UndirEdgeWriters undirEdgeWriters;
1.292 - std::auto_ptr<_writer_bits::LabelWriterBase<UndirEdge> > undirEdgeLabelWriter;
1.293 + const UEdge*> > UEdgeWriters;
1.294 + UEdgeWriters uEdgeWriters;
1.295 + std::auto_ptr<_writer_bits::LabelWriterBase<UEdge> > uEdgeLabelWriter;
1.296
1.297 typedef std::vector<std::pair<std::string, const Edge*> > EdgeWriters;
1.298 EdgeWriters edgeWriters;