Open CASCADE Technology
7.7.0
|
#include <NCollection_DoubleMap.hxx>
Data Structures | |
class | DoubleMapNode |
class | Iterator |
Public Types | |
typedef TheKey1Type | key1_type |
STL-compliant typedef for key1 type. More... | |
typedef TheKey2Type | key2_type |
STL-compliant typedef for key2 type. More... | |
Public Member Functions | |
NCollection_DoubleMap () | |
Empty constructor. More... | |
NCollection_DoubleMap (const Standard_Integer theNbBuckets, const Handle< NCollection_BaseAllocator > &theAllocator=0L) | |
Constructor. More... | |
NCollection_DoubleMap (const NCollection_DoubleMap &theOther) | |
Copy constructor. More... | |
void | Exchange (NCollection_DoubleMap &theOther) |
Exchange the content of two maps without re-allocations. Notice that allocators will be swapped as well! More... | |
NCollection_DoubleMap & | Assign (const NCollection_DoubleMap &theOther) |
Assignment. This method does not change the internal allocator. More... | |
NCollection_DoubleMap & | operator= (const NCollection_DoubleMap &theOther) |
Assignment operator. More... | |
void | ReSize (const Standard_Integer N) |
ReSize. More... | |
void | Bind (const TheKey1Type &theKey1, const TheKey2Type &theKey2) |
Bind. More... | |
Standard_Boolean | AreBound (const TheKey1Type &theKey1, const TheKey2Type &theKey2) const |
Standard_Boolean | IsBound1 (const TheKey1Type &theKey1) const |
IsBound1. More... | |
Standard_Boolean | IsBound2 (const TheKey2Type &theKey2) const |
IsBound2. More... | |
Standard_Boolean | UnBind1 (const TheKey1Type &theKey1) |
UnBind1. More... | |
Standard_Boolean | UnBind2 (const TheKey2Type &theKey2) |
UnBind2. More... | |
const TheKey2Type & | Find1 (const TheKey1Type &theKey1) const |
Find the Key1 and return Key2 value. Raises an exception if Key1 was not bound. More... | |
Standard_Boolean | Find1 (const TheKey1Type &theKey1, TheKey2Type &theKey2) const |
Find the Key1 and return Key2 value (by copying its value). More... | |
const TheKey2Type * | Seek1 (const TheKey1Type &theKey1) const |
Find the Key1 and return pointer to Key2 or NULL if Key1 is not bound. More... | |
const TheKey1Type & | Find2 (const TheKey2Type &theKey2) const |
Find the Key2 and return Key1 value. Raises an exception if Key2 was not bound. More... | |
Standard_Boolean | Find2 (const TheKey2Type &theKey2, TheKey1Type &theKey1) const |
Find the Key2 and return Key1 value (by copying its value). More... | |
const TheKey1Type * | Seek2 (const TheKey2Type &theKey2) const |
Find the Key2 and return pointer to Key1 or NULL if not bound. 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_DoubleMap (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... | |
const Handle< NCollection_BaseAllocator > & | Allocator () const |
Returns attached allocator. More... | |
Purpose: The DoubleMap is used to bind pairs (Key1,Key2) and retrieve them in linear time.
See Map from NCollection for a discussion about the number of buckets
typedef TheKey1Type NCollection_DoubleMap< TheKey1Type, TheKey2Type, Hasher1, Hasher2 >::key1_type |
STL-compliant typedef for key1 type.
typedef TheKey2Type NCollection_DoubleMap< TheKey1Type, TheKey2Type, Hasher1, Hasher2 >::key2_type |
STL-compliant typedef for key2 type.
|
inline |
Empty constructor.
|
inlineexplicit |
Constructor.
|
inline |
Copy constructor.
|
inline |
Destructor.
|
inline |
|
inline |
Assignment. This method does not change the internal allocator.
|
inline |
Bind.
|
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 |
Exchange the content of two maps without re-allocations. Notice that allocators will be swapped as well!
|
inline |
Find the Key1 and return Key2 value. Raises an exception if Key1 was not bound.
|
inline |
Find the Key1 and return Key2 value (by copying its value).
[in] | theKey1 | Key1 to find |
[out] | theKey2 | Key2 to return |
|
inline |
Find the Key2 and return Key1 value. Raises an exception if Key2 was not bound.
|
inline |
Find the Key2 and return Key1 value (by copying its value).
[in] | theKey2 | Key2 to find |
[out] | theKey1 | Key1 to return |
|
inline |
IsBound1.
|
inline |
IsBound2.
|
inline |
Assignment operator.
|
inline |
ReSize.
|
inline |
Find the Key1 and return pointer to Key2 or NULL if Key1 is not bound.
[in] | theKey1 | Key1 to find |
|
inline |
Find the Key2 and return pointer to Key1 or NULL if not bound.
[in] | theKey2 | Key2 to find |
|
inline |
Size.
|
inline |
UnBind1.
|
inline |
UnBind2.