0
2
0
105
87
96
61
... | ... |
@@ -388,2 +388,14 @@ |
388 | 388 |
|
389 |
template <typename Digraph> |
|
390 |
class DigraphReader; |
|
391 |
|
|
392 |
template <typename Digraph> |
|
393 |
DigraphReader<Digraph> digraphReader(std::istream& is, Digraph& digraph); |
|
394 |
|
|
395 |
template <typename Digraph> |
|
396 |
DigraphReader<Digraph> digraphReader(const std::string& fn, Digraph& digraph); |
|
397 |
|
|
398 |
template <typename Digraph> |
|
399 |
DigraphReader<Digraph> digraphReader(const char *fn, Digraph& digraph); |
|
400 |
|
|
389 | 401 |
/// \ingroup lemon_io |
... | ... |
@@ -511,27 +523,2 @@ |
511 | 523 |
|
512 |
/// \brief Copy constructor |
|
513 |
/// |
|
514 |
/// The copy constructor transfers all data from the other reader, |
|
515 |
/// therefore the copied reader will not be usable more. |
|
516 |
DigraphReader(DigraphReader& other) |
|
517 |
: _is(other._is), local_is(other.local_is), _digraph(other._digraph), |
|
518 |
_use_nodes(other._use_nodes), _use_arcs(other._use_arcs), |
|
519 |
_skip_nodes(other._skip_nodes), _skip_arcs(other._skip_arcs) { |
|
520 |
|
|
521 |
other._is = 0; |
|
522 |
other.local_is = false; |
|
523 |
|
|
524 |
_node_index.swap(other._node_index); |
|
525 |
_arc_index.swap(other._arc_index); |
|
526 |
|
|
527 |
_node_maps.swap(other._node_maps); |
|
528 |
_arc_maps.swap(other._arc_maps); |
|
529 |
_attributes.swap(other._attributes); |
|
530 |
|
|
531 |
_nodes_caption = other._nodes_caption; |
|
532 |
_arcs_caption = other._arcs_caption; |
|
533 |
_attributes_caption = other._attributes_caption; |
|
534 |
|
|
535 |
} |
|
536 |
|
|
537 | 524 |
/// \brief Destructor |
... | ... |
@@ -560,3 +547,31 @@ |
560 | 547 |
private: |
561 |
|
|
548 |
|
|
549 |
friend DigraphReader<Digraph> digraphReader<>(std::istream& is, |
|
550 |
Digraph& digraph); |
|
551 |
friend DigraphReader<Digraph> digraphReader<>(const std::string& fn, |
|
552 |
Digraph& digraph); |
|
553 |
friend DigraphReader<Digraph> digraphReader<>(const char *fn, |
|
554 |
Digraph& digraph); |
|
555 |
|
|
556 |
DigraphReader(DigraphReader& other) |
|
557 |
: _is(other._is), local_is(other.local_is), _digraph(other._digraph), |
|
558 |
_use_nodes(other._use_nodes), _use_arcs(other._use_arcs), |
|
559 |
_skip_nodes(other._skip_nodes), _skip_arcs(other._skip_arcs) { |
|
560 |
|
|
561 |
other._is = 0; |
|
562 |
other.local_is = false; |
|
563 |
|
|
564 |
_node_index.swap(other._node_index); |
|
565 |
_arc_index.swap(other._arc_index); |
|
566 |
|
|
567 |
_node_maps.swap(other._node_maps); |
|
568 |
_arc_maps.swap(other._arc_maps); |
|
569 |
_attributes.swap(other._attributes); |
|
570 |
|
|
571 |
_nodes_caption = other._nodes_caption; |
|
572 |
_arcs_caption = other._arcs_caption; |
|
573 |
_attributes_caption = other._attributes_caption; |
|
574 |
|
|
575 |
} |
|
576 |
|
|
562 | 577 |
DigraphReader& operator=(const DigraphReader&); |
... | ... |
@@ -1184,2 +1199,14 @@ |
1184 | 1199 |
|
1200 |
template <typename Graph> |
|
1201 |
class GraphReader; |
|
1202 |
|
|
1203 |
template <typename Graph> |
|
1204 |
GraphReader<Graph> graphReader(std::istream& is, Graph& graph); |
|
1205 |
|
|
1206 |
template <typename Graph> |
|
1207 |
GraphReader<Graph> graphReader(const std::string& fn, Graph& graph); |
|
1208 |
|
|
1209 |
template <typename Graph> |
|
1210 |
GraphReader<Graph> graphReader(const char *fn, Graph& graph); |
|
1211 |
|
|
1185 | 1212 |
/// \ingroup lemon_io |
... | ... |
@@ -1262,27 +1289,2 @@ |
1262 | 1289 |
|
1263 |
/// \brief Copy constructor |
|
1264 |
/// |
|
1265 |
/// The copy constructor transfers all data from the other reader, |
|
1266 |
/// therefore the copied reader will not be usable more. |
|
1267 |
GraphReader(GraphReader& other) |
|
1268 |
: _is(other._is), local_is(other.local_is), _graph(other._graph), |
|
1269 |
_use_nodes(other._use_nodes), _use_edges(other._use_edges), |
|
1270 |
_skip_nodes(other._skip_nodes), _skip_edges(other._skip_edges) { |
|
1271 |
|
|
1272 |
other._is = 0; |
|
1273 |
other.local_is = false; |
|
1274 |
|
|
1275 |
_node_index.swap(other._node_index); |
|
1276 |
_edge_index.swap(other._edge_index); |
|
1277 |
|
|
1278 |
_node_maps.swap(other._node_maps); |
|
1279 |
_edge_maps.swap(other._edge_maps); |
|
1280 |
_attributes.swap(other._attributes); |
|
1281 |
|
|
1282 |
_nodes_caption = other._nodes_caption; |
|
1283 |
_edges_caption = other._edges_caption; |
|
1284 |
_attributes_caption = other._attributes_caption; |
|
1285 |
|
|
1286 |
} |
|
1287 |
|
|
1288 | 1290 |
/// \brief Destructor |
... | ... |
@@ -1311,3 +1313,28 @@ |
1311 | 1313 |
private: |
1312 |
|
|
1314 |
friend GraphReader<Graph> graphReader<>(std::istream& is, Graph& graph); |
|
1315 |
friend GraphReader<Graph> graphReader<>(const std::string& fn, |
|
1316 |
Graph& graph); |
|
1317 |
friend GraphReader<Graph> graphReader<>(const char *fn, Graph& graph); |
|
1318 |
|
|
1319 |
GraphReader(GraphReader& other) |
|
1320 |
: _is(other._is), local_is(other.local_is), _graph(other._graph), |
|
1321 |
_use_nodes(other._use_nodes), _use_edges(other._use_edges), |
|
1322 |
_skip_nodes(other._skip_nodes), _skip_edges(other._skip_edges) { |
|
1323 |
|
|
1324 |
other._is = 0; |
|
1325 |
other.local_is = false; |
|
1326 |
|
|
1327 |
_node_index.swap(other._node_index); |
|
1328 |
_edge_index.swap(other._edge_index); |
|
1329 |
|
|
1330 |
_node_maps.swap(other._node_maps); |
|
1331 |
_edge_maps.swap(other._edge_maps); |
|
1332 |
_attributes.swap(other._attributes); |
|
1333 |
|
|
1334 |
_nodes_caption = other._nodes_caption; |
|
1335 |
_edges_caption = other._edges_caption; |
|
1336 |
_attributes_caption = other._attributes_caption; |
|
1337 |
|
|
1338 |
} |
|
1339 |
|
|
1313 | 1340 |
GraphReader& operator=(const GraphReader&); |
... | ... |
@@ -1979,2 +2006,8 @@ |
1979 | 2006 |
|
2007 |
class SectionReader; |
|
2008 |
|
|
2009 |
SectionReader sectionReader(std::istream& is); |
|
2010 |
SectionReader sectionReader(const std::string& fn); |
|
2011 |
SectionReader sectionReader(const char* fn); |
|
2012 |
|
|
1980 | 2013 |
/// \brief Section reader class |
... | ... |
@@ -2021,15 +2054,2 @@ |
2021 | 2054 |
|
2022 |
/// \brief Copy constructor |
|
2023 |
/// |
|
2024 |
/// The copy constructor transfers all data from the other reader, |
|
2025 |
/// therefore the copied reader will not be usable more. |
|
2026 |
SectionReader(SectionReader& other) |
|
2027 |
: _is(other._is), local_is(other.local_is) { |
|
2028 |
|
|
2029 |
other._is = 0; |
|
2030 |
other.local_is = false; |
|
2031 |
|
|
2032 |
_sections.swap(other._sections); |
|
2033 |
} |
|
2034 |
|
|
2035 | 2055 |
/// \brief Destructor |
... | ... |
@@ -2048,2 +2068,15 @@ |
2048 | 2068 |
private: |
2069 |
|
|
2070 |
friend SectionReader sectionReader(std::istream& is); |
|
2071 |
friend SectionReader sectionReader(const std::string& fn); |
|
2072 |
friend SectionReader sectionReader(const char* fn); |
|
2073 |
|
|
2074 |
SectionReader(SectionReader& other) |
|
2075 |
: _is(other._is), local_is(other.local_is) { |
|
2076 |
|
|
2077 |
other._is = 0; |
|
2078 |
other.local_is = false; |
|
2079 |
|
|
2080 |
_sections.swap(other._sections); |
|
2081 |
} |
|
2049 | 2082 |
|
... | ... |
@@ -2297,24 +2330,2 @@ |
2297 | 2330 |
: _is(new std::ifstream(fn)), local_is(true) {} |
2298 |
|
|
2299 |
/// \brief Copy constructor |
|
2300 |
/// |
|
2301 |
/// The copy constructor transfers all data from the other reader, |
|
2302 |
/// therefore the copied reader will not be usable more. |
|
2303 |
LgfContents(LgfContents& other) |
|
2304 |
: _is(other._is), local_is(other.local_is) { |
|
2305 |
|
|
2306 |
other._is = 0; |
|
2307 |
other.local_is = false; |
|
2308 |
|
|
2309 |
_node_sections.swap(other._node_sections); |
|
2310 |
_edge_sections.swap(other._edge_sections); |
|
2311 |
_attribute_sections.swap(other._attribute_sections); |
|
2312 |
_extra_sections.swap(other._extra_sections); |
|
2313 |
|
|
2314 |
_arc_sections.swap(other._arc_sections); |
|
2315 |
|
|
2316 |
_node_maps.swap(other._node_maps); |
|
2317 |
_edge_maps.swap(other._edge_maps); |
|
2318 |
_attributes.swap(other._attributes); |
|
2319 |
} |
|
2320 | 2331 |
|
... | ... |
@@ -2325,2 +2336,9 @@ |
2325 | 2336 |
|
2337 |
private: |
|
2338 |
|
|
2339 |
LgfContents(const LgfContents&); |
|
2340 |
LgfContents& operator=(const LgfContents&); |
|
2341 |
|
|
2342 |
public: |
|
2343 |
|
|
2326 | 2344 |
... | ... |
@@ -306,2 +306,17 @@ |
306 | 306 |
} |
307 |
|
|
308 |
template <typename Digraph> |
|
309 |
class DigraphWriter; |
|
310 |
|
|
311 |
template <typename Digraph> |
|
312 |
DigraphWriter<Digraph> digraphWriter(std::ostream& os, |
|
313 |
const Digraph& digraph); |
|
314 |
|
|
315 |
template <typename Digraph> |
|
316 |
DigraphWriter<Digraph> digraphWriter(const std::string& fn, |
|
317 |
const Digraph& digraph); |
|
318 |
|
|
319 |
template <typename Digraph> |
|
320 |
DigraphWriter<Digraph> digraphWriter(const char *fn, |
|
321 |
const Digraph& digraph); |
|
307 | 322 |
|
... | ... |
@@ -364,3 +379,3 @@ |
364 | 379 |
|
365 |
Digraph& _digraph; |
|
380 |
const Digraph& _digraph; |
|
366 | 381 |
|
... | ... |
@@ -396,3 +411,3 @@ |
396 | 411 |
/// output stream. |
397 |
DigraphWriter(std::ostream& is, Digraph& digraph) |
|
412 |
DigraphWriter(std::ostream& is, const Digraph& digraph) |
|
398 | 413 |
: _os(&is), local_os(false), _digraph(digraph), |
... | ... |
@@ -404,3 +419,3 @@ |
404 | 419 |
/// output file. |
405 |
DigraphWriter(const std::string& fn, Digraph& digraph) |
|
420 |
DigraphWriter(const std::string& fn, const Digraph& digraph) |
|
406 | 421 |
: _os(new std::ofstream(fn.c_str())), local_os(true), _digraph(digraph), |
... | ... |
@@ -412,3 +427,3 @@ |
412 | 427 |
/// output file. |
413 |
DigraphWriter(const char* fn, Digraph& digraph) |
|
428 |
DigraphWriter(const char* fn, const Digraph& digraph) |
|
414 | 429 |
: _os(new std::ofstream(fn)), local_os(true), _digraph(digraph), |
... | ... |
@@ -416,25 +431,2 @@ |
416 | 431 |
|
417 |
/// \brief Copy constructor |
|
418 |
/// |
|
419 |
/// The copy constructor transfers all data from the other writer, |
|
420 |
/// therefore the copied writer will not be usable more. |
|
421 |
DigraphWriter(DigraphWriter& other) |
|
422 |
: _os(other._os), local_os(other.local_os), _digraph(other._digraph), |
|
423 |
_skip_nodes(other._skip_nodes), _skip_arcs(other._skip_arcs) { |
|
424 |
|
|
425 |
other._os = 0; |
|
426 |
other.local_os = false; |
|
427 |
|
|
428 |
_node_index.swap(other._node_index); |
|
429 |
_arc_index.swap(other._arc_index); |
|
430 |
|
|
431 |
_node_maps.swap(other._node_maps); |
|
432 |
_arc_maps.swap(other._arc_maps); |
|
433 |
_attributes.swap(other._attributes); |
|
434 |
|
|
435 |
_nodes_caption = other._nodes_caption; |
|
436 |
_arcs_caption = other._arcs_caption; |
|
437 |
_attributes_caption = other._attributes_caption; |
|
438 |
} |
|
439 |
|
|
440 | 432 |
/// \brief Destructor |
... | ... |
@@ -462,2 +454,28 @@ |
462 | 454 |
private: |
455 |
|
|
456 |
friend DigraphWriter<Digraph> digraphWriter<>(std::ostream& os, |
|
457 |
const Digraph& digraph); |
|
458 |
friend DigraphWriter<Digraph> digraphWriter<>(const std::string& fn, |
|
459 |
const Digraph& digraph); |
|
460 |
friend DigraphWriter<Digraph> digraphWriter<>(const char *fn, |
|
461 |
const Digraph& digraph); |
|
462 |
|
|
463 |
DigraphWriter(DigraphWriter& other) |
|
464 |
: _os(other._os), local_os(other.local_os), _digraph(other._digraph), |
|
465 |
_skip_nodes(other._skip_nodes), _skip_arcs(other._skip_arcs) { |
|
466 |
|
|
467 |
other._os = 0; |
|
468 |
other.local_os = false; |
|
469 |
|
|
470 |
_node_index.swap(other._node_index); |
|
471 |
_arc_index.swap(other._arc_index); |
|
472 |
|
|
473 |
_node_maps.swap(other._node_maps); |
|
474 |
_arc_maps.swap(other._arc_maps); |
|
475 |
_attributes.swap(other._attributes); |
|
476 |
|
|
477 |
_nodes_caption = other._nodes_caption; |
|
478 |
_arcs_caption = other._arcs_caption; |
|
479 |
_attributes_caption = other._attributes_caption; |
|
480 |
} |
|
463 | 481 |
|
... | ... |
@@ -846,3 +864,4 @@ |
846 | 864 |
template <typename Digraph> |
847 |
DigraphWriter<Digraph> digraphWriter(std::ostream& os, |
|
865 |
DigraphWriter<Digraph> digraphWriter(std::ostream& os, |
|
866 |
const Digraph& digraph) { |
|
848 | 867 |
DigraphWriter<Digraph> tmp(os, digraph); |
... | ... |
@@ -854,3 +873,3 @@ |
854 | 873 |
DigraphWriter<Digraph> digraphWriter(const std::string& fn, |
855 |
Digraph& digraph) { |
|
874 |
const Digraph& digraph) { |
|
856 | 875 |
DigraphWriter<Digraph> tmp(fn, digraph); |
... | ... |
@@ -861,3 +880,4 @@ |
861 | 880 |
template <typename Digraph> |
862 |
DigraphWriter<Digraph> digraphWriter(const char* fn, |
|
881 |
DigraphWriter<Digraph> digraphWriter(const char* fn, |
|
882 |
const Digraph& digraph) { |
|
863 | 883 |
DigraphWriter<Digraph> tmp(fn, digraph); |
... | ... |
@@ -866,2 +886,14 @@ |
866 | 886 |
|
887 |
template <typename Graph> |
|
888 |
class GraphWriter; |
|
889 |
|
|
890 |
template <typename Graph> |
|
891 |
GraphWriter<Graph> graphWriter(std::ostream& os, const Graph& graph); |
|
892 |
|
|
893 |
template <typename Graph> |
|
894 |
GraphWriter<Graph> graphWriter(const std::string& fn, const Graph& graph); |
|
895 |
|
|
896 |
template <typename Graph> |
|
897 |
GraphWriter<Graph> graphWriter(const char *fn, const Graph& graph); |
|
898 |
|
|
867 | 899 |
/// \ingroup lemon_io |
... | ... |
@@ -916,3 +948,3 @@ |
916 | 948 |
/// output stream. |
917 |
GraphWriter(std::ostream& is, Graph& graph) |
|
949 |
GraphWriter(std::ostream& is, const Graph& graph) |
|
918 | 950 |
: _os(&is), local_os(false), _graph(graph), |
... | ... |
@@ -924,3 +956,3 @@ |
924 | 956 |
/// output file. |
925 |
GraphWriter(const std::string& fn, Graph& graph) |
|
957 |
GraphWriter(const std::string& fn, const Graph& graph) |
|
926 | 958 |
: _os(new std::ofstream(fn.c_str())), local_os(true), _graph(graph), |
... | ... |
@@ -932,3 +964,3 @@ |
932 | 964 |
/// output file. |
933 |
GraphWriter(const char* fn, Graph& graph) |
|
965 |
GraphWriter(const char* fn, const Graph& graph) |
|
934 | 966 |
: _os(new std::ofstream(fn)), local_os(true), _graph(graph), |
... | ... |
@@ -936,25 +968,2 @@ |
936 | 968 |
|
937 |
/// \brief Copy constructor |
|
938 |
/// |
|
939 |
/// The copy constructor transfers all data from the other writer, |
|
940 |
/// therefore the copied writer will not be usable more. |
|
941 |
GraphWriter(GraphWriter& other) |
|
942 |
: _os(other._os), local_os(other.local_os), _graph(other._graph), |
|
943 |
_skip_nodes(other._skip_nodes), _skip_edges(other._skip_edges) { |
|
944 |
|
|
945 |
other._os = 0; |
|
946 |
other.local_os = false; |
|
947 |
|
|
948 |
_node_index.swap(other._node_index); |
|
949 |
_edge_index.swap(other._edge_index); |
|
950 |
|
|
951 |
_node_maps.swap(other._node_maps); |
|
952 |
_edge_maps.swap(other._edge_maps); |
|
953 |
_attributes.swap(other._attributes); |
|
954 |
|
|
955 |
_nodes_caption = other._nodes_caption; |
|
956 |
_edges_caption = other._edges_caption; |
|
957 |
_attributes_caption = other._attributes_caption; |
|
958 |
} |
|
959 |
|
|
960 | 969 |
/// \brief Destructor |
... | ... |
@@ -980,5 +989,31 @@ |
980 | 989 |
} |
990 |
|
|
991 |
private: |
|
981 | 992 |
|
982 |
private: |
|
983 |
|
|
993 |
friend GraphWriter<Graph> graphWriter<>(std::ostream& os, |
|
994 |
const Graph& graph); |
|
995 |
friend GraphWriter<Graph> graphWriter<>(const std::string& fn, |
|
996 |
const Graph& graph); |
|
997 |
friend GraphWriter<Graph> graphWriter<>(const char *fn, |
|
998 |
const Graph& graph); |
|
999 |
|
|
1000 |
GraphWriter(GraphWriter& other) |
|
1001 |
: _os(other._os), local_os(other.local_os), _graph(other._graph), |
|
1002 |
_skip_nodes(other._skip_nodes), _skip_edges(other._skip_edges) { |
|
1003 |
|
|
1004 |
other._os = 0; |
|
1005 |
other.local_os = false; |
|
1006 |
|
|
1007 |
_node_index.swap(other._node_index); |
|
1008 |
_edge_index.swap(other._edge_index); |
|
1009 |
|
|
1010 |
_node_maps.swap(other._node_maps); |
|
1011 |
_edge_maps.swap(other._edge_maps); |
|
1012 |
_attributes.swap(other._attributes); |
|
1013 |
|
|
1014 |
_nodes_caption = other._nodes_caption; |
|
1015 |
_edges_caption = other._edges_caption; |
|
1016 |
_attributes_caption = other._attributes_caption; |
|
1017 |
} |
|
1018 |
|
|
984 | 1019 |
GraphWriter& operator=(const GraphWriter&); |
... | ... |
@@ -1412,3 +1447,3 @@ |
1412 | 1447 |
template <typename Graph> |
1413 |
GraphWriter<Graph> graphWriter(std::ostream& os, Graph& graph) { |
|
1448 |
GraphWriter<Graph> graphWriter(std::ostream& os, const Graph& graph) { |
|
1414 | 1449 |
GraphWriter<Graph> tmp(os, graph); |
... | ... |
@@ -1419,3 +1454,3 @@ |
1419 | 1454 |
template <typename Graph> |
1420 |
GraphWriter<Graph> graphWriter(const std::string& fn, Graph& graph) { |
|
1455 |
GraphWriter<Graph> graphWriter(const std::string& fn, const Graph& graph) { |
|
1421 | 1456 |
GraphWriter<Graph> tmp(fn, graph); |
... | ... |
@@ -1426,3 +1461,3 @@ |
1426 | 1461 |
template <typename Graph> |
1427 |
GraphWriter<Graph> graphWriter(const char* fn, Graph& graph) { |
|
1462 |
GraphWriter<Graph> graphWriter(const char* fn, const Graph& graph) { |
|
1428 | 1463 |
GraphWriter<Graph> tmp(fn, graph); |
0 comments (0 inline)