src/work/marci/graph_wrapper.h
changeset 279 be43902fadb7
parent 275 2dd19df03593
child 303 1b377a730d02
     1.1 --- a/src/work/marci/graph_wrapper.h	Fri Apr 02 18:31:19 2004 +0000
     1.2 +++ b/src/work/marci/graph_wrapper.h	Sat Apr 03 14:22:33 2004 +0000
     1.3 @@ -448,12 +448,19 @@
     1.4  //     };
     1.5  //   };
     1.6  
     1.7 -
     1.8    template<typename GraphWrapper>
     1.9    class RevGraphWrapper : public GraphWrapperSkeleton<GraphWrapper> {
    1.10    public:
    1.11      typedef typename GraphWrapperSkeleton<GraphWrapper>::Node Node;
    1.12      typedef typename GraphWrapperSkeleton<GraphWrapper>::Edge Edge;
    1.13 +    //FIXME 
    1.14 +    //If GraphWrapper::OutEdgeIt is not defined
    1.15 +    //and we do not want to use RevGraphWrapper::InEdgeIt,
    1.16 +    //this won't work, because of typedef
    1.17 +    //OR
    1.18 +    //graphs have to define their non-existing iterators to void
    1.19 +    //Unfortunately all the typedefs are instantiated in templates, 
    1.20 +    //unlike other stuff
    1.21      typedef typename GraphWrapperSkeleton<GraphWrapper>::OutEdgeIt InEdgeIt;
    1.22      typedef typename GraphWrapperSkeleton<GraphWrapper>::InEdgeIt OutEdgeIt;
    1.23  
    1.24 @@ -702,6 +709,7 @@
    1.25    
    1.26      class Edge {
    1.27        friend class UndirGraphWrapper<GraphWrapper>;
    1.28 +    protected:
    1.29        bool out_or_in; //true iff out
    1.30        GraphOutEdgeIt out;
    1.31        GraphInEdgeIt in;