Open CASCADE Technology
6.9.0
|
#include <NCollection_DataMap.hxx>
Data Structures | |
class | DataMapNode |
class | Iterator |
Public Types | |
typedef NCollection_StlIterator < std::forward_iterator_tag, Iterator, TheItemType, false > | iterator |
Shorthand for a regular iterator type. More... | |
typedef NCollection_StlIterator < std::forward_iterator_tag, Iterator, TheItemType, true > | const_iterator |
Shorthand for a constant iterator type. More... | |
Public Member Functions | |
iterator | begin () const |
Returns an iterator pointing to the first element in the map. More... | |
iterator | end () const |
Returns an iterator referring to the past-the-end element in the map. More... | |
const_iterator | cbegin () const |
Returns a const iterator pointing to the first element in the map. More... | |
const_iterator | cend () const |
Returns a const iterator referring to the past-the-end element in the map. More... | |
NCollection_DataMap (const Standard_Integer NbBuckets=1, const Handle< NCollection_BaseAllocator > &theAllocator=0L) | |
Constructor. More... | |
NCollection_DataMap (const NCollection_DataMap &theOther) | |
Copy constructor. More... | |
void | Exchange (NCollection_DataMap &theOther) |
Exchange the content of two maps without re-allocations. Notice that allocators will be swapped as well! More... | |
NCollection_DataMap & | Assign (const NCollection_DataMap &theOther) |
Assignment. This method does not change the internal allocator. More... | |
NCollection_DataMap & | operator= (const NCollection_DataMap &theOther) |
Assignment operator. More... | |
void | ReSize (const Standard_Integer N) |
ReSize. More... | |
Standard_Boolean | Bind (const TheKeyType &theKey, const TheItemType &theItem) |
Bind binds Item to Key in map. Returns Standard_True if Key was not exist in the map. If the Key was already bound, the Item will be rebinded and Standard_False will be returned. More... | |
TheItemType * | Bound (const TheKeyType &theKey, const TheItemType &theItem) |
Bound binds Item to Key in map. Returns modifiable Item. More... | |
Standard_Boolean | IsBound (const TheKeyType &K) const |
IsBound. More... | |
Standard_Boolean | UnBind (const TheKeyType &K) |
UnBind removes Item Key pair from map. More... | |
const TheItemType * | Seek (const TheKeyType &theKey) const |
Seek returns pointer to Item by Key. Returns NULL is Key was not bound. More... | |
const TheItemType & | Find (const TheKeyType &theKey) const |
Find returns the Item for Key. Raises if Key was not bound. More... | |
Standard_Boolean | Find (const TheKeyType &theKey, TheItemType &theValue) const |
Find Item for key with copying. More... | |
const TheItemType & | operator() (const TheKeyType &theKey) const |
operator () More... | |
TheItemType * | ChangeSeek (const TheKeyType &theKey) |
ChangeSeek returns modifiable pointer to Item by Key. Returns NULL is Key was not bound. More... | |
TheItemType & | ChangeFind (const TheKeyType &theKey) |
ChangeFind returns mofifiable Item by Key. Raises if Key was not bound. More... | |
TheItemType & | operator() (const TheKeyType &theKey) |
operator () More... | |
void | Clear (const Standard_Boolean doReleaseMemory=Standard_True) |
Clear data. If doReleaseMemory is false then the table of buckets is not released and will be reused. More... | |
void | Clear (const Handle< NCollection_BaseAllocator > &theAllocator) |
Clear data and reset allocator. More... | |
~NCollection_DataMap (void) | |
Destructor. More... | |
Standard_Integer | Size (void) const |
Size. More... | |
Public Member Functions inherited from NCollection_BaseMap | |
Standard_Integer | NbBuckets () const |
NbBuckets. More... | |
Standard_Integer | Extent () const |
Extent. More... | |
Standard_Boolean | IsEmpty () const |
IsEmpty. More... | |
void | Statistics (Standard_OStream &S) const |
Statistics. More... | |
Protected Member Functions | |
Standard_Boolean | lookup (const TheKeyType &theKey, DataMapNode *&thepNode) const |
Lookup for particular key in map. Returns true if key is found and thepNode points to binded node. Returns false if key is not found, thehNode value is this case is not usable. More... | |
Protected Member Functions inherited from NCollection_BaseMap | |
NCollection_BaseMap (const Standard_Integer NbBuckets, const Standard_Boolean single, const Handle< NCollection_BaseAllocator > &theAllocator) | |
Constructor. More... | |
Standard_Boolean | BeginResize (const Standard_Integer NbBuckets, Standard_Integer &NewBuckets, NCollection_ListNode **&data1, NCollection_ListNode **&data2) const |
BeginResize. More... | |
void | EndResize (const Standard_Integer NbBuckets, const Standard_Integer NewBuckets, NCollection_ListNode **data1, NCollection_ListNode **data2) |
EndResize. More... | |
Standard_Boolean | Resizable () const |
Resizable. More... | |
void | Increment () |
Increment. More... | |
void | Decrement () |
Decrement. More... | |
void | Destroy (NCollection_DelMapNode fDel, Standard_Boolean doReleaseMemory=Standard_True) |
Destroy. More... | |
Standard_Integer | NextPrimeForMap (const Standard_Integer N) const |
NextPrimeForMap. More... | |
void | exchangeMapsData (NCollection_BaseMap &theOther) |
Exchange content of two maps without data copying. More... | |
Additional Inherited Members | |
Protected Attributes inherited from NCollection_BaseMap | |
Handle< NCollection_BaseAllocator > | myAllocator |
NCollection_ListNode ** | myData1 |
NCollection_ListNode ** | myData2 |
Purpose: The DataMap is a Map to store keys with associated Items. See Map from NCollection for a discussion about the number of buckets.
The DataMap can be seen as an extended array where the Keys are the indices. For this reason the operator () is defined on DataMap to fetch an Item from a Key. So the following syntax can be used :
anItem = aMap(aKey); aMap(aKey) = anItem;
This analogy has its limit. aMap(aKey) = anItem can be done only if aKey was previously bound to an item in the map.
typedef NCollection_StlIterator<std::forward_iterator_tag, Iterator, TheItemType, true> NCollection_DataMap< TheKeyType, TheItemType, Hasher >::const_iterator |
Shorthand for a constant iterator type.
typedef NCollection_StlIterator<std::forward_iterator_tag, Iterator, TheItemType, false> NCollection_DataMap< TheKeyType, TheItemType, Hasher >::iterator |
Shorthand for a regular iterator type.
|
inline |
Constructor.
|
inline |
Copy constructor.
|
inline |
Destructor.
|
inline |
Assignment. This method does not change the internal allocator.
|
inline |
Returns an iterator pointing to the first element in the map.
|
inline |
Bind binds Item to Key in map. Returns Standard_True if Key was not exist in the map. If the Key was already bound, the Item will be rebinded and Standard_False will be returned.
|
inline |
Bound binds Item to Key in map. Returns modifiable Item.
|
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 |
ChangeFind returns mofifiable Item by Key. Raises if Key was not bound.
|
inline |
ChangeSeek returns modifiable pointer to Item by Key. Returns NULL is Key was not bound.
|
inline |
Clear data. If doReleaseMemory is false then the table of buckets is not released and will be reused.
|
inline |
Clear data and reset allocator.
|
inline |
Returns an iterator referring to the past-the-end element in the map.
|
inline |
Exchange the content of two maps without re-allocations. Notice that allocators will be swapped as well!
|
inline |
Find returns the Item for Key. Raises if Key was not bound.
|
inline |
Find Item for key with copying.
|
inline |
IsBound.
|
inlineprotected |
Lookup for particular key in map. Returns true if key is found and thepNode points to binded node. Returns false if key is not found, thehNode value is this case is not usable.
|
inline |
operator ()
|
inline |
operator ()
|
inline |
Assignment operator.
|
inline |
ReSize.
|
inline |
Seek returns pointer to Item by Key. Returns NULL is Key was not bound.
|
inline |
Size.
|
inline |
UnBind removes Item Key pair from map.