OCC Main Page | FoundationClasses | Toolkits | Packages | Class Hierarchy | Data Structures | File List | Data Fields | Globals

FoundationClasses
TKernel
NCollection


FoundationClasses
TKernel
NCollection


NCollection_DoubleMap< TheKey1Type, TheKey2Type > Class Template Reference

#include <NCollection_DoubleMap.hxx>

Inheritance diagram for NCollection_DoubleMap< TheKey1Type, TheKey2Type >:

Inheritance graph
[legend]

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.

Private Member Functions

virtual TYPENAME NCollection_BaseCollection<
TheKey2Type >::Iterator
CreateIterator (void) const
 Creates Iterator for use on BaseCollection.

Data Structures

class  DoubleMapNode
class  Iterator

Detailed Description

template<class TheKey1Type, class TheKey2Type>
class NCollection_DoubleMap< TheKey1Type, TheKey2Type >

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>
NCollection_DoubleMap< TheKey1Type, TheKey2Type >::NCollection_DoubleMap const Standard_Integer  NbBuckets = 1,
const Handle(NCollection_BaseAllocator)&  theAllocator = 0L
[inline]
 

template<class TheKey1Type, class TheKey2Type>
NCollection_DoubleMap< TheKey1Type, TheKey2Type >::NCollection_DoubleMap const NCollection_DoubleMap< TheKey1Type, TheKey2Type > &  theOther  )  [inline]
 

template<class TheKey1Type, class TheKey2Type>
NCollection_DoubleMap< TheKey1Type, TheKey2Type >::~NCollection_DoubleMap void   )  [inline]
 


Member Function Documentation

template<class TheKey1Type, class TheKey2Type>
Standard_Boolean NCollection_DoubleMap< TheKey1Type, TheKey2Type >::AreBound const TheKey1Type &  theKey1,
const TheKey2Type &  theKey2
const [inline]
 

template<class TheKey1Type, class TheKey2Type>
virtual void NCollection_DoubleMap< TheKey1Type, TheKey2Type >::Assign const NCollection_BaseCollection< TheKey2Type > &  theOther  )  [inline, virtual]
 

template<class TheKey1Type, class TheKey2Type>
void NCollection_DoubleMap< TheKey1Type, TheKey2Type >::Bind const TheKey1Type &  theKey1,
const TheKey2Type &  theKey2
[inline]
 

template<class TheKey1Type, class TheKey2Type>
void NCollection_DoubleMap< TheKey1Type, TheKey2Type >::Clear const Handle(NCollection_BaseAllocator)&  theAllocator  )  [inline]
 

template<class TheKey1Type, class TheKey2Type>
void NCollection_DoubleMap< TheKey1Type, TheKey2Type >::Clear const Standard_Boolean  doReleaseMemory = Standard_True  )  [inline]
 

template<class TheKey1Type, class TheKey2Type>
virtual TYPENAME NCollection_BaseCollection<TheKey2Type>::Iterator& NCollection_DoubleMap< TheKey1Type, TheKey2Type >::CreateIterator void   )  const [inline, private, virtual]
 

Implements NCollection_BaseCollection< TheKey2Type >.

template<class TheKey1Type, class TheKey2Type>
const TheKey2Type& NCollection_DoubleMap< TheKey1Type, TheKey2Type >::Find1 const TheKey1Type &  theKey1  )  const [inline]
 

template<class TheKey1Type, class TheKey2Type>
const TheKey1Type& NCollection_DoubleMap< TheKey1Type, TheKey2Type >::Find2 const TheKey2Type &  theKey2  )  const [inline]
 

template<class TheKey1Type, class TheKey2Type>
Standard_Boolean NCollection_DoubleMap< TheKey1Type, TheKey2Type >::IsBound1 const TheKey1Type &  theKey1  )  const [inline]
 

template<class TheKey1Type, class TheKey2Type>
Standard_Boolean NCollection_DoubleMap< TheKey1Type, TheKey2Type >::IsBound2 const TheKey2Type &  theKey2  )  const [inline]
 

template<class TheKey1Type, class TheKey2Type>
NCollection_DoubleMap& NCollection_DoubleMap< TheKey1Type, TheKey2Type >::operator= const NCollection_DoubleMap< TheKey1Type, TheKey2Type > &  theOther  )  [inline]
 

template<class TheKey1Type, class TheKey2Type>
void NCollection_DoubleMap< TheKey1Type, TheKey2Type >::ReSize const Standard_Integer  N  )  [inline]
 

template<class TheKey1Type, class TheKey2Type>
virtual Standard_Integer NCollection_DoubleMap< TheKey1Type, TheKey2Type >::Size void   )  const [inline, virtual]
 

Implements NCollection_BaseCollection< TheKey2Type >.

template<class TheKey1Type, class TheKey2Type>
Standard_Boolean NCollection_DoubleMap< TheKey1Type, TheKey2Type >::UnBind1 const TheKey1Type &  theKey1  )  [inline]
 

template<class TheKey1Type, class TheKey2Type>
Standard_Boolean NCollection_DoubleMap< TheKey1Type, TheKey2Type >::UnBind2 const TheKey2Type &  theKey2  )  [inline]
 


The documentation for this class was generated from the following file:
Generated on Mon Aug 25 13:12:55 2008 for OpenCASCADE by  doxygen 1.4.1