lemon/dfs.h
changeset 1708 8fea0e60f855
parent 1666 30d7e673781f
child 1709 a323456bf7c8
equal deleted inserted replaced
11:9546b764e5f6 12:e5329fd06c92
   334     ///\ref named-templ-param "Named parameter" for setting ProcessedMap type
   334     ///\ref named-templ-param "Named parameter" for setting ProcessedMap type
   335 
   335 
   336     ///\ref named-templ-param "Named parameter" for setting ProcessedMap type
   336     ///\ref named-templ-param "Named parameter" for setting ProcessedMap type
   337     ///
   337     ///
   338     template <class T>
   338     template <class T>
   339     class DefProcessedMap : public Dfs< Graph,
   339     struct DefProcessedMap : public Dfs< Graph, DefProcessedMapTraits<T> > { 
   340 					DefProcessedMapTraits<T> > { };
   340       typedef Dfs< Graph, DefProcessedMapTraits<T> > Dfs;
       
   341     };
   341     
   342     
   342     struct DefGraphProcessedMapTraits : public Traits {
   343     struct DefGraphProcessedMapTraits : public Traits {
   343       typedef typename Graph::template NodeMap<bool> ProcessedMap;
   344       typedef typename Graph::template NodeMap<bool> ProcessedMap;
   344       static ProcessedMap *createProcessedMap(const Graph &G) 
   345       static ProcessedMap *createProcessedMap(const Graph &G) 
   345       {
   346       {
   561 
   562 
   562     ///Next edge to be processed.
   563     ///Next edge to be processed.
   563     ///
   564     ///
   564     ///\return The next edge to be processed or INVALID if the stack is
   565     ///\return The next edge to be processed or INVALID if the stack is
   565     /// empty.
   566     /// empty.
   566     OutEdgeIt NextEdge()
   567     OutEdgeIt nextEdge()
   567     { 
   568     { 
   568       return _stack_head>=0?_stack[_stack_head]:INVALID;
   569       return _stack_head>=0?_stack[_stack_head]:INVALID;
   569     }
   570     }
   570       
   571 
   571     ///\brief Returns \c false if there are nodes
   572     ///\brief Returns \c false if there are nodes
   572     ///to be processed in the queue
   573     ///to be processed in the queue
   573     ///
   574     ///
   574     ///Returns \c false if there are nodes
   575     ///Returns \c false if there are nodes
   575     ///to be processed in the queue
   576     ///to be processed in the queue