1 -- Created on: 1992-10-13
2 -- Created by: Ramin BARRETO
3 -- Copyright (c) 1992-1999 Matra Datavision
4 -- Copyright (c) 1999-2014 OPEN CASCADE SAS
6 -- This file is part of Open CASCADE Technology software library.
8 -- This library is free software; you can redistribute it and/or modify it under
9 -- the terms of the GNU Lesser General Public License version 2.1 as published
10 -- by the Free Software Foundation, with special exception defined in the file
11 -- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
12 -- distribution for complete text of the license and disclaimer of any warranty.
14 -- Alternatively, this file may be used under the terms of Open CASCADE
15 -- commercial license or contractual agreement.
17 -- Updated J.P. TIRAULT, M. MERCIEN Nov,25 1992
21 -- Updated R.LEQUETTE Jan 1993
22 -- Adding of modifying classes
23 -- - Sequence, HSequence
26 -- - BasicMap, BasicMapIterator
27 -- - Map, DataMap, DoubleMap, IndexedMap, IndexedDataMap
31 ---Purpose: The package <TCollection> provides the services for the
32 -- transient basic data structures.
44 class HExtendedString;
48 generic class HArray1;
52 generic class HArray2;
54 generic class List, ListNode, ListIterator;
55 ---Purpose: A single list handled by value.
59 pointer SeqNodePtr to SeqNode from TCollection;
60 generic class Sequence,SequenceNode;
61 ---Purpose: An indexed double list handled by value.
63 generic class HSequence;
64 ---Purpose: An indexed double list handle by reference.
66 generic class Set, SetIterator, SetList;
67 ---Purpose: A small set handled by value.
70 ---Purpose: A small set handled by reference.
72 generic class MapHasher;
73 ---Purpose: A Tool to instantiate Maps. Providing HashCode and
74 -- Comparisons on Keys.
76 private deferred class BasicMap;
77 private class MapNode;
78 pointer MapNodePtr to MapNode from TCollection;
79 ---Purpose: Basic class root of all the Maps.
81 private deferred class BasicMapIterator;
82 ---Purpose: Basic class root of all the Iterators on Maps.
84 generic class Map, MapIterator,StdMapNode;
85 ---Purpose: A Hashed map to store keys.
87 generic class DataMap, DataMapIterator,DataMapNode;
88 ---Purpose: A Map where data can be stored with the keys.
90 generic class DoubleMap, DoubleMapIterator, DoubleMapNode;
91 ---Purpose: A Map to store pair of keys.
93 generic class IndexedMap,IndexedMapNode;
94 ---Purpose: A Map where the keys are indexed.
96 generic class IndexedDataMap,IndexedDataMapNode;
97 ---Purpose: An Indexed Map where data can be stored with the keys.
99 enumeration Side is Left , Right;
101 deferred generic class Compare ;
102 ---Purpose: Defines a comparison operator which can be used by
103 -- any ordered structure. The way to compare items
104 -- has to be described in subclasses, which herit
105 -- from instantiations of Compare.
107 private deferred class PrivCompareOfInteger
108 instantiates Compare from TCollection(Integer from Standard);
110 private deferred class PrivCompareOfReal
111 instantiates Compare from TCollection(Real from Standard);
113 class CompareOfInteger;
118 NextPrimeForMap(I : Integer) returns Integer;
119 ---Purpose: Returns a prime number greater than <I> suitable
120 -- to dimension a Map. When <I> becomes great there
121 -- is a limit on the result (today the limit is
122 -- around 1 000 000). This is not a limit of the number of
123 -- items but a limit in the number of buckets. i.e.
124 -- there will be more collisions in the map.