blob: b395afb3133429f70e9ce45a6ac1d477577dde18 (
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
|
-- File: DBC_VArray.cdl
-- Created: Mon Jan 30 10:15:00 1996
-- Author: Kernel
-- <kernel@ylliox>
---Copyright: Matra Datavision 1996
generic class VArray from DBC (Item as Storable) inherits BaseArray from DBC
---Purpose: The class VArray represents a unidimensional
-- array of fixed size known at execution time.
-- The range of the element is user defined and varies
-- from 0 to N - 1.
-- Warning: Programs client of such a class must be independant
-- of the range of the last element. Thus, a C++ "for"
-- loop must be written like this
--
-- for (i = 0; i < A.Size(); i++)
-- Implement for ObjectStore and Objectivity
-- with the same functionnality
-- Purpose: New development for OBJY 3.5
uses
BaseArray from DBC
raises NegativeValue, OutOfRange , DimensionMismatch, NullObject
class VArrayNode from DBC
inherits ArrayNode from PStandard
is
Create returns mutable VArrayNode from DBC;
Create(aValue : Item) returns mutable VArrayNode from DBC;
SetValue(me : mutable; aValue : Item);
Value(me) returns Address from Standard;
fields
myValue : Item;
end;
---Purpose: for DFLT profile, we dont need persistent nodes
class VArrayTNode from DBC
is
Create returns VArrayTNode from DBC;
---C++: inline
Create(aValue : Item) returns VArrayTNode from DBC;
---C++: inline
SetValue(me : out; aValue : Item);
---C++: inline
Value(me) returns Address from Standard;
---C++: inline
fields
myValue : Item;
end;
is
Create returns VArray;
---Puspose: Creates an array of null size
-- Raise NullOject if there is no
-- default database
Create (Size: Integer) returns VArray
---Purpose: Creates an array of lower bound 0 and
-- upper bound <Size>-1 . NegativeValue is raised
-- when <Size> is less than 0.
raises NegativeValue;
Create (Varray: VArray) returns VArray;
---Purpose: Creates an array which is the copy of the given
-- argument.
Resize (me : in out; Size: Integer)
raises NegativeValue;
---Purpose: Change the size of an array with lower
-- bound 0 and upper bound <Size>-1 . NegativeValue
-- is raised when <Size> is less than 0.
Assign (me: in out; Other: VArray from DBC)
---Purpose: copy the contents of <Other> into <me>.
-- <Other> and <me> must have the same dimension.
---C++: alias operator =
raises DimensionMismatch from Standard
is static;
SetValue (me : in out; Index: Integer; Value: Item)
---Purpose: Sets the <Index>th element of the array
-- to <Value>.
raises OutOfRange
is static ;
Value (me; Index: Integer) returns Item
---Purpose: Returns the value of the <Index>th element
-- of the array.
---C++: alias operator ()
---C++: return &
raises OutOfRange
is static;
Destroy(me : in out);
---C++: alias ~
end VArray ;
|