0023912: TDataStd_ExtStringArray::Value() returns a copy of TCollection_ExtendedStrin...
[occt.git] / src / TDataStd / TDataStd_ExtStringArray.cdl
1 -- Created on: 2002-01-16
2 -- Created by: Michael PONIKAROV
3 -- Copyright (c) 2002-2012 OPEN CASCADE SAS
4 --
5 -- The content of this file is subject to the Open CASCADE Technology Public
6 -- License Version 6.5 (the "License"). You may not use the content of this file
7 -- except in compliance with the License. Please obtain a copy of the License
8 -- at http://www.opencascade.org and read it completely before using this file.
9 --
10 -- The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
11 -- main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
12 --
13 -- The Original Code and all software distributed under the License is
14 -- distributed on an "AS IS" basis, without warranty of any kind, and the
15 -- Initial Developer hereby disclaims all such warranties, including without
16 -- limitation, any warranties of merchantability, fitness for a particular
17 -- purpose or non-infringement. Please see the License for the specific terms
18 -- and conditions governing the rights and limitations under the License.
19
20
21 class ExtStringArray from TDataStd inherits Attribute from TDF
22
23         ---Purpose: ExtStringArray Attribute. Handles an
24         -- array of UNICODE strings (represented by the
25         -- TCollection_ExtendedString class).
26
27 uses GUID                     from Standard,
28      ExtendedString           from TCollection,
29      HArray1OfExtendedString  from TColStd, 
30      Attribute                from TDF,     
31      Label                    from TDF, 
32      DeltaOnModification      from TDF,     
33      RelocationTable          from TDF
34
35 is 
36
37     ---Purpose: class methods
38     --          =============
39
40     GetID (myclass)   
41     ---C++: return const &  
42     ---Purpose: Returns the GUID for the attribute.  
43     returns GUID from Standard;
44
45     Set (myclass; label : Label from TDF; lower, upper : Integer from Standard; 
46                   isDelta : Boolean from Standard = Standard_False)
47     ---Purpose: Finds, or creates, an ExtStringArray attribute with <lower> 
48     --          and <upper> bounds.  The ExtStringArray  attribute is returned. 
49     --          If <isDelta> == False, DefaultDeltaOnModification is used.     
50     --          If attribute is already set, all input parameters are refused 
51     --          and the found attribute is returned.
52     returns ExtStringArray from TDataStd;
53
54     
55     ---Category: ExtStringArray methods
56     --          ===============
57
58     Init(me : mutable; lower, upper : Integer from Standard);
59     ---Purpose: Initializes the inner array with bounds from <lower> to <upper>
60
61     SetValue (me : mutable; Index : Integer from Standard; Value : ExtendedString from TCollection);
62     ---Purpose: Sets  the   <Index>th  element  of   the  array to <Value>
63
64     Value (me; Index : Integer from Standard)
65     ---Purpose: Returns the value of  the  <Index>th element of the array
66     --
67     ---C++: return const &
68     ---C++: alias operator ()
69     returns ExtendedString from TCollection;
70
71     Lower (me) returns Integer from Standard;
72     ---Purpose:  Return the lower bound.
73
74     Upper (me) returns Integer from Standard;
75     ---Purpose: Return the upper bound
76     
77     Length (me) returns Integer from Standard;
78     ---Purpose: Return the number of elements of <me>.
79    
80     ChangeArray(me : mutable; newArray : HArray1OfExtendedString from TColStd; 
81                               isCheckItems : Boolean = Standard_True);      
82     ---Purpose: Sets the inner array <myValue> of the ExtStringArray attribute to <newArray>. 
83     -- If value of <newArray> differs from <myValue>, Backup performed and myValue 
84     -- refers to new instance of HArray1OfExtendedString that holds <newArray> values
85     -- If <isCheckItems> equal True each item of <newArray> will be checked with each 
86     -- item of <myValue> for coincidence (to avoid backup). 
87     
88     Array(me) returns HArray1OfExtendedString from TColStd;
89     ---Purpose: Return the inner array of the ExtStringArray attribute    
90     ---C++: inline 
91     ---C++: return const     
92     
93     GetDelta(me) returns Boolean from Standard;  
94     ---C++: inline  
95     
96     SetDelta(me : mutable; isDelta : Boolean from Standard);     
97     ---C++: inline  
98     ---Purpose: for  internal  use  only!   
99      
100     RemoveArray(me  : mutable) is private;      
101     ---C++: inline 
102          
103     ---Category: methodes of TDF_Attribute
104     --           =========================
105
106     Create returns mutable ExtStringArray from TDataStd; 
107     
108     ID (me)
109         ---C++: return const & 
110     returns GUID from Standard;
111
112     Restore (me: mutable; With : Attribute from TDF);
113
114     NewEmpty (me)
115     returns mutable Attribute from TDF;
116
117     Paste (me; Into : mutable Attribute from TDF;
118                RT   : mutable RelocationTable from TDF);    
119
120     Dump(me; anOS : in out OStream from Standard)
121         returns OStream from Standard
122         is redefined;
123         ---C++: return &
124
125     ---Category: methods to be added for using in DeltaOn Modification  
126     --           =====================================================
127     DeltaOnModification(me; anOldAttribute : Attribute from TDF)
128         returns DeltaOnModification from TDF
129         ---Purpose : Makes a DeltaOnModification between <me> and
130         --         <anOldAttribute>.  
131         is redefined virtual;  
132         
133 fields
134
135     myValue : HArray1OfExtendedString from TColStd;
136     myIsDelta : Boolean from Standard;   
137      
138 friends   
139     class DeltaOnModificationOfExtStringArray from TDataStd     
140     
141 end ExtStringArray;