2 |
2 |
3 class EmptyGraph |
3 class EmptyGraph |
4 { |
4 { |
5 public: |
5 public: |
6 |
6 |
7 class EdgeIt {}; |
7 class NodeIt { |
|
8 public: |
|
9 NodeIt() {} //FIXME |
|
10 //NodeIt(const NodeIt &) {} |
|
11 bool operator==(NodeIt n) const {} //FIXME |
|
12 bool operator!=(NodeIt n) const {} //FIXME |
|
13 }; |
|
14 |
|
15 class EachNodeIt : public NodeIt { |
|
16 public: |
|
17 EachNodeIt() {} //FIXME |
|
18 EachNodeIt(const EmptyGraph &) const {} |
|
19 EachNodeIt(const EachNodeIt &) const {} //FIXME |
|
20 }; |
|
21 |
|
22 class EdgeIt { |
|
23 EdgeIt() {} //FIXME |
|
24 //EdgeIt(const EdgeIt &) {} |
|
25 bool operator==(EdgeIt n) const {} //FIXME |
|
26 bool operator!=(EdgeIt n) const {} //FIXME |
|
27 }; |
8 |
28 |
9 class InEdgeIt : public EdgeIt {}; |
29 class OutEdgeIt : public EdgeIt { |
10 class OutEdgeIt : public EdgeIt {}; |
30 OutEdgeIt() {} |
11 class SymEdgeIt : public EdgeIt {}; |
31 OutEdgeIt(const EmptyGraph &, NodeIt) {} |
12 class EachEdgeIt : public EdgeIt {}; |
32 }; |
13 |
33 |
14 class NodeIt {}; |
34 class InEdgeIt : public EdgeIt { |
15 |
35 InEdgeIt() {} |
16 NodeIt &getFirst(NodeIt &) const {} |
36 InEdgeIt(const EmptyGraph &, NodeIt) {} |
|
37 }; |
|
38 // class SymEdgeIt : public EdgeIt {}; |
|
39 class EachEdgeIt : public EdgeIt { |
|
40 EachEdgeIt() {} |
|
41 EachEdgeIt(const EmptyGraph &, NodeIt) {} |
|
42 }; |
|
43 |
|
44 EachNodeIt &getFirst(EachNodeIt &) const {} |
17 InEdgeIt &getFirst(InEdgeIt &, NodeIt) const {} |
45 InEdgeIt &getFirst(InEdgeIt &, NodeIt) const {} |
18 OutEdgeIt &getFirst(OutEdgeIt &, NodeIt) const {} |
46 OutEdgeIt &getFirst(OutEdgeIt &, NodeIt) const {} |
19 SymEdgeIt &getFirst(SymEdgeIt &, NodeIt) const {} |
47 // SymEdgeIt &getFirst(SymEdgeIt &, NodeIt) const {} |
20 EachEdgeIt &getFirst(EachEdgeIt &) const {} |
48 EachEdgeIt &getFirst(EachEdgeIt &) const {} |
21 |
49 |
22 NodeIt getNext(NodeIt) const {} |
50 NodeIt getNext(NodeIt) const {} |
23 InEdgeIt getNext(InEdgeIt) const {} |
51 InEdgeIt getNext(InEdgeIt) const {} |
24 OutEdgeIt getNext(OutEdgeIt) const {} |
52 OutEdgeIt getNext(OutEdgeIt) const {} |
25 SymEdgeIt getNext(SymEdgeIt) const {} |
53 //SymEdgeIt getNext(SymEdgeIt) const {} |
26 EachEdgeIt getNext(EachEdgeIt) const {} |
54 EachEdgeIt getNext(EachEdgeIt) const {} |
27 |
55 |
28 NodeIt &next(NodeIt &) const {} |
56 NodeIt &next(NodeIt &) const {} |
29 InEdgeIt &next(InEdgeIt &) const {} |
57 InEdgeIt &next(InEdgeIt &) const {} |
30 OutEdgeIt &next(OutEdgeIt &) const {} |
58 OutEdgeIt &next(OutEdgeIt &) const {} |
31 SymEdgeIt &next(SymEdgeIt &) const {} |
59 //SymEdgeIt &next(SymEdgeIt &) const {} |
32 EachEdgeIt &next(EachEdgeIt &) const {} |
60 EachEdgeIt &next(EachEdgeIt &) const {} |
33 |
61 |
34 NodeIt head(EdgeIt) const {} |
62 NodeIt head(EdgeIt) const {} |
35 NodeIt tail(EdgeIt) const {} |
63 NodeIt tail(EdgeIt) const {} |
36 |
64 |
37 NodeIt aNode(InEdgeIt) const {} |
65 // NodeIt aNode(InEdgeIt) const {} |
38 NodeIt aNode(OutEdgeIt) const {} |
66 // NodeIt aNode(OutEdgeIt) const {} |
39 NodeIt aNode(SymEdgeIt) const {} |
67 // NodeIt aNode(SymEdgeIt) const {} |
40 |
68 |
41 NodeIt bNode(InEdgeIt) const {} |
69 // NodeIt bNode(InEdgeIt) const {} |
42 NodeIt bNode(OutEdgeIt) const {} |
70 // NodeIt bNode(OutEdgeIt) const {} |
43 NodeIt bNode(SymEdgeIt) const {} |
71 // NodeIt bNode(SymEdgeIt) const {} |
44 |
72 |
45 //bool valid(const NodeIt) const {}; |
73 bool valid(const NodeIt) const {}; |
46 //bool valid(const EdgeIt) const {}; |
74 bool valid(const EdgeIt) const {}; |
|
75 |
|
76 int id(const NodeIt) const {}; |
|
77 int id(const EdgeIt) const {}; |
47 |
78 |
48 //void setInvalid(NodeIt &) const {}; |
79 //void setInvalid(NodeIt &) const {}; |
49 //void setInvalid(EdgeIt &) const {}; |
80 //void setInvalid(EdgeIt &) const {}; |
50 |
81 |
51 NodeIt addNode() {} |
82 NodeIt addNode() {} |
54 void erase(NodeIt n) {} |
85 void erase(NodeIt n) {} |
55 void erase(EdgeIt e) {} |
86 void erase(EdgeIt e) {} |
56 |
87 |
57 void clear() {} |
88 void clear() {} |
58 |
89 |
|
90 int nodeNum() {} |
|
91 int edgeNum() {} |
|
92 |
59 template<class T> class NodeMap |
93 template<class T> class NodeMap |
60 { |
94 { |
61 public: |
95 public: |
62 typedef T ValueType; |
96 typedef T ValueType; |
63 typedef NodeIt KeyType; |
97 typedef NodeIt KeyType; |
64 void set(NodeIt i, T t) {} |
98 |
65 T get(NodeIt i) const {} |
|
66 T &operator[](NodeIt i) {} |
|
67 |
|
68 NodeMap(const Graph &G) {} |
99 NodeMap(const Graph &G) {} |
69 NodeMap(const Graph &G, T t) {} |
100 NodeMap(const Graph &G, T t) {} |
|
101 |
|
102 void set(NodeIt i, T t) {} |
|
103 T get(NodeIt i) const {} //FIXME: Is it necessary |
|
104 T &operator[](NodeIt i) {} |
|
105 const T &operator[](NodeIt i) const {} |
|
106 |
|
107 update() {} |
|
108 update(T a) {} //FIXME: Is it necessary |
70 }; |
109 }; |
71 |
110 |
72 template<class T> class EdgeMap |
111 template<class T> class EdgeMap |
73 { |
112 { |
74 public: |
113 public: |
75 typedef T ValueType; |
114 typedef T ValueType; |
76 typedef EdgeIt KeyType; |
115 typedef EdgeIt KeyType; |
|
116 |
|
117 EdgeMap(const Graph &G) {} |
|
118 EdgeMap(const Graph &G, T t) {} |
|
119 |
77 void set(EdgeIt i, T t) {} |
120 void set(EdgeIt i, T t) {} |
78 T get(EdgeIt i) const {} |
121 T get(EdgeIt i) const {} |
79 T &operator[](EdgeIt i) {} |
122 T &operator[](EdgeIt i) {} |
80 |
123 |
81 EdgeMap(const Graph &G) {} |
124 update() {} |
82 EdgeMap(const Graph &G, T t) {} |
125 update(T a) {} //FIXME: Is it necessary |
83 }; |
126 }; |
84 }; |
127 }; |
85 |
128 |
86 class EmptyBipGraph : public EmptyGraph |
|
87 { |
|
88 class ANodeIt {}; |
|
89 class BNodeIt {}; |
|
90 |
129 |
91 ANodeIt &next(ANodeIt &) {} |
130 // class EmptyBipGraph : public EmptyGraph |
92 BNodeIt &next(BNodeIt &) {} |
131 // { |
|
132 // class ANodeIt {}; |
|
133 // class BNodeIt {}; |
93 |
134 |
94 ANodeIt &getFirst(ANodeIt &) const {} |
135 // ANodeIt &next(ANodeIt &) {} |
95 BNodeIt &getFirst(BNodeIt &) const {} |
136 // BNodeIt &next(BNodeIt &) {} |
96 |
137 |
97 enum NodeClass { A = 0, B = 1 }; |
138 // ANodeIt &getFirst(ANodeIt &) const {} |
98 NodeClass getClass(NodeIt n) {} |
139 // BNodeIt &getFirst(BNodeIt &) const {} |
99 |
140 |
100 } |
141 // enum NodeClass { A = 0, B = 1 }; |
|
142 // NodeClass getClass(NodeIt n) {} |
|
143 |
|
144 // } |