Open CASCADE Technology 6.6.0
Data Structures | Public Member Functions
NCollection_DoubleMap< TheKey1Type, TheKey2Type, Hasher1, Hasher2 > Class Template Reference

#include <NCollection_DoubleMap.hxx>

Inheritance diagram for NCollection_DoubleMap< TheKey1Type, TheKey2Type, Hasher1, Hasher2 >:
Inheritance graph
[legend]

Data Structures

class  DoubleMapNode
class  Iterator

Public Member Functions

 NCollection_DoubleMap (const Standard_Integer NbBuckets=1, const Handle< NCollection_BaseAllocator > &theAllocator=0L)
 Constructor.
 NCollection_DoubleMap (const NCollection_DoubleMap &theOther)
 Copy constructor.
virtual void Assign (const NCollection_BaseCollection< TheKey2Type > &theOther)
 Assign another collection.
NCollection_DoubleMapoperator= (const NCollection_DoubleMap &theOther)
 = another map
void ReSize (const Standard_Integer N)
 ReSize.
void Bind (const TheKey1Type &theKey1, const TheKey2Type &theKey2)
 Bind.
Standard_Boolean AreBound (const TheKey1Type &theKey1, const TheKey2Type &theKey2) const
 * AreBound
Standard_Boolean IsBound1 (const TheKey1Type &theKey1) const
 IsBound1.
Standard_Boolean IsBound2 (const TheKey2Type &theKey2) const
 IsBound2.
Standard_Boolean UnBind1 (const TheKey1Type &theKey1)
 UnBind1.
Standard_Boolean UnBind2 (const TheKey2Type &theKey2)
 UnBind2.
const TheKey2Type & Find1 (const TheKey1Type &theKey1) const
 Find1.
const TheKey1Type & Find2 (const TheKey2Type &theKey2) const
 Find2.
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.
void Clear (const Handle< NCollection_BaseAllocator > &theAllocator)
 Clear data and reset allocator.
 ~NCollection_DoubleMap (void)
 Destructor.
virtual Standard_Integer Size (void) const
 Size.

Detailed Description

template<class TheKey1Type, class TheKey2Type, class Hasher1 = NCollection_DefaultHasher<TheKey1Type>, class Hasher2 = NCollection_DefaultHasher<TheKey2Type>>
class NCollection_DoubleMap< TheKey1Type, TheKey2Type, Hasher1, Hasher2 >

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


Constructor & Destructor Documentation

template<class TheKey1Type , class TheKey2Type , class Hasher1 = NCollection_DefaultHasher<TheKey1Type>, class Hasher2 = NCollection_DefaultHasher<TheKey2Type>>
NCollection_DoubleMap< TheKey1Type, TheKey2Type, Hasher1, Hasher2 >::NCollection_DoubleMap ( const Standard_Integer  NbBuckets = 1,
const Handle< NCollection_BaseAllocator > &  theAllocator = 0L 
) [inline]
template<class TheKey1Type , class TheKey2Type , class Hasher1 = NCollection_DefaultHasher<TheKey1Type>, class Hasher2 = NCollection_DefaultHasher<TheKey2Type>>
NCollection_DoubleMap< TheKey1Type, TheKey2Type, Hasher1, Hasher2 >::NCollection_DoubleMap ( const NCollection_DoubleMap< TheKey1Type, TheKey2Type, Hasher1, Hasher2 > &  theOther) [inline]
template<class TheKey1Type , class TheKey2Type , class Hasher1 = NCollection_DefaultHasher<TheKey1Type>, class Hasher2 = NCollection_DefaultHasher<TheKey2Type>>
NCollection_DoubleMap< TheKey1Type, TheKey2Type, Hasher1, Hasher2 >::~NCollection_DoubleMap ( void  ) [inline]

Member Function Documentation

template<class TheKey1Type , class TheKey2Type , class Hasher1 = NCollection_DefaultHasher<TheKey1Type>, class Hasher2 = NCollection_DefaultHasher<TheKey2Type>>
Standard_Boolean NCollection_DoubleMap< TheKey1Type, TheKey2Type, Hasher1, Hasher2 >::AreBound ( const TheKey1Type &  theKey1,
const TheKey2Type &  theKey2 
) const [inline]
template<class TheKey1Type , class TheKey2Type , class Hasher1 = NCollection_DefaultHasher<TheKey1Type>, class Hasher2 = NCollection_DefaultHasher<TheKey2Type>>
virtual void NCollection_DoubleMap< TheKey1Type, TheKey2Type, Hasher1, Hasher2 >::Assign ( const NCollection_BaseCollection< TheKey2Type > &  theOther) [inline, virtual]
template<class TheKey1Type , class TheKey2Type , class Hasher1 = NCollection_DefaultHasher<TheKey1Type>, class Hasher2 = NCollection_DefaultHasher<TheKey2Type>>
void NCollection_DoubleMap< TheKey1Type, TheKey2Type, Hasher1, Hasher2 >::Bind ( const TheKey1Type &  theKey1,
const TheKey2Type &  theKey2 
) [inline]
template<class TheKey1Type , class TheKey2Type , class Hasher1 = NCollection_DefaultHasher<TheKey1Type>, class Hasher2 = NCollection_DefaultHasher<TheKey2Type>>
void NCollection_DoubleMap< TheKey1Type, TheKey2Type, Hasher1, Hasher2 >::Clear ( const Standard_Boolean  doReleaseMemory = Standard_True) [inline]
template<class TheKey1Type , class TheKey2Type , class Hasher1 = NCollection_DefaultHasher<TheKey1Type>, class Hasher2 = NCollection_DefaultHasher<TheKey2Type>>
void NCollection_DoubleMap< TheKey1Type, TheKey2Type, Hasher1, Hasher2 >::Clear ( const Handle< NCollection_BaseAllocator > &  theAllocator) [inline]
template<class TheKey1Type , class TheKey2Type , class Hasher1 = NCollection_DefaultHasher<TheKey1Type>, class Hasher2 = NCollection_DefaultHasher<TheKey2Type>>
const TheKey2Type& NCollection_DoubleMap< TheKey1Type, TheKey2Type, Hasher1, Hasher2 >::Find1 ( const TheKey1Type &  theKey1) const [inline]
template<class TheKey1Type , class TheKey2Type , class Hasher1 = NCollection_DefaultHasher<TheKey1Type>, class Hasher2 = NCollection_DefaultHasher<TheKey2Type>>
const TheKey1Type& NCollection_DoubleMap< TheKey1Type, TheKey2Type, Hasher1, Hasher2 >::Find2 ( const TheKey2Type &  theKey2) const [inline]
template<class TheKey1Type , class TheKey2Type , class Hasher1 = NCollection_DefaultHasher<TheKey1Type>, class Hasher2 = NCollection_DefaultHasher<TheKey2Type>>
Standard_Boolean NCollection_DoubleMap< TheKey1Type, TheKey2Type, Hasher1, Hasher2 >::IsBound1 ( const TheKey1Type &  theKey1) const [inline]
template<class TheKey1Type , class TheKey2Type , class Hasher1 = NCollection_DefaultHasher<TheKey1Type>, class Hasher2 = NCollection_DefaultHasher<TheKey2Type>>
Standard_Boolean NCollection_DoubleMap< TheKey1Type, TheKey2Type, Hasher1, Hasher2 >::IsBound2 ( const TheKey2Type &  theKey2) const [inline]
template<class TheKey1Type , class TheKey2Type , class Hasher1 = NCollection_DefaultHasher<TheKey1Type>, class Hasher2 = NCollection_DefaultHasher<TheKey2Type>>
NCollection_DoubleMap& NCollection_DoubleMap< TheKey1Type, TheKey2Type, Hasher1, Hasher2 >::operator= ( const NCollection_DoubleMap< TheKey1Type, TheKey2Type, Hasher1, Hasher2 > &  theOther) [inline]
template<class TheKey1Type , class TheKey2Type , class Hasher1 = NCollection_DefaultHasher<TheKey1Type>, class Hasher2 = NCollection_DefaultHasher<TheKey2Type>>
void NCollection_DoubleMap< TheKey1Type, TheKey2Type, Hasher1, Hasher2 >::ReSize ( const Standard_Integer  N) [inline]
template<class TheKey1Type , class TheKey2Type , class Hasher1 = NCollection_DefaultHasher<TheKey1Type>, class Hasher2 = NCollection_DefaultHasher<TheKey2Type>>
virtual Standard_Integer NCollection_DoubleMap< TheKey1Type, TheKey2Type, Hasher1, Hasher2 >::Size ( void  ) const [inline, virtual]
template<class TheKey1Type , class TheKey2Type , class Hasher1 = NCollection_DefaultHasher<TheKey1Type>, class Hasher2 = NCollection_DefaultHasher<TheKey2Type>>
Standard_Boolean NCollection_DoubleMap< TheKey1Type, TheKey2Type, Hasher1, Hasher2 >::UnBind1 ( const TheKey1Type &  theKey1) [inline]
template<class TheKey1Type , class TheKey2Type , class Hasher1 = NCollection_DefaultHasher<TheKey1Type>, class Hasher2 = NCollection_DefaultHasher<TheKey2Type>>
Standard_Boolean NCollection_DoubleMap< TheKey1Type, TheKey2Type, Hasher1, Hasher2 >::UnBind2 ( const TheKey2Type &  theKey2) [inline]

The documentation for this class was generated from the following file:
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines