gravatar
deba@inf.elte.hu
deba@inf.elte.hu
Bug fixes and improvements in LGF IO
0 2 0
default
2 files changed with 33 insertions and 23 deletions:
↑ Collapse diff ↑
Ignore white space 4 line context
... ...
@@ -468,5 +468,5 @@
468 468
	_use_nodes(other._use_nodes), _use_arcs(other._use_arcs) {
469 469

	
470
      other.is = 0;
470
      other._is = 0;
471 471
      other.local_is = false;
472 472
      
... ...
@@ -1079,6 +1079,8 @@
1079 1079
    /// This function starts the batch processing
1080 1080
    void run() {
1081
      
1082 1081
      LEMON_ASSERT(_is != 0, "This reader assigned to an other reader");
1082
      if (!*_is) {
1083
	throw DataFormatError("Cannot find file");
1084
      }
1083 1085
      
1084 1086
      bool nodes_done = false;
... ...
@@ -1161,5 +1163,6 @@
1161 1163
  template <typename Digraph>
1162 1164
  DigraphReader<Digraph> digraphReader(std::istream& is, Digraph& digraph) {
1163
    return DigraphReader<Digraph>(is, digraph);
1165
    DigraphReader<Digraph> tmp(is, digraph);
1166
    return tmp;
1164 1167
  }
1165 1168

	
... ...
@@ -1168,5 +1171,6 @@
1168 1171
  DigraphReader<Digraph> digraphReader(const std::string& fn, 
1169 1172
				       Digraph& digraph) {
1170
    return DigraphReader<Digraph>(fn, digraph);
1173
    DigraphReader<Digraph> tmp(fn, digraph);
1174
    return tmp;
1171 1175
  }
1172 1176

	
... ...
@@ -1174,5 +1178,6 @@
1174 1178
  template <typename Digraph>
1175 1179
  DigraphReader<Digraph> digraphReader(const char* fn, Digraph& digraph) {
1176
    return DigraphReader<Digraph>(fn, digraph);
1180
    DigraphReader<Digraph> tmp(fn, digraph);
1181
    return tmp;
1177 1182
  }
1178 1183
}
Ignore white space 4 line context
... ...
@@ -196,5 +196,7 @@
196 196
      default:
197 197
	if (c < 0x20) {
198
	  std::ios::fmtflags flags = os.flags();
198 199
	  os << '\\' << std::oct << static_cast<int>(c);
200
	  os.flags(flags);
199 201
	} else {
200 202
	  os << c;
... ...
@@ -244,10 +246,10 @@
244 246
  /// member function. A map writing rule can be added to the writer
245 247
  /// with the \c nodeMap() or \c arcMap() members. An optional
246
  /// converter parameter can also be added as a standard functor converting from
247
  /// the value type of the map to std::string. If it is set, it will
248
  /// determine how the map's value type is written to the output
249
  /// stream. If the functor is not set, then a default conversion
250
  /// will be used. The \c attribute(), \c node() and \c arc() functions
251
  /// are used to add attribute writing rules.
248
  /// converter parameter can also be added as a standard functor
249
  /// converting from the value type of the map to std::string. If it
250
  /// is set, it will determine how the map's value type is written to
251
  /// the output stream. If the functor is not set, then a default
252
  /// conversion will be used. The \c attribute(), \c node() and \c
253
  /// arc() functions are used to add attribute writing rules.
252 254
  ///
253 255
  ///\code
... ...
@@ -270,11 +272,11 @@
270 272
  ///
271 273
  /// The \c skipNodes() and \c skipArcs() functions forbid the
272
  /// writing of the sections. If two arc sections should be written to the
273
  /// output, it can be done in two passes, the first pass writes the
274
  /// node section and the first arc section, then the second pass
275
  /// skips the node section and writes just the arc section to the
276
  /// stream. The output stream can be retrieved with the \c ostream()
277
  /// function, hence the second pass can append its output to the output of the
278
  /// first pass.
274
  /// writing of the sections. If two arc sections should be written
275
  /// to the output, it can be done in two passes, the first pass
276
  /// writes the node section and the first arc section, then the
277
  /// second pass skips the node section and writes just the arc
278
  /// section to the stream. The output stream can be retrieved with
279
  /// the \c ostream() function, hence the second pass can append its
280
  /// output to the output of the first pass.
279 281
  template <typename _Digraph>
280 282
  class DigraphWriter {
... ...
@@ -350,5 +352,5 @@
350 352
	_skip_nodes(other._skip_nodes), _skip_arcs(other._skip_arcs) {
351 353

	
352
      other.is = 0;
354
      other._os = 0;
353 355
      other.local_os = false;
354 356

	
... ...
@@ -718,6 +720,7 @@
718 720
  /// \relates DigraphWriter
719 721
  template <typename Digraph>
720
  DigraphWriter<Digraph> digraphWriter(std::istream& is, Digraph& digraph) {
721
    return DigraphWriter<Digraph>(is, digraph);
722
  DigraphWriter<Digraph> digraphWriter(std::ostream& os, Digraph& digraph) {
723
    DigraphWriter<Digraph> tmp(os, digraph);
724
    return tmp;
722 725
  }
723 726

	
... ...
@@ -726,5 +729,6 @@
726 729
  DigraphWriter<Digraph> digraphWriter(const std::string& fn, 
727 730
				       Digraph& digraph) {
728
    return DigraphWriter<Digraph>(fn, digraph);
731
    DigraphWriter<Digraph> tmp(fn, digraph);
732
    return tmp;
729 733
  }
730 734

	
... ...
@@ -732,5 +736,6 @@
732 736
  template <typename Digraph>
733 737
  DigraphWriter<Digraph> digraphWriter(const char* fn, Digraph& digraph) {
734
    return DigraphWriter<Digraph>(fn, digraph);
738
    DigraphWriter<Digraph> tmp(fn, digraph);
739
    return tmp;
735 740
  }
736 741
}
0 comments (0 inline)