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
27 -- - BasicMap, BasicMapIterator
28 -- - Map, DataMap, DoubleMap, IndexedMap, IndexedDataMap
32 ---Purpose: The package <TCollection> provides the services for the
33 -- transient basic data structures.
45 class HExtendedString;
49 generic class HArray1;
53 generic class HArray2;
55 generic class Stack, StackNode, StackIterator;
56 ---Purpose: A stack handled by value.
58 generic class List, ListNode, ListIterator;
59 ---Purpose: A single list handled by value.
63 pointer SeqNodePtr to SeqNode from TCollection;
64 generic class Sequence,SequenceNode;
65 ---Purpose: An indexed double list handled by value.
67 generic class HSequence;
68 ---Purpose: An indexed double list handle by reference.
70 generic class Set, SetIterator, SetList;
71 ---Purpose: A small set handled by value.
74 ---Purpose: A small set handled by reference.
76 generic class MapHasher;
77 ---Purpose: A Tool to instantiate Maps. Providing HashCode and
78 -- Comparisons on Keys.
80 private deferred class BasicMap;
81 private class MapNode;
82 pointer MapNodePtr to MapNode from TCollection;
83 ---Purpose: Basic class root of all the Maps.
85 private deferred class BasicMapIterator;
86 ---Purpose: Basic class root of all the Iterators on Maps.
88 generic class Map, MapIterator,StdMapNode;
89 ---Purpose: A Hashed map to store keys.
91 generic class DataMap, DataMapIterator,DataMapNode;
92 ---Purpose: A Map where data can be stored with the keys.
94 generic class DoubleMap, DoubleMapIterator, DoubleMapNode;
95 ---Purpose: A Map to store pair of keys.
97 generic class IndexedMap,IndexedMapNode;
98 ---Purpose: A Map where the keys are indexed.
100 generic class IndexedDataMap,IndexedDataMapNode;
101 ---Purpose: An Indexed Map where data can be stored with the keys.
103 enumeration Side is Left , Right;
105 deferred generic class Compare ;
106 ---Purpose: Defines a comparison operator which can be used by
107 -- any ordered structure. The way to compare items
108 -- has to be described in subclasses, which herit
109 -- from instantiations of Compare.
111 private deferred class PrivCompareOfInteger
112 instantiates Compare from TCollection(Integer from Standard);
114 private deferred class PrivCompareOfReal
115 instantiates Compare from TCollection(Real from Standard);
117 class CompareOfInteger;
122 NextPrimeForMap(I : Integer) returns Integer;
123 ---Purpose: Returns a prime number greater than <I> suitable
124 -- to dimension a Map. When <I> becomes great there
125 -- is a limit on the result (today the limit is
126 -- around 1 000 000). This is not a limit of the number of
127 -- items but a limit in the number of buckets. i.e.
128 -- there will be more collisions in the map.