|
| | NCollection_DoubleMap () |
| | Empty constructor.
|
| |
| | NCollection_DoubleMap (const size_t theNbBuckets, const occ::handle< NCollection_BaseAllocator > &theAllocator=nullptr) |
| | Constructor.
|
| |
| | NCollection_DoubleMap (const int theNbBuckets, const occ::handle< NCollection_BaseAllocator > &theAllocator=nullptr) |
| | Constructor (legacy int-taking).
|
| |
| | NCollection_DoubleMap (const NCollection_DoubleMap &theOther) |
| | Copy constructor.
|
| |
| void | Exchange (NCollection_DoubleMap &theOther) noexcept |
| | Exchange the content of two maps without re-allocations. Notice that allocators will be swapped as well!
|
| |
| NCollection_DoubleMap & | Assign (const NCollection_DoubleMap &theOther) |
| | Assignment. This method does not change the internal allocator.
|
| |
| NCollection_DoubleMap & | operator= (const NCollection_DoubleMap &theOther) |
| | Assignment operator.
|
| |
| void | ReSize (const size_t N) |
| | ReSize.
|
| |
| void | ReSize (const int N) |
| |
| void | Bind (const TheKey1Type &theKey1, const TheKey2Type &theKey2) |
| | Bind binds the pair (Key1, Key2).
|
| |
| void | Bind (TheKey1Type &&theKey1, const TheKey2Type &theKey2) |
| | Bind binds the pair (Key1, Key2).
|
| |
| void | Bind (const TheKey1Type &theKey1, TheKey2Type &&theKey2) |
| | Bind binds the pair (Key1, Key2).
|
| |
| void | Bind (TheKey1Type &&theKey1, TheKey2Type &&theKey2) |
| | Bind binds the pair (Key1, Key2).
|
| |
| bool | TryBind (const TheKey1Type &theKey1, const TheKey2Type &theKey2) |
| | TryBind binds the pair (Key1, Key2) only if neither key is already bound.
|
| |
| bool | TryBind (TheKey1Type &&theKey1, const TheKey2Type &theKey2) |
| | TryBind binds the pair (Key1, Key2) only if neither key is already bound.
|
| |
| bool | TryBind (const TheKey1Type &theKey1, TheKey2Type &&theKey2) |
| | TryBind binds the pair (Key1, Key2) only if neither key is already bound.
|
| |
| bool | TryBind (TheKey1Type &&theKey1, TheKey2Type &&theKey2) |
| | TryBind binds the pair (Key1, Key2) only if neither key is already bound.
|
| |
| template<typename K1 , typename K2 > |
| bool | TryEmplace (K1 &&theKey1, K2 &&theKey2) |
| | TryEmplace constructs keys in-place only if neither key is already bound.
|
| |
| bool | AreBound (const TheKey1Type &theKey1, const TheKey2Type &theKey2) const |
| |
| bool | IsBound1 (const TheKey1Type &theKey1) const |
| | IsBound1.
|
| |
| bool | IsBound2 (const TheKey2Type &theKey2) const |
| | IsBound2.
|
| |
| bool | UnBind1 (const TheKey1Type &theKey1) |
| | UnBind1.
|
| |
| bool | UnBind2 (const TheKey2Type &theKey2) |
| | UnBind2.
|
| |
| const TheKey2Type & | Find1 (const TheKey1Type &theKey1) const |
| | Find the Key1 and return Key2 value. Raises an exception if Key1 was not bound.
|
| |
| bool | Find1 (const TheKey1Type &theKey1, TheKey2Type &theKey2) const |
| | Find the Key1 and return Key2 value (by copying its value).
|
| |
| const TheKey2Type * | Seek1 (const TheKey1Type &theKey1) const |
| | Find the Key1 and return pointer to Key2 or NULL if Key1 is not bound.
|
| |
| const TheKey1Type & | Find2 (const TheKey2Type &theKey2) const |
| | Find the Key2 and return Key1 value. Raises an exception if Key2 was not bound.
|
| |
| bool | Find2 (const TheKey2Type &theKey2, TheKey1Type &theKey1) const |
| | Find the Key2 and return Key1 value (by copying its value).
|
| |
| const TheKey1Type * | Seek2 (const TheKey2Type &theKey2) const |
| | Find the Key2 and return pointer to Key1 or NULL if not bound.
|
| |
| void | Clear (const bool doReleaseMemory=false) |
| | Clear data. If doReleaseMemory is false then the table of buckets is not released and will be reused.
|
| |
| void | Clear (const occ::handle< NCollection_BaseAllocator > &theAllocator) |
| | Clear data and reset allocator.
|
| |
| | ~NCollection_DoubleMap () override |
| | Destructor.
|
| |
| size_t | NbBuckets () const noexcept |
| | NbBuckets.
|
| |
| int | Extent () const noexcept |
| | Extent (number of elements, legacy int-returning API).
|
| |
| int | Length () const noexcept |
| | Length - number of elements (legacy int-returning API, synonym of Extent()).
|
| |
| size_t | Size () const noexcept |
| | Size - number of elements.
|
| |
| bool | IsEmpty () const noexcept |
| | IsEmpty.
|
| |
| const occ::handle< NCollection_BaseAllocator > & | Allocator () const noexcept |
| | Returns attached allocator.
|
| |
|
| bool | IsEqual1 (const TheKey1Type &theKey1, const TheKey1Type &theKey2) const |
| |
| size_t | HashCode1 (const TheKey1Type &theKey, const size_t theUpperBound) const |
| |
| bool | IsEqual2 (const TheKey2Type &theKey1, const TheKey2Type &theKey2) const |
| |
| size_t | HashCode2 (const TheKey2Type &theKey, const size_t theUpperBound) const |
| |
| bool | lookup1 (const TheKey1Type &theKey1, DoubleMapNode *&theNode, size_t &theHash) const |
| | Lookup for particular key1 in map.
|
| |
| bool | lookup2 (const TheKey2Type &theKey2, DoubleMapNode *&theNode, size_t &theHash) const |
| | Lookup for particular key2 in map.
|
| |
| template<typename K1 , typename K2 , bool IsTry> |
| bool | bindImpl (K1 &&theKey1, K2 &&theKey2, std::bool_constant< IsTry >) |
| | Implementation helper for Bind/TryBind.
|
| |
| | NCollection_BaseMap (const size_t theNbBuckets, const bool single, const occ::handle< NCollection_BaseAllocator > &theAllocator) |
| | Constructor.
|
| |
| | NCollection_BaseMap (NCollection_BaseMap &&theOther) noexcept |
| | Move Constructor.
|
| |
| virtual | ~NCollection_BaseMap ()=default |
| | Destructor.
|
| |
| bool | BeginResize (const size_t theExtent, size_t &theNewBuckets, NCollection_ListNode **&data1, NCollection_ListNode **&data2) const |
| | BeginResize.
|
| |
| void | EndResize (const size_t theExtent, const size_t theNewBuckets, NCollection_ListNode **data1, NCollection_ListNode **data2) noexcept |
| | EndResize.
|
| |
| bool | Resizable () const noexcept |
| | Resizable.
|
| |
| size_t | Increment () noexcept |
| | Increment.
|
| |
| size_t | Decrement () noexcept |
| | Decrement.
|
| |
| void | Destroy (NCollection_DelMapNode fDel, bool doReleaseMemory=true) |
| | Destroy.
|
| |
| size_t | NextPrimeForMap (const size_t N) const noexcept |
| | NextPrimeForMap.
|
| |
| void | exchangeMapsData (NCollection_BaseMap &theOther) noexcept |
| | 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.
|
| |
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