Open CASCADE Technology 7.8.2.dev
|
#include <NCollection_IndexedMap.hxx>
Data Structures | |
class | IndexedMapNode |
Adaptation of the TListNode to the INDEXEDmap. More... | |
class | Iterator |
Public Types | |
typedef TheKeyType | key_type |
STL-compliant typedef for key type. | |
typedef NCollection_StlIterator< std::forward_iterator_tag, Iterator, TheKeyType, true > | const_iterator |
Shorthand for a constant iterator type. | |
Public Member Functions | |
const_iterator | cbegin () const |
Returns a const iterator pointing to the first element in the map. | |
const_iterator | cend () const |
Returns a const iterator referring to the past-the-end element in the map. | |
NCollection_IndexedMap () | |
Empty constructor. | |
NCollection_IndexedMap (const Standard_Integer theNbBuckets, const Handle< NCollection_BaseAllocator > &theAllocator=0L) | |
Constructor. | |
NCollection_IndexedMap (const NCollection_IndexedMap &theOther) | |
Copy constructor. | |
NCollection_IndexedMap (NCollection_IndexedMap &&theOther) noexcept | |
Move constructor. | |
void | Exchange (NCollection_IndexedMap &theOther) |
Exchange the content of two maps without re-allocations. Notice that allocators will be swapped as well! | |
NCollection_IndexedMap & | Assign (const NCollection_IndexedMap &theOther) |
Assign. This method does not change the internal allocator. | |
NCollection_IndexedMap & | operator= (const NCollection_IndexedMap &theOther) |
Assignment operator. | |
NCollection_IndexedMap & | operator= (NCollection_IndexedMap &&theOther) noexcept |
Move operator. | |
void | ReSize (const Standard_Integer theExtent) |
ReSize. | |
Standard_Integer | Add (const TheKeyType &theKey1) |
Add. | |
Standard_Integer | Add (TheKeyType &&theKey1) |
Add. | |
Standard_Boolean | Contains (const TheKeyType &theKey1) const |
Contains. | |
void | Substitute (const Standard_Integer theIndex, const TheKeyType &theKey1) |
Substitute. | |
void | Swap (const Standard_Integer theIndex1, const Standard_Integer theIndex2) |
Swaps two elements with the given indices. | |
void | RemoveLast (void) |
RemoveLast. | |
void | RemoveFromIndex (const Standard_Integer theIndex) |
Remove the key of the given index. Caution! The index of the last key can be changed. | |
Standard_Boolean | RemoveKey (const TheKeyType &theKey1) |
Remove the given key. Caution! The index of the last key can be changed. | |
const TheKeyType & | FindKey (const Standard_Integer theIndex) const |
FindKey. | |
const TheKeyType & | operator() (const Standard_Integer theIndex) const |
operator () | |
Standard_Integer | FindIndex (const TheKeyType &theKey1) const |
FindIndex. | |
void | Clear (const Standard_Boolean doReleaseMemory=Standard_False) |
Clear data. If doReleaseMemory is false then the table of buckets is not released and will be reused. | |
void | Clear (const Handle< NCollection_BaseAllocator > &theAllocator) |
Clear data and reset allocator. | |
virtual | ~NCollection_IndexedMap (void) |
Destructor. | |
Standard_Integer | Size (void) const |
Size. | |
Public Member Functions inherited from NCollection_BaseMap | |
Standard_Integer | NbBuckets () const |
NbBuckets. | |
Standard_Integer | Extent () const |
Extent. | |
Standard_Boolean | IsEmpty () const |
IsEmpty. | |
void | Statistics (Standard_OStream &S) const |
Statistics. | |
const Handle< NCollection_BaseAllocator > & | Allocator () const |
Returns attached allocator. | |
Protected Member Functions | |
Standard_Boolean | lookup (const TheKeyType &theKey, IndexedMapNode *&theNode, size_t &theHash) const |
Lookup for particular key in map. | |
Standard_Boolean | lookup (const TheKeyType &theKey, IndexedMapNode *&theNode) const |
Lookup for particular key in map. | |
bool | IsEqual (const TheKeyType &theKey1, const TheKeyType &theKey2) const |
size_t | HashCode (const TheKeyType &theKey, const int theUpperBound) const |
Protected Member Functions inherited from NCollection_BaseMap | |
NCollection_BaseMap (const Standard_Integer NbBuckets, const Standard_Boolean single, const Handle< NCollection_BaseAllocator > &theAllocator) | |
Constructor. | |
NCollection_BaseMap (NCollection_BaseMap &&theOther) noexcept | |
Move Constructor. | |
virtual | ~NCollection_BaseMap () |
Destructor. | |
Standard_Boolean | BeginResize (const Standard_Integer NbBuckets, Standard_Integer &NewBuckets, NCollection_ListNode **&data1, NCollection_ListNode **&data2) const |
BeginResize. | |
void | EndResize (const Standard_Integer NbBuckets, const Standard_Integer NewBuckets, NCollection_ListNode **data1, NCollection_ListNode **data2) |
EndResize. | |
Standard_Boolean | Resizable () const |
Resizable. | |
Standard_Integer | Increment () |
Increment. | |
Standard_Integer | Decrement () |
Decrement. | |
void | Destroy (NCollection_DelMapNode fDel, Standard_Boolean doReleaseMemory=Standard_True) |
Destroy. | |
Standard_Integer | NextPrimeForMap (const Standard_Integer N) const |
NextPrimeForMap. | |
void | exchangeMapsData (NCollection_BaseMap &theOther) |
Exchange content of two maps without data copying. | |
NCollection_BaseMap & | operator= (NCollection_BaseMap &&) noexcept=delete |
Move operator. | |
NCollection_BaseMap (const NCollection_BaseMap &)=delete | |
Copy Constructor. | |
NCollection_BaseMap & | operator= (const NCollection_BaseMap &)=delete |
Assign operator. | |
Protected Attributes | |
Hasher | myHasher |
Protected Attributes inherited from NCollection_BaseMap | |
Handle< NCollection_BaseAllocator > | myAllocator |
NCollection_ListNode ** | myData1 |
NCollection_ListNode ** | myData2 |
Purpose: An indexed map is used to store keys and to bind an index to them. Each new key stored in the map gets an index. Index are incremented as keys are stored in the map. A key can be found by the index and an index by the key. No key but the last can be removed so the indices are in the range 1..Extent. See the class Map from NCollection for a discussion about the number of buckets.
NCollection_StlIterator<std::forward_iterator_tag, Iterator, TheKeyType, true> NCollection_IndexedMap< TheKeyType, Hasher >::const_iterator |
Shorthand for a constant iterator type.
TheKeyType NCollection_IndexedMap< TheKeyType, Hasher >::key_type |
STL-compliant typedef for key type.
|
inline |
Empty constructor.
|
inlineexplicit |
Constructor.
|
inline |
Copy constructor.
|
inlinenoexcept |
Move constructor.
|
inlinevirtual |
Destructor.
|
inline |
Add.
|
inline |
Add.
|
inline |
Assign. This method does not change the internal allocator.
|
inline |
Returns a const iterator pointing to the first element in the map.
|
inline |
Returns a const iterator referring to the past-the-end element in the map.
|
inline |
Clear data and reset allocator.
|
inline |
Clear data. If doReleaseMemory is false then the table of buckets is not released and will be reused.
|
inline |
Contains.
|
inline |
Exchange the content of two maps without re-allocations. Notice that allocators will be swapped as well!
|
inline |
FindIndex.
|
inline |
FindKey.
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
Lookup for particular key in map.
[in] | theKey | key to compute hash |
[out] | theNode | the detected node with equal key. Can be null. |
|
inlineprotected |
Lookup for particular key in map.
[in] | theKey | key to compute hash |
[out] | theNode | the detected node with equal key. Can be null. |
[out] | theHash | computed bounded hash code for current key. |
|
inline |
operator ()
|
inline |
Assignment operator.
|
inlinenoexcept |
Move operator.
|
inline |
Remove the key of the given index. Caution! The index of the last key can be changed.
|
inline |
Remove the given key. Caution! The index of the last key can be changed.
|
inline |
RemoveLast.
|
inline |
ReSize.
|
inline |
Size.
|
inline |
Substitute.
|
inline |
Swaps two elements with the given indices.
|
protected |