[Lemon-commits] Peter Kovacs: Various fixes for compiling on AIX...
Lemon HG
hg at lemon.cs.elte.hu
Fri Feb 20 23:02:43 CET 2009
details: http://lemon.cs.elte.hu/hg/lemon/rev/afd134142111
changeset: 528:afd134142111
user: Peter Kovacs <kpeter [at] inf.elte.hu>
date: Fri Feb 20 20:36:26 2009 +0000
description:
Various fixes for compiling on AIX (#211, #212)
diffstat:
4 files changed, 205 insertions(+), 155 deletions(-)
lemon/lgf_reader.h | 136 ++++++++++++++++++++++++++-------------------
lemon/lgf_writer.h | 154 ++++++++++++++++++++++++++++++----------------------
lemon/path.h | 42 +++++++++-----
lemon/random.h | 28 +++------
diffs (truncated from 552 to 300 lines):
diff --git a/lemon/lgf_reader.h b/lemon/lgf_reader.h
--- a/lemon/lgf_reader.h
+++ b/lemon/lgf_reader.h
@@ -390,37 +390,13 @@
template <typename Digraph>
class DigraphReader;
- /// \brief Return a \ref DigraphReader class
- ///
- /// This function just returns a \ref DigraphReader class.
- /// \relates DigraphReader
template <typename Digraph>
- DigraphReader<Digraph> digraphReader(Digraph& digraph,
- std::istream& is = std::cin) {
- DigraphReader<Digraph> tmp(digraph, is);
- return tmp;
- }
-
- /// \brief Return a \ref DigraphReader class
- ///
- /// This function just returns a \ref DigraphReader class.
- /// \relates DigraphReader
+ DigraphReader<Digraph> digraphReader(Digraph& digraph,
+ std::istream& is = std::cin);
template <typename Digraph>
- DigraphReader<Digraph> digraphReader(Digraph& digraph,
- const std::string& fn) {
- DigraphReader<Digraph> tmp(digraph, fn);
- return tmp;
- }
-
- /// \brief Return a \ref DigraphReader class
- ///
- /// This function just returns a \ref DigraphReader class.
- /// \relates DigraphReader
+ DigraphReader<Digraph> digraphReader(Digraph& digraph, const std::string& fn);
template <typename Digraph>
- DigraphReader<Digraph> digraphReader(Digraph& digraph, const char* fn) {
- DigraphReader<Digraph> tmp(digraph, fn);
- return tmp;
- }
+ DigraphReader<Digraph> digraphReader(Digraph& digraph, const char *fn);
/// \ingroup lemon_io
///
@@ -584,12 +560,13 @@
private:
- friend DigraphReader<Digraph> digraphReader<>(Digraph& digraph,
- std::istream& is);
- friend DigraphReader<Digraph> digraphReader<>(Digraph& digraph,
- const std::string& fn);
- friend DigraphReader<Digraph> digraphReader<>(Digraph& digraph,
- const char *fn);
+ template <typename DGR>
+ friend DigraphReader<DGR> digraphReader(DGR& digraph, std::istream& is);
+ template <typename DGR>
+ friend DigraphReader<DGR> digraphReader(DGR& digraph,
+ const std::string& fn);
+ template <typename DGR>
+ friend DigraphReader<DGR> digraphReader(DGR& digraph, const char *fn);
DigraphReader(DigraphReader& other)
: _is(other._is), local_is(other.local_is), _digraph(other._digraph),
@@ -1210,39 +1187,48 @@
};
- template <typename Graph>
- class GraphReader;
-
- /// \brief Return a \ref GraphReader class
+ /// \brief Return a \ref DigraphReader class
///
- /// This function just returns a \ref GraphReader class.
- /// \relates GraphReader
- template <typename Graph>
- GraphReader<Graph> graphReader(Graph& graph, std::istream& is = std::cin) {
- GraphReader<Graph> tmp(graph, is);
+ /// This function just returns a \ref DigraphReader class.
+ /// \relates DigraphReader
+ template <typename Digraph>
+ DigraphReader<Digraph> digraphReader(Digraph& digraph, std::istream& is) {
+ DigraphReader<Digraph> tmp(digraph, is);
return tmp;
}
- /// \brief Return a \ref GraphReader class
+ /// \brief Return a \ref DigraphReader class
///
- /// This function just returns a \ref GraphReader class.
- /// \relates GraphReader
- template <typename Graph>
- GraphReader<Graph> graphReader(Graph& graph, const std::string& fn) {
- GraphReader<Graph> tmp(graph, fn);
+ /// This function just returns a \ref DigraphReader class.
+ /// \relates DigraphReader
+ template <typename Digraph>
+ DigraphReader<Digraph> digraphReader(Digraph& digraph,
+ const std::string& fn) {
+ DigraphReader<Digraph> tmp(digraph, fn);
return tmp;
}
- /// \brief Return a \ref GraphReader class
+ /// \brief Return a \ref DigraphReader class
///
- /// This function just returns a \ref GraphReader class.
- /// \relates GraphReader
- template <typename Graph>
- GraphReader<Graph> graphReader(Graph& graph, const char* fn) {
- GraphReader<Graph> tmp(graph, fn);
+ /// This function just returns a \ref DigraphReader class.
+ /// \relates DigraphReader
+ template <typename Digraph>
+ DigraphReader<Digraph> digraphReader(Digraph& digraph, const char* fn) {
+ DigraphReader<Digraph> tmp(digraph, fn);
return tmp;
}
+ template <typename Graph>
+ class GraphReader;
+
+ template <typename Graph>
+ GraphReader<Graph> graphReader(Graph& graph,
+ std::istream& is = std::cin);
+ template <typename Graph>
+ GraphReader<Graph> graphReader(Graph& graph, const std::string& fn);
+ template <typename Graph>
+ GraphReader<Graph> graphReader(Graph& graph, const char *fn);
+
/// \ingroup lemon_io
///
/// \brief \ref lgf-format "LGF" reader for undirected graphs
@@ -1368,10 +1354,12 @@
}
private:
- friend GraphReader<Graph> graphReader<>(Graph& graph, std::istream& is);
- friend GraphReader<Graph> graphReader<>(Graph& graph,
- const std::string& fn);
- friend GraphReader<Graph> graphReader<>(Graph& graph, const char *fn);
+ template <typename GR>
+ friend GraphReader<GR> graphReader(GR& graph, std::istream& is);
+ template <typename GR>
+ friend GraphReader<GR> graphReader(GR& graph, const std::string& fn);
+ template <typename GR>
+ friend GraphReader<GR> graphReader(GR& graph, const char *fn);
GraphReader(GraphReader& other)
: _is(other._is), local_is(other.local_is), _graph(other._graph),
@@ -2040,6 +2028,36 @@
};
+ /// \brief Return a \ref GraphReader class
+ ///
+ /// This function just returns a \ref GraphReader class.
+ /// \relates GraphReader
+ template <typename Graph>
+ GraphReader<Graph> graphReader(Graph& graph, std::istream& is) {
+ GraphReader<Graph> tmp(graph, is);
+ return tmp;
+ }
+
+ /// \brief Return a \ref GraphReader class
+ ///
+ /// This function just returns a \ref GraphReader class.
+ /// \relates GraphReader
+ template <typename Graph>
+ GraphReader<Graph> graphReader(Graph& graph, const std::string& fn) {
+ GraphReader<Graph> tmp(graph, fn);
+ return tmp;
+ }
+
+ /// \brief Return a \ref GraphReader class
+ ///
+ /// This function just returns a \ref GraphReader class.
+ /// \relates GraphReader
+ template <typename Graph>
+ GraphReader<Graph> graphReader(Graph& graph, const char* fn) {
+ GraphReader<Graph> tmp(graph, fn);
+ return tmp;
+ }
+
class SectionReader;
SectionReader sectionReader(std::istream& is);
diff --git a/lemon/lgf_writer.h b/lemon/lgf_writer.h
--- a/lemon/lgf_writer.h
+++ b/lemon/lgf_writer.h
@@ -350,38 +350,17 @@
template <typename Digraph>
class DigraphWriter;
- /// \brief Return a \ref DigraphWriter class
- ///
- /// This function just returns a \ref DigraphWriter class.
- /// \relates DigraphWriter
template <typename Digraph>
DigraphWriter<Digraph> digraphWriter(const Digraph& digraph,
- std::ostream& os = std::cout) {
- DigraphWriter<Digraph> tmp(digraph, os);
- return tmp;
- }
-
- /// \brief Return a \ref DigraphWriter class
- ///
- /// This function just returns a \ref DigraphWriter class.
- /// \relates DigraphWriter
+ std::ostream& os = std::cout);
template <typename Digraph>
DigraphWriter<Digraph> digraphWriter(const Digraph& digraph,
- const std::string& fn) {
- DigraphWriter<Digraph> tmp(digraph, fn);
- return tmp;
- }
+ const std::string& fn);
- /// \brief Return a \ref DigraphWriter class
- ///
- /// This function just returns a \ref DigraphWriter class.
- /// \relates DigraphWriter
template <typename Digraph>
DigraphWriter<Digraph> digraphWriter(const Digraph& digraph,
- const char* fn) {
- DigraphWriter<Digraph> tmp(digraph, fn);
- return tmp;
- }
+ const char* fn);
+
/// \ingroup lemon_io
///
@@ -526,12 +505,15 @@
private:
- friend DigraphWriter<Digraph> digraphWriter<>(const Digraph& digraph,
- std::ostream& os);
- friend DigraphWriter<Digraph> digraphWriter<>(const Digraph& digraph,
- const std::string& fn);
- friend DigraphWriter<Digraph> digraphWriter<>(const Digraph& digraph,
- const char *fn);
+ template <typename DGR>
+ friend DigraphWriter<DGR> digraphWriter(const DGR& digraph,
+ std::ostream& os);
+ template <typename DGR>
+ friend DigraphWriter<DGR> digraphWriter(const DGR& digraph,
+ const std::string& fn);
+ template <typename DGR>
+ friend DigraphWriter<DGR> digraphWriter(const DGR& digraph,
+ const char *fn);
DigraphWriter(DigraphWriter& other)
: _os(other._os), local_os(other.local_os), _digraph(other._digraph),
@@ -933,39 +915,49 @@
/// @}
};
+ /// \brief Return a \ref DigraphWriter class
+ ///
+ /// This function just returns a \ref DigraphWriter class.
+ /// \relates DigraphWriter
+ template <typename Digraph>
+ DigraphWriter<Digraph> digraphWriter(const Digraph& digraph,
+ std::ostream& os) {
+ DigraphWriter<Digraph> tmp(digraph, os);
+ return tmp;
+ }
+
+ /// \brief Return a \ref DigraphWriter class
+ ///
+ /// This function just returns a \ref DigraphWriter class.
+ /// \relates DigraphWriter
+ template <typename Digraph>
+ DigraphWriter<Digraph> digraphWriter(const Digraph& digraph,
+ const std::string& fn) {
+ DigraphWriter<Digraph> tmp(digraph, fn);
+ return tmp;
+ }
+
+ /// \brief Return a \ref DigraphWriter class
+ ///
+ /// This function just returns a \ref DigraphWriter class.
+ /// \relates DigraphWriter
+ template <typename Digraph>
+ DigraphWriter<Digraph> digraphWriter(const Digraph& digraph,
+ const char* fn) {
+ DigraphWriter<Digraph> tmp(digraph, fn);
+ return tmp;
+ }
+
template <typename Graph>
class GraphWriter;
- /// \brief Return a \ref GraphWriter class
- ///
- /// This function just returns a \ref GraphWriter class.
More information about the Lemon-commits
mailing list