0029302: Foundation Classes, NCollection - optimize iteration of indexed maps
authorkgv <kgv@opencascade.com>
Wed, 8 Nov 2017 12:25:51 +0000 (15:25 +0300)
committerbugmaster <bugmaster@opencascade.com>
Thu, 9 Nov 2017 15:08:18 +0000 (18:08 +0300)
commit510cb8524159a23a32a33be81d49f55a40526a5e
tree7b7b2ef9d69d443e3dd688d34f2552a5a4c557bd
parentf88457e638094d194da87d104ef1743d77bd5cfe
0029302: Foundation Classes, NCollection - optimize iteration of indexed maps

NCollection_IndexedMap and NCollection_IndexedDataMap
now access Key by Index number without computing Hash code.
IndexedMapNode::myNext2 and IndexedDataMapNode::myNext2 fields
have been removed, so that indexed map now may utilize less memory.

TCollection::NextPrimeForMap() has been extended upto 2038431745
(almost full signed 32-bit integer range),
and NCollection_BaseMap::mySaturated property has been removed.

NCollection_IndexedDataMap::RemoveFromIndex(), FindKey(), FindFromIndex(),
ChangeFromIndex() - removed duplicating checks for out of range input.
src/NCollection/NCollection_BaseMap.cxx
src/NCollection/NCollection_BaseMap.hxx
src/NCollection/NCollection_IndexedDataMap.hxx
src/NCollection/NCollection_IndexedMap.hxx
src/TCollection/TCollection.cxx