[Lemon-commits] [lemon_svn] alpar: r2347 - hugo/trunk/lemon
Lemon SVN
svn at lemon.cs.elte.hu
Mon Nov 6 20:51:58 CET 2006
Author: alpar
Date: Wed Nov 16 14:17:02 2005
New Revision: 2347
Modified:
hugo/trunk/lemon/graph_utils.h
Log:
(UNDIR)GRAPH_TYPEDEFS also defines some basic graph maps
Modified: hugo/trunk/lemon/graph_utils.h
==============================================================================
--- hugo/trunk/lemon/graph_utils.h (original)
+++ hugo/trunk/lemon/graph_utils.h Wed Nov 16 14:17:02 2005
@@ -44,7 +44,8 @@
///This \c \#define creates convenience typedefs for the following types
///of \c Graph: \c Node, \c NodeIt, \c Edge, \c EdgeIt, \c InEdgeIt,
- ///\c OutEdgeIt.
+ ///\c OutEdgeIt, \c BoolNodeMap, \c IntNodeMap, \c DoubleNodeMap,
+ ///\c BoolEdgeMap, \c IntEdgeMap, \c DoubleEdgeMap.
///\note If \c G it a template parameter, it should be used in this way.
///\code
/// GRAPH_TYPEDEFS(typename G)
@@ -52,19 +53,26 @@
///
///\warning There are no typedefs for the graph maps because of the lack of
///template typedefs in C++.
-#define GRAPH_TYPEDEFS(Graph) \
- typedef Graph:: Node Node; \
- typedef Graph:: NodeIt NodeIt; \
- typedef Graph:: Edge Edge; \
- typedef Graph:: EdgeIt EdgeIt; \
- typedef Graph:: InEdgeIt InEdgeIt; \
- typedef Graph::OutEdgeIt OutEdgeIt;
+#define GRAPH_TYPEDEFS(Graph) \
+ typedef Graph:: Node Node; \
+ typedef Graph:: NodeIt NodeIt; \
+ typedef Graph:: Edge Edge; \
+ typedef Graph:: EdgeIt EdgeIt; \
+ typedef Graph:: InEdgeIt InEdgeIt; \
+ typedef Graph::OutEdgeIt OutEdgeIt; \
+ typedef Graph::Nodemap<bool> BoolNodeMap; \
+ typedef Graph::Nodemap<int> IntNodeMap; \
+ typedef Graph::Nodemap<double> DoubleNodeMap; \
+ typedef Graph::Edgemap<bool> BoolEdgeMap; \
+ typedef Graph::Edgemap<int> IntEdgeMap; \
+ typedef Graph::Edgemap<double> DoubleEdgeMap;
///Creates convenience typedefs for the undirected graph types and iterators
///This \c \#define creates the same convenience typedefs as defined by
///\ref GRAPH_TYPEDEFS(Graph) and three more, namely it creates
///\c UndirEdge, \c UndirEdgeIt, \c IncEdgeIt,
+ ///\c BoolUndirEdgeMap, \c IntUndirEdgeMap, \c DoubleUndirEdgeMap.
///
///\note If \c G it a template parameter, it should be used in this way.
///\code
@@ -73,11 +81,15 @@
///
///\warning There are no typedefs for the graph maps because of the lack of
///template typedefs in C++.
-#define UNDIRGRAPH_TYPEDEFS(Graph) \
- GRAPH_TYPEDEFS(Graph) \
- typedef Graph:: UndirEdge UndirEdge; \
- typedef Graph:: UndirEdgeIt UndirEdgeIt; \
- typedef Graph:: IncEdgeIt IncEdgeIt;
+#define UNDIRGRAPH_TYPEDEFS(Graph) \
+ GRAPH_TYPEDEFS(Graph) \
+ typedef Graph:: UndirEdge UndirEdge; \
+ typedef Graph:: UndirEdgeIt UndirEdgeIt; \
+ typedef Graph:: IncEdgeIt IncEdgeIt; \
+ typedef Graph::UndirEdgemap<bool> BoolUndirEdgeMap; \
+ typedef Graph::UndirEdgemap<int> IntUndirEdgeMap; \
+ typedef Graph::UndirEdgemap<double> DoubleUndirEdgeMap;
+
/// \brief Function to count the items in the graph.
More information about the Lemon-commits
mailing list