src/work/alpar/emptygraph.h
changeset 145 07c32a103bbb
parent 67 5f86199dcf3e
child 147 f3f1d7a4a8d3
equal deleted inserted replaced
8:37d1adce8a1d 9:3f1d99e05054
     1 // -*-mode: c++; -*-
     1 // -*-mode: c++; -*-
     2 
     2 
     3 class Graph
     3 class EmptyGraph
     4 {
     4 {
     5 public:
     5 public:
       
     6 
     6   class EdgeIt {};
     7   class EdgeIt {};
     7   
     8   
     8   class InEdgeIt : public EdgeIt {};
     9   class InEdgeIt : public EdgeIt {};
     9   class OutEdgeIt : public EdgeIt {};
    10   class OutEdgeIt : public EdgeIt {};
    10   class SymEdgeIt : public EdgeIt {};
    11   class SymEdgeIt : public EdgeIt {};
    16   InEdgeIt &getFirst(InEdgeIt &, NodeIt) const {}
    17   InEdgeIt &getFirst(InEdgeIt &, NodeIt) const {}
    17   OutEdgeIt &getFirst(OutEdgeIt &, NodeIt) const {}
    18   OutEdgeIt &getFirst(OutEdgeIt &, NodeIt) const {}
    18   SymEdgeIt &getFirst(SymEdgeIt &, NodeIt) const {}
    19   SymEdgeIt &getFirst(SymEdgeIt &, NodeIt) const {}
    19   EachEdgeIt &getFirst(EachEdgeIt &) const {}
    20   EachEdgeIt &getFirst(EachEdgeIt &) const {}
    20 
    21 
    21   NodeIt next(NodeIt) const {}
    22   NodeIt getNext(NodeIt) const {}
    22   InEdgeIt next(InEdgeIt) const {}
    23   InEdgeIt getNext(InEdgeIt) const {}
    23   OutEdgeIt next(OutEdgeIt) const {}
    24   OutEdgeIt getNext(OutEdgeIt) const {}
    24   SymEdgeIt next(SymEdgeIt) const {}
    25   SymEdgeIt getNext(SymEdgeIt) const {}
    25   EachEdgeIt next(EachEdgeIt) const {}
    26   EachEdgeIt getNext(EachEdgeIt) const {}
    26 
    27 
    27   NodeIt &goNext(NodeIt &) const {}
    28   NodeIt &next(NodeIt &) const {}
    28   InEdgeIt &goNext(InEdgeIt &) const {}
    29   InEdgeIt &next(InEdgeIt &) const {}
    29   OutEdgeIt &goNext(OutEdgeIt &) const {}
    30   OutEdgeIt &next(OutEdgeIt &) const {}
    30   SymEdgeIt &goNext(SymEdgeIt &) const {}
    31   SymEdgeIt &next(SymEdgeIt &) const {}
    31   EachEdgeIt &goNext(EachEdgeIt &) const {}
    32   EachEdgeIt &next(EachEdgeIt &) const {}
    32 
    33 
    33   NodeIt head(EdgeIt) const {}
    34   NodeIt head(EdgeIt) const {}
    34   NodeIt tail(EdgeIt) const {}
    35   NodeIt tail(EdgeIt) const {}
    35   
    36   
    36   NodeIt aNode(InEdgeIt) const {}
    37   NodeIt aNode(InEdgeIt) const {}
    79       
    80       
    80     EdgeMap(const Graph &G) {}
    81     EdgeMap(const Graph &G) {}
    81     EdgeMap(const Graph &G, T t) {}
    82     EdgeMap(const Graph &G, T t) {}
    82   };
    83   };
    83 };
    84 };
       
    85 
       
    86 class EmptyBipGraph : public EmptyGraph
       
    87 {
       
    88   class ANodeIt {};
       
    89   class BNodeIt {};
       
    90 
       
    91   ANodeIt &next(ANodeIt &) {}
       
    92   BNodeIt &next(BNodeIt &) {}
       
    93 
       
    94   ANodeIt &getFirst(ANodeIt &) const {}
       
    95   BNodeIt &getFirst(BNodeIt &) const {}
       
    96 
       
    97   enum NodeClass { A = 0, B = 1 };
       
    98   NodeClass getClass(NodeIt n) {}
       
    99 
       
   100 }