0022941: Memory leak in StepData_StepReaderData.cxx line 1826
[occt.git] / src / StepData / StepData_Plex.cdl
1 -- File:        StepData_Plex.cdl
2 -- Created:     Fri May  9 16:35:59 1997
3 -- Author:      Christian CAILLET
4 --              <cky@heliox.paris1.matra-dtv.fr>
5 ---Copyright:    Matra Datavision 1997
6
7
8 class Plex  from StepData    inherits Described  from StepData
9
10     ---Purpose : A Plex (for Complex) Entity is defined as a list of Simple
11     --           Members ("external mapping")
12     --           The types of these members must be in alphabetic order
13
14 uses CString,
15      SequenceOfTransient from TColStd,
16      HSequenceOfAsciiString from TColStd,
17      Check from Interface,  EntityIterator from Interface,
18      ECDescr from StepData, Simple from StepData, Field from StepData
19
20 raises InterfaceMismatch
21
22 is
23
24     Create (descr : ECDescr) returns mutable Plex;
25     ---Purpose : Creates a Plex (empty). The complete creation is made by the
26     --           ECDescr itself, by calling Add
27
28     Add (me : mutable; member : Simple);
29     ---Purpose : Adds a member to <me>
30
31     ECDescr (me) returns ECDescr;
32     ---Purpose : Returns the Description as for a Plex
33
34         --  inherited
35
36     IsComplex (me) returns Boolean;
37     ---Purpose : Returns False
38
39
40     Matches (me; steptype : CString) returns Boolean;
41     ---Purpose : Tells if a step type is matched by <me>
42     --           For a Simple Entity : own type or super type
43     --           For a Complex Entity : one of the members
44
45     As (me; steptype : CString) returns mutable Simple;
46     ---Purpose : Returns a Simple Entity which matches with a Type in <me> :
47     --           For a Simple Entity : me if it matches, else a null handle
48     --           For a Complex Entity : the member which matches, else null
49
50     HasField (me; name : CString) returns Boolean;
51     ---Purpose : Tells if a Field brings a given name
52
53     Field (me; name : CString) returns Field
54     ---Purpose : Returns a Field from its name; read-only
55         raises InterfaceMismatch;
56     --           raises if no Field for <name>
57     ---C++ : return const &
58
59     CField (me : mutable; name : CString) returns Field
60     ---Purpose : Returns a Field from its name; read or write
61         raises InterfaceMismatch;
62     --           raises if no Field for <name>
63     ---C++ : return &
64
65         -- more specific
66
67     NbMembers (me) returns Integer;
68     ---Purpose : Returns the count of simple members
69
70     Member (me; num : Integer) returns Simple;
71     ---Purpose : Returns a simple member from its rank
72
73     TypeList (me) returns HSequenceOfAsciiString;
74     ---Purpose : Returns the actual list of members types
75
76         --
77
78     Check  (me; ach  : in out Check from Interface);
79     ---Purpose : Fills a Check by using its Description
80
81     Shared (me; list : in out EntityIterator from Interface);
82     ---Purpose : Fills an EntityIterator with entities shared by <me>
83
84 fields
85
86     themembers : SequenceOfTransient;
87
88 end Plex;