blob: 803b7c17e22a89b24eff655c44cfd1cbd802b9d4 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
|
-- File: ConnectedVerticesFromIterator.cdl
-- Created: Fri Oct 16 15:35:36 1992
-- Author: Arnaud BOUZY
-- <adn@bravox>
---Copyright: Matra Datavision 1992
generic class ConnectedVerticesFromIterator from GraphTools
(Graph as any;
Vertex as any;
VIterator as any)
---Purpose: In a graph, returns subsets of a list of vertices in
-- which all vertices are connected.
uses HArray1OfInteger from TColStd
class CVMap instantiates IndexedMap from TCollection
(Vertex,
MapTransientHasher from TColStd);
class ConnectMap instantiates DataMap from TCollection
(Vertex,
Integer from Standard,
MapTransientHasher from TColStd);
is
Create
---Purpose: Create an empty algorithm.
returns ConnectedVerticesFromIterator;
FromVertex (me : in out; V : Vertex);
---Purpose: Add <V> as initial condition. This method is
-- cumulative. Use Perform method before visting the
-- result of the algorithm.
---Level: Public
Reset (me : in out);
---Purpose: Reset the algorithm. It may be reused with new
-- conditions.
---Level: Public
Perform (me : in out; G : Graph);
---Purpose: Peform the algorithm in <G> from initial setted
-- conditions.
---Level: Public
More(me)
---Purpose: Returns TRUE if there are others subset of
-- connected vertices.
---Level: Public
returns Boolean from Standard;
Next (me : in out);
---Purpose: Set the iterator to the next subset of connected
-- vertices.
---Level: Public
NbVertices (me)
returns Integer from Standard;
---Purpose: Returns number of vertices of the current subset
-- of connected vertices.
---Level: Public
Value (me; index : Integer from Standard)
returns any Vertex;
---Purpose: Returns a vertex member of the current subset of
-- connected vertices.
---Level: Public
---C++: return const&
Visit (me : in out; V : Vertex;
G : Graph;
visited : in out ConnectMap from GraphTools)
---Purpose: Recursively called to visit the vertices connected to
-- <avert> in <agraph>, with already visited vertices
-- <visited>.
---Level: Internal
is private;
fields
initMap : CVMap from GraphTools;
tab : HArray1OfInteger from TColStd;
myCurrent : Integer from Standard;
end ConnectedVerticesFromIterator;
|