blob: 8cb7216cb02230779f82203d18a076364f8df95d (
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
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
|
-- File: TCollection_Sequence.cdl
-- Created: Fri Sep 11 17:34:39 1992
-- Author: Mireille MERCIEN
-- <mip@sdsun3>
---Copyright: Matra Datavision 1992
class BaseSequence from TCollection
---Purpose: Definition of a base class for all instanciations
-- of sequence.
--
-- The methods : Clear, Remove accepts a pointer to a
-- function to use to delete the nodes. This allow
-- proper call of the destructor on the Items.
-- Without adding a virtual function pointer to each
-- node or each sequence.
raises
NoSuchObject from Standard,
OutOfRange from Standard
is
Create returns BaseSequence is protected;
---Purpose: Creation of an empty sequence.
Create(Other : BaseSequence) returns BaseSequence from TCollection
---Purpose: Creation by copy of existing Sequence.
-- Warning: This constructor prints a warning message.
-- We recommand to use the operator =.
is private;
IsEmpty(me) returns Boolean;
---Level: Public
---Purpose: returns True if the sequence <me> contains no elements.
---C++: inline
Length(me) returns Integer from Standard;
---Level: Public
---Purpose: Returns the number of element(s) in the
-- sequence. Returns zero if the sequence is empty.
---C++: inline
Clear(me : in out; DelNode : Address) is protected;
---Level: Private
PAppend(me : in out; Node : Address)
is protected;
PAppend(me : in out; S : in out BaseSequence)
---Level: Public
---Purpose: Concatenates <S> at the end of <me>.
-- <S> is cleared.
-- Example:
-- before
-- me = (A B C)
-- S = (D E F)
-- after
-- me = (A B C D E F)
-- S = ()
is protected;
PPrepend(me : in out; Node : Address)
is protected;
PPrepend(me : in out; S : in out BaseSequence)
---Level: Public
---Purpose: Concatenates <S> at the beginning of <me>.
-- <S> is cleared.
-- Example:
-- before
-- me = (A B C) S = (D E F)
-- after me = (D E F A B C)
-- S = ()
is protected;
Reverse(me : in out);
---Level: Public
---Purpose: Reverses the order of items on <me>.
-- Example:
-- before
-- me = (A B C)
-- after
-- me = (C B A)
PInsertAfter(me : in out; Index : Integer from Standard; Node : Address )
raises OutOfRange from Standard
is protected;
PInsertAfter(me : in out; Index : Integer from Standard; S : in out BaseSequence)
raises OutOfRange from Standard
---Level: Public
---Purpose: Inserts the sequence <S> in <me> after the
-- position <Index>. <S> is cleared.
-- Raises an exception if the index is out of bound.
-- Example:
-- before
-- me = (A B C), Index = 3, S = (D E F)
-- after
-- me = (A B C D E F)
-- S = ()
is protected;
Exchange(me : in out; I, J : Integer from Standard)
raises OutOfRange from Standard;
---Level: Public
---Purpose: Swaps elements which are located at
-- positions <I> and <J> in <me>.
-- Raises an exception if I or J is out of bound.
-- Example:
-- before
-- me = (A B C), I = 1, J = 3
-- after
-- me = (C B A)
PSplit(me : in out; Index : Integer from Standard; Sub : in out BaseSequence)
raises OutOfRange from Standard
---Level: Public
---Purpose: Keeps in <me> the items 1 to <Index>-1 and
-- puts in <Sub> the items <Index> to the end.
-- Example:
-- before
-- me = (A B C D) ,Index = 3
-- after
-- me = (A B)
-- Sub = (C D)
is protected;
Remove(me : in out; Index : Integer from Standard; DelNode : Address)
raises OutOfRange from Standard
is protected;
Remove(me : in out; FromIndex, ToIndex : Integer from Standard; DelNode : Address)
raises OutOfRange from Standard
is protected;
Find(me; Index : Integer from Standard) returns Address from Standard
---Level: Internal
---Purpose: Returns the node at position <index>.
is protected;
Nullify(me : in out ) is private;
---Level: Internal
---Purpose: Clear all fields.
--
fields
FirstItem : Address from Standard is protected;
LastItem : Address from Standard is protected;
CurrentItem : Address from Standard is protected;
CurrentIndex : Integer from Standard is protected;
Size : Integer from Standard is protected;
end;
|