COIN-OR::LEMON - Graph Library

source: lemon-0.x/src/work/alpar/emptygraph.h @ 138:c6297c121409

Last change on this file since 138:c6297c121409 was 67:5f86199dcf3e, checked in by marci, 21 years ago

.

File size: 1.9 KB
Line 
1// -*-mode: c++; -*-
2
3class Graph
4{
5public:
6  class EdgeIt {};
7 
8  class InEdgeIt : public EdgeIt {};
9  class OutEdgeIt : public EdgeIt {};
10  class SymEdgeIt : public EdgeIt {};
11  class EachEdgeIt : public EdgeIt {};
12
13  class NodeIt {};
14   
15  NodeIt &getFirst(NodeIt &) const {}
16  InEdgeIt &getFirst(InEdgeIt &, NodeIt) const {}
17  OutEdgeIt &getFirst(OutEdgeIt &, NodeIt) const {}
18  SymEdgeIt &getFirst(SymEdgeIt &, NodeIt) const {}
19  EachEdgeIt &getFirst(EachEdgeIt &) const {}
20
21  NodeIt next(NodeIt) const {}
22  InEdgeIt next(InEdgeIt) const {}
23  OutEdgeIt next(OutEdgeIt) const {}
24  SymEdgeIt next(SymEdgeIt) const {}
25  EachEdgeIt next(EachEdgeIt) const {}
26
27  NodeIt &goNext(NodeIt &) const {}
28  InEdgeIt &goNext(InEdgeIt &) const {}
29  OutEdgeIt &goNext(OutEdgeIt &) const {}
30  SymEdgeIt &goNext(SymEdgeIt &) const {}
31  EachEdgeIt &goNext(EachEdgeIt &) const {}
32
33  NodeIt head(EdgeIt) const {}
34  NodeIt tail(EdgeIt) const {}
35 
36  NodeIt aNode(InEdgeIt) const {}
37  NodeIt aNode(OutEdgeIt) const {}
38  NodeIt aNode(SymEdgeIt) const {}
39
40  NodeIt bNode(InEdgeIt) const {}
41  NodeIt bNode(OutEdgeIt) const {}
42  NodeIt bNode(SymEdgeIt) const {}
43
44  //bool valid(const NodeIt) const {};
45  //bool valid(const EdgeIt) const {};
46
47  //void setInvalid(NodeIt &) const {};
48  //void setInvalid(EdgeIt &) const {};
49 
50  NodeIt addNode() {}
51  EdgeIt addEdge(NodeIt tail, NodeIt head) {}
52   
53  void erase(NodeIt n) {}
54  void erase(EdgeIt e) {}
55
56  void clear() {}
57
58  template<class T> class NodeMap
59  {
60  public:
61    typedef T ValueType;
62    typedef NodeIt KeyType;
63    void set(NodeIt i, T t) {}
64    T get(NodeIt i) const {}
65    T &operator[](NodeIt i) {}
66     
67    NodeMap(const Graph &G) {}
68    NodeMap(const Graph &G, T t) {}
69  };
70
71  template<class T> class EdgeMap
72  {
73  public:
74    typedef T ValueType;
75    typedef EdgeIt KeyType;
76    void set(EdgeIt i, T t) {}
77    T get(EdgeIt i) const {}
78    T &operator[](EdgeIt i) {}
79     
80    EdgeMap(const Graph &G) {}
81    EdgeMap(const Graph &G, T t) {}
82  };
83};
Note: See TracBrowser for help on using the repository browser.