# HG changeset patch # User marci # Date 1084546881 0 # Node ID 2153dd45937abcf2496196af1a0bfd5f143dbece # Parent 75ad3e24425ed341cb0b0531d9321af0536f0f76 for_eachmacros.h in include diff -r 75ad3e24425e -r 2153dd45937a src/hugo/for_each_macros.h --- a/src/hugo/for_each_macros.h Fri May 14 14:42:58 2004 +0000 +++ b/src/hugo/for_each_macros.h Fri May 14 15:01:21 2004 +0000 @@ -4,58 +4,58 @@ // /// \ingroup gwrappers /// \file -/// \brief Iteraton macros. +/// \brief Iteration macros. /// /// This file contains several macros which make easier writting -/// for cycles in HUGO, using HUGO iterators. +/// for cycles in HUGO using HUGO iterators. /// /// \author Marton Makai namespace hugo { -/// The iteration with HUGO iterators i.e. for cycles can be -/// written very comfortable with this macro. -/// \code -/// Graph g; -/// Graph::NodeIt n; -/// FOR_EACH_GLOB(n, g) { -/// ... -/// } -/// Graph::EdgeIt e; -/// FOR_EACH_GLOB(e, g) { -/// ... -/// } -/// In the above cycle, the iterator variable \c n and \c e are global ones. -/// \endcode + /// This macro provides a comfortable interface for iterating with HUGO + /// iterators. + /// \code + /// Graph g; + /// Graph::NodeIt n; + /// FOR_EACH_GLOB(n, g) { + /// ... + /// } + /// Graph::EdgeIt e; + /// FOR_EACH_GLOB(e, g) { + /// ... + /// } + /// \endcode + /// Note that the iterated variables \c n and \c e are global ones. #define FOR_EACH_GLOB(e, g) for((g).first((e)); (g).valid((e)); (g).next((e))) -/// The iteration with HUGO iterators i.e. for cycles can be -/// written very comfortable with this macro. -/// \code -/// Graph g; -/// Graph::Node v; -/// Graph::OutEdgeIt e; -/// FOR_EACH_INC_GLOB(e, g, v) { -/// ... -/// } -/// typedef BipartiteGraph BGraph; -/// BGraph h; -/// BGraph::ClassNodeIt n; -/// FOR_EACH_INC_GLOB(BGraph::ClassNodeIt, n, h, h.S_CLASS) { -/// ... -/// } -/// In the above cycle, the iterator variable \c e and \c n are global ones. -/// \endcode + /// This macro provides a comfortable interface for iterating with HUGO + /// iterators. + /// \code + /// Graph g; + /// Graph::Node v; + /// Graph::OutEdgeIt e; + /// FOR_EACH_INC_GLOB(e, g, v) { + /// ... + /// } + /// typedef BipartiteGraph BGraph; + /// BGraph h; + /// BGraph::ClassNodeIt n; + /// FOR_EACH_INC_GLOB(BGraph::ClassNodeIt, n, h, h.S_CLASS) { + /// ... + /// } + /// \endcode + /// Note that iterated variables \c e and \c n are global ones. #define FOR_EACH_INC_GLOB(e, g, v) for((g).first((e), (v)); (g).valid((e)); (g).next((e))) - + /// \deprecated -#define FOR_EACH_EDGE_GLOB(e, g) for((g).first((e)); (g).valid((e)); (g).next((e))) +//#define FOR_EACH_EDGE_GLOB(e, g) for((g).first((e)); (g).valid((e)); (g).next((e))) /// \deprecated -#define FOR_EACH_NODE_GLOB(e, g) for((g).first((e)); (g).valid((e)); (g).next((e))) +//#define FOR_EACH_NODE_GLOB(e, g) for((g).first((e)); (g).valid((e)); (g).next((e))) /// \deprecated -#define FOR_EACH_INEDGE_GLOB(e, g, v) for((g).first((e), (v)); (g).valid((e)); (g).next((e))) +//#define FOR_EACH_INEDGE_GLOB(e, g, v) for((g).first((e), (v)); (g).valid((e)); (g).next((e))) /// \deprecated -#define FOR_EACH_OUTEDGE_GLOB(e, g, v) for((g).first((e), (v)); (g).valid((e)); (g).next((e))) +//#define FOR_EACH_OUTEDGE_GLOB(e, g, v) for((g).first((e), (v)); (g).valid((e)); (g).next((e))) // template // It loopFirst(const Graph& g) const { @@ -116,37 +116,37 @@ // typename Graph::InEdgeIt e; g.first(e, n); return e; // } -/// The iteration with HUGO iterators i.e. for cycles can be -/// written very comfortable with this macro. -/// \code -/// Graph g; -/// FOR_EACH_LOC(Graph::NodeIt, n, g) { -/// ... -/// } -/// FOR_EACH_LOC(Graph::EdgeIt, e, g) { -/// ... -/// } -/// In the above cycle, the iterator variable \c n and \c e are local ones. -/// \endcode + /// This macro provides a comfortable interface for iterating with HUGO + /// iterators. + /// \code + /// Graph g; + /// FOR_EACH_LOC(Graph::NodeIt, n, g) { + /// ... + /// } + /// FOR_EACH_LOC(Graph::EdgeIt, e, g) { + /// ... + /// } + /// \endcode + /// Note that the iterated variables \c n and \c e are local ones. #define FOR_EACH_LOC(Ittype, e, g) for(Ittype e=loopFirst(Ittype(), (g)); (g).valid(e); (g).next(e)) - -/// The iteration with HUGO iterators i.e. for cycles can be -/// written very comfortable with this macro. -/// \code -/// Graph g; -/// Graph::Node v; -/// FOR_EACH_INC_LOC(Graph::OutEdgeIt, e, g, v) { -/// ... -/// } -/// typedef BipartiteGraph BGraph; -/// BGraph h; -/// FOR_EACH_INC_LOC(BGraph::ClassNodeIt, n, h, h.S_CLASS) { -/// ... -/// } -/// In the above cycle, the iterator variable \c e and \c n are local ones. -/// \endcode + + /// This macro provides a comfortable interface for iterating with HUGO + /// iterators. + /// \code + /// Graph g; + /// Graph::Node v; + /// FOR_EACH_INC_LOC(Graph::OutEdgeIt, e, g, v) { + /// ... + /// } + /// typedef BipartiteGraph BGraph; + /// BGraph h; + /// FOR_EACH_INC_LOC(BGraph::ClassNodeIt, n, h, h.S_CLASS) { + /// ... + /// } + /// \endcode + /// Note that the iterated variables \c e and \c n are local ones. #define FOR_EACH_INC_LOC(Ittype, e, g, v) for(Ittype e=loopFirst(Ittype(), (g), (v)); (g).valid(e); (g).next(e)) - + // #define FOR_EACH_EDGE_LOC(e, g) ezt nem tom hogy kell for((g).first((e)); (g).valid((e)); (g).next((e))) // #define FOR_EACH_NODE_LOC(e, g) for((g).first((e)); (g).valid((e)); (g).next((e))) // #define FOR_EACH_INEDGE_LOC(e, g, v) for((g).first((e), (v)); (g).valid((e)); (g).next((e)))