0024042: Performance improvements: Foundation Classes
[occt.git] / src / TCollection / TCollection.cdl
CommitLineData
b311480e 1-- Created on: 1992-10-13
2-- Created by: Ramin BARRETO
3-- Copyright (c) 1992-1999 Matra Datavision
4-- Copyright (c) 1999-2012 OPEN CASCADE SAS
5--
6-- The content of this file is subject to the Open CASCADE Technology Public
7-- License Version 6.5 (the "License"). You may not use the content of this file
8-- except in compliance with the License. Please obtain a copy of the License
9-- at http://www.opencascade.org and read it completely before using this file.
10--
11-- The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
12-- main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
13--
14-- The Original Code and all software distributed under the License is
15-- distributed on an "AS IS" basis, without warranty of any kind, and the
16-- Initial Developer hereby disclaims all such warranties, including without
17-- limitation, any warranties of merchantability, fitness for a particular
18-- purpose or non-infringement. Please see the License for the specific terms
19-- and conditions governing the rights and limitations under the License.
20
7fd59977 21-- Updated J.P. TIRAULT, M. MERCIEN Nov,25 1992
22-- Adding classes
23-- - Array1Descriptor
24-- - Array2Descriptor
25-- - Array1
26-- - Array2
27-- Updated R.LEQUETTE Jan 1993
28-- Adding of modifying classes
29-- - Sequence, HSequence
30-- - Set, HSet
31-- - List, SList
32-- - Stack, Queue
33-- - BasicMap, BasicMapIterator
34-- - Map, DataMap, DoubleMap, IndexedMap, IndexedDataMap
7fd59977 35
36package TCollection
37
38 ---Purpose: The package <TCollection> provides the services for the
39 -- transient basic data structures.
40
41uses
42 Standard,
43 MMgt
44is
45 class AsciiString;
46
47 class ExtendedString;
48
49 class HAsciiString;
50
51 class HExtendedString;
52
53 deferred class Array1Descriptor;
54
55 generic class Array1;
56
57 generic class HArray1;
58
59 deferred class Array2Descriptor;
60
61 generic class Array2;
62
63 generic class HArray2;
64
65 generic class Stack, StackNode, StackIterator;
66 ---Purpose: A stack handled by value.
67
68 generic class Queue, QueueNode;
69 ---Purpose: A queue handled by value.
70
71 generic class List, ListNode, ListIterator;
72 ---Purpose: A single list handled by value.
73
74 generic class SList,SListNode;
75 ---Purpose: A LISP like sharable list.
76
77 class BaseSequence;
78 class SeqNode;
79 pointer SeqNodePtr to SeqNode from TCollection;
80 generic class Sequence,SequenceNode;
81 ---Purpose: An indexed double list handled by value.
82
83 generic class HSequence;
84 ---Purpose: An indexed double list handle by reference.
85
86 generic class Set, SetIterator, SetList;
87 ---Purpose: A small set handled by value.
88
89 generic class HSet;
90 ---Purpose: A small set handled by reference.
91
92 generic class MapHasher;
93 ---Purpose: A Tool to instantiate Maps. Providing HashCode and
94 -- Comparisons on Keys.
95
96 private deferred class BasicMap;
97 private class MapNode;
98 pointer MapNodePtr to MapNode from TCollection;
99 ---Purpose: Basic class root of all the Maps.
100
101 private deferred class BasicMapIterator;
102 ---Purpose: Basic class root of all the Iterators on Maps.
103
104 generic class Map, MapIterator,StdMapNode;
105 ---Purpose: A Hashed map to store keys.
106
107 generic class DataMap, DataMapIterator,DataMapNode;
108 ---Purpose: A Map where data can be stored with the keys.
109
110 generic class DoubleMap, DoubleMapIterator, DoubleMapNode;
111 ---Purpose: A Map to store pair of keys.
112
113 generic class IndexedMap,IndexedMapNode;
114 ---Purpose: A Map where the keys are indexed.
115
116 generic class IndexedDataMap,IndexedDataMapNode;
117 ---Purpose: An Indexed Map where data can be stored with the keys.
118
119 enumeration Side is Left , Right;
120
121 deferred generic class Compare ;
122 ---Purpose: Defines a comparison operator which can be used by
123 -- any ordered structure. The way to compare items
124 -- has to be described in subclasses, which herit
125 -- from instantiations of Compare.
126
127 private deferred class PrivCompareOfInteger
128 instantiates Compare from TCollection(Integer from Standard);
129
130 private deferred class PrivCompareOfReal
131 instantiates Compare from TCollection(Real from Standard);
132
133 class CompareOfInteger;
134
135 class CompareOfReal;
136
137 class AVLBaseNode;
138 pointer AVLBaseNodePtr to AVLBaseNode from TCollection;
139 generic class AVLSearchTree,AVLNode,AVLList,AVLIterator;
140
141
142 NextPrimeForMap(I : Integer) returns Integer;
143 ---Purpose: Returns a prime number greater than <I> suitable
144 -- to dimension a Map. When <I> becomes great there
145 -- is a limit on the result (today the limit is
146 -- around 1 000 000). This is not a limit of the number of
147 -- items but a limit in the number of buckets. i.e.
148 -- there will be more collisions in the map.
149
150end TCollection;
151
152
153
154
155
156