Changes in lemon/lgf_reader.h [319:5e12d7734036:517:2b6d5d22bb23] in lemon-1.2
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
lemon/lgf_reader.h
r319 r517 3 3 * This file is a part of LEMON, a generic C++ optimization library. 4 4 * 5 * Copyright (C) 2003-200 85 * Copyright (C) 2003-2009 6 6 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport 7 7 * (Egervary Research Group on Combinatorial Optimization, EGRES). … … 391 391 class DigraphReader; 392 392 393 /// \brief Return a \ref DigraphReader class394 ///395 /// This function just returns a \ref DigraphReader class.396 /// \relates DigraphReader397 393 template <typename Digraph> 398 DigraphReader<Digraph> digraphReader(Digraph& digraph, 399 std::istream& is = std::cin) { 400 DigraphReader<Digraph> tmp(digraph, is); 401 return tmp; 402 } 403 404 /// \brief Return a \ref DigraphReader class 405 /// 406 /// This function just returns a \ref DigraphReader class. 407 /// \relates DigraphReader 394 DigraphReader<Digraph> digraphReader(Digraph& digraph, 395 std::istream& is = std::cin); 408 396 template <typename Digraph> 409 DigraphReader<Digraph> digraphReader(Digraph& digraph, 410 const std::string& fn) { 411 DigraphReader<Digraph> tmp(digraph, fn); 412 return tmp; 413 } 414 415 /// \brief Return a \ref DigraphReader class 416 /// 417 /// This function just returns a \ref DigraphReader class. 418 /// \relates DigraphReader 397 DigraphReader<Digraph> digraphReader(Digraph& digraph, const std::string& fn); 419 398 template <typename Digraph> 420 DigraphReader<Digraph> digraphReader(Digraph& digraph, const char* fn) { 421 DigraphReader<Digraph> tmp(digraph, fn); 422 return tmp; 423 } 399 DigraphReader<Digraph> digraphReader(Digraph& digraph, const char *fn); 424 400 425 401 /// \ingroup lemon_io … … 585 561 private: 586 562 587 friend DigraphReader<Digraph> digraphReader<>(Digraph& digraph, 588 std::istream& is); 589 friend DigraphReader<Digraph> digraphReader<>(Digraph& digraph, 590 const std::string& fn); 591 friend DigraphReader<Digraph> digraphReader<>(Digraph& digraph, 592 const char *fn); 563 template <typename DGR> 564 friend DigraphReader<DGR> digraphReader(DGR& digraph, std::istream& is); 565 template <typename DGR> 566 friend DigraphReader<DGR> digraphReader(DGR& digraph, 567 const std::string& fn); 568 template <typename DGR> 569 friend DigraphReader<DGR> digraphReader(DGR& digraph, const char *fn); 593 570 594 571 DigraphReader(DigraphReader& other) … … 871 848 readLine(); 872 849 } 873 line.putback(c); 850 if (readSuccess()) { 851 line.putback(c); 852 } 874 853 } 875 854 … … 1211 1190 }; 1212 1191 1192 /// \brief Return a \ref DigraphReader class 1193 /// 1194 /// This function just returns a \ref DigraphReader class. 1195 /// \relates DigraphReader 1196 template <typename Digraph> 1197 DigraphReader<Digraph> digraphReader(Digraph& digraph, std::istream& is) { 1198 DigraphReader<Digraph> tmp(digraph, is); 1199 return tmp; 1200 } 1201 1202 /// \brief Return a \ref DigraphReader class 1203 /// 1204 /// This function just returns a \ref DigraphReader class. 1205 /// \relates DigraphReader 1206 template <typename Digraph> 1207 DigraphReader<Digraph> digraphReader(Digraph& digraph, 1208 const std::string& fn) { 1209 DigraphReader<Digraph> tmp(digraph, fn); 1210 return tmp; 1211 } 1212 1213 /// \brief Return a \ref DigraphReader class 1214 /// 1215 /// This function just returns a \ref DigraphReader class. 1216 /// \relates DigraphReader 1217 template <typename Digraph> 1218 DigraphReader<Digraph> digraphReader(Digraph& digraph, const char* fn) { 1219 DigraphReader<Digraph> tmp(digraph, fn); 1220 return tmp; 1221 } 1222 1213 1223 template <typename Graph> 1214 1224 class GraphReader; 1215 1216 /// \brief Return a \ref GraphReader class 1217 /// 1218 /// This function just returns a \ref GraphReader class. 1219 /// \relates GraphReader 1225 1220 1226 template <typename Graph> 1221 GraphReader<Graph> graphReader(Graph& graph, std::istream& is = std::cin) { 1222 GraphReader<Graph> tmp(graph, is); 1223 return tmp; 1224 } 1225 1226 /// \brief Return a \ref GraphReader class 1227 /// 1228 /// This function just returns a \ref GraphReader class. 1229 /// \relates GraphReader 1227 GraphReader<Graph> graphReader(Graph& graph, 1228 std::istream& is = std::cin); 1230 1229 template <typename Graph> 1231 GraphReader<Graph> graphReader(Graph& graph, const std::string& fn) { 1232 GraphReader<Graph> tmp(graph, fn); 1233 return tmp; 1234 } 1235 1236 /// \brief Return a \ref GraphReader class 1237 /// 1238 /// This function just returns a \ref GraphReader class. 1239 /// \relates GraphReader 1230 GraphReader<Graph> graphReader(Graph& graph, const std::string& fn); 1240 1231 template <typename Graph> 1241 GraphReader<Graph> graphReader(Graph& graph, const char* fn) { 1242 GraphReader<Graph> tmp(graph, fn); 1243 return tmp; 1244 } 1232 GraphReader<Graph> graphReader(Graph& graph, const char *fn); 1245 1233 1246 1234 /// \ingroup lemon_io … … 1369 1357 1370 1358 private: 1371 friend GraphReader<Graph> graphReader<>(Graph& graph, std::istream& is); 1372 friend GraphReader<Graph> graphReader<>(Graph& graph, 1373 const std::string& fn); 1374 friend GraphReader<Graph> graphReader<>(Graph& graph, const char *fn); 1359 template <typename GR> 1360 friend GraphReader<GR> graphReader(GR& graph, std::istream& is); 1361 template <typename GR> 1362 friend GraphReader<GR> graphReader(GR& graph, const std::string& fn); 1363 template <typename GR> 1364 friend GraphReader<GR> graphReader(GR& graph, const char *fn); 1375 1365 1376 1366 GraphReader(GraphReader& other) … … 1700 1690 readLine(); 1701 1691 } 1702 line.putback(c); 1692 if (readSuccess()) { 1693 line.putback(c); 1694 } 1703 1695 } 1704 1696 … … 2041 2033 }; 2042 2034 2035 /// \brief Return a \ref GraphReader class 2036 /// 2037 /// This function just returns a \ref GraphReader class. 2038 /// \relates GraphReader 2039 template <typename Graph> 2040 GraphReader<Graph> graphReader(Graph& graph, std::istream& is) { 2041 GraphReader<Graph> tmp(graph, is); 2042 return tmp; 2043 } 2044 2045 /// \brief Return a \ref GraphReader class 2046 /// 2047 /// This function just returns a \ref GraphReader class. 2048 /// \relates GraphReader 2049 template <typename Graph> 2050 GraphReader<Graph> graphReader(Graph& graph, const std::string& fn) { 2051 GraphReader<Graph> tmp(graph, fn); 2052 return tmp; 2053 } 2054 2055 /// \brief Return a \ref GraphReader class 2056 /// 2057 /// This function just returns a \ref GraphReader class. 2058 /// \relates GraphReader 2059 template <typename Graph> 2060 GraphReader<Graph> graphReader(Graph& graph, const char* fn) { 2061 GraphReader<Graph> tmp(graph, fn); 2062 return tmp; 2063 } 2064 2043 2065 class SectionReader; 2044 2066 … … 2227 2249 readLine(); 2228 2250 } 2229 line.putback(c); 2251 if (readSuccess()) { 2252 line.putback(c); 2253 } 2230 2254 } 2231 2255 … … 2568 2592 readLine(); 2569 2593 } 2570 line.putback(c); 2594 if (readSuccess()) { 2595 line.putback(c); 2596 } 2571 2597 } 2572 2598
Note: See TracChangeset
for help on using the changeset viewer.