DCL 4.0
Loading...
Searching...
No Matches
ListedHashMap< KEY, VALUE, HASH_FUN > Class Template Reference

#include <__ListedHashMapT-GCC.h>

Inheritance diagram for ListedHashMap< KEY, VALUE, HASH_FUN >:
Object Object

Public Member Functions

virtual ~ListedHashMap ()
void initBuckets (size_t _bucketSize)
 ListedHashMap (size_t _bucketSize=21)
 ListedHashMap (const ListedHashMap &_src)
const ListedHashMapoperator= (const ListedHashMap &_src)
ConstIterator begin () const
ConstIterator end () const
Iterator begin ()
Iterator end ()
ReverseConstIterator rbegin () const
ReverseConstIterator rend () const
ReverseIterator rbegin ()
ReverseIterator rend ()
size_t bucketSize () const
size_t size () const
size_t sizeOfBucket (size_t index) const
bool isEmpty () const
Iterator find (const KEY &_key)
ConstIterator find (const KEY &_key) const
bool lookup (const KEY &_key, VALUE &_rValue) const
VALUE & operator[] (const KEY &_key)
void put (const KEY &_key, const VALUE &_value, UpdateCallback &_cb)
size_t erase (const KEY &_key)
size_t erase (const Iterator &_it)
void clear ()
virtual ~ListedHashMap ()
void initBuckets (size_t _bucketSize)
 ListedHashMap (size_t _bucketSize=21)
 ListedHashMap (const ListedHashMap &_src)
const ListedHashMapoperator= (const ListedHashMap &_src)
ConstIterator begin () const
ConstIterator end () const
Iterator begin ()
Iterator end ()
ReverseConstIterator rbegin () const
ReverseConstIterator rend () const
ReverseIterator rbegin ()
ReverseIterator rend ()
size_t bucketSize () const
size_t size () const
size_t sizeOfBucket (size_t index) const
bool isEmpty () const
Iterator find (const KEY &_key)
ConstIterator find (const KEY &_key) const
bool lookup (const KEY &_key, VALUE &_rValue) const
VALUE & operator[] (const KEY &_key)
void put (const KEY &_key, const VALUE &_value, UpdateCallback &_cb)
size_t erase (const KEY &_key)
size_t erase (const Iterator &_it)
void clear ()
Public Member Functions inherited from Object
virtual String toString () const
virtual void destroy ()
String className () const
bool isInstanceOf (const std::type_info &typeinfo) const
virtual const std::type_info & typeInfo () const

Protected Member Functions

size_t bucketIndex (const KEY &_key) const
HashNode * createNode (const KEY &_key)
void destroyNode (HashNode *_pNode)
size_t bucketIndex (const KEY &_key) const
HashNode * createNode (const KEY &_key)
void destroyNode (HashNode *_pNode)
Protected Member Functions inherited from Object
virtual ~Object ()
 Object ()

Protected Attributes

NodeBase__pMasterNode
HASH_FUN __hashFun
size_t __size
PointerArray __buckets

Friends

class Iterator
class ConstIterator

Detailed Description

template<typename KEY, typename VALUE, typename HASH_FUN = HashFun<KEY>>
class ListedHashMap< KEY, VALUE, HASH_FUN >

Definition at line 14 of file __ListedHashMapT-GCC.h.

Constructor & Destructor Documentation

◆ ~ListedHashMap() [1/2]

template<typename KEY, typename VALUE, typename HASH_FUN>
ListedHashMap< KEY, VALUE, HASH_FUN >::~ListedHashMap ( )
virtual

Definition at line 643 of file __ListedHashMapT-GCC.h.

644{
645 clear();
647}
void CharsetConvertException *__fields clear()

◆ ListedHashMap() [1/4]

template<typename KEY, typename VALUE, typename HASH_FUN>
ListedHashMap< KEY, VALUE, HASH_FUN >::ListedHashMap ( size_t _bucketSize = 21)

Definition at line 650 of file __ListedHashMapT-GCC.h.

652{
654 // FIXME!
655 // if (pNode == NULL)
656 // throw new BadAllocException(sizeof(HashNode), __THIS_FILE__, __LINE__);
658
661 __size = 0;
662// __buckets.resize(DCLGetNextPrimNumber(_bucketSize));
663}
DCLCAPI size_t DCLGetNextPrimNumber(size_t _n)
Definition HashFun.cpp:23
#define __DCL_ASSERT(expr)
Definition Object.h:371

◆ ListedHashMap() [2/4]

template<typename KEY, typename VALUE, typename HASH_FUN>
ListedHashMap< KEY, VALUE, HASH_FUN >::ListedHashMap ( const ListedHashMap< KEY, VALUE, HASH_FUN > & _src)

Definition at line 674 of file __ListedHashMapT-GCC.h.

675{
677 // FIXME!
678 // if (pNode == NULL)
679 // throw new BadAllocException(sizeof(HashNode), __THIS_FILE__, __LINE__);
681
684 __size = 0;
685
686 *this = _src;
687}

◆ ~ListedHashMap() [2/2]

template<typename KEY, typename VALUE, typename HASH_FUN = HashFun<KEY>>
virtual ListedHashMap< KEY, VALUE, HASH_FUN >::~ListedHashMap ( )
virtual

◆ ListedHashMap() [3/4]

template<typename KEY, typename VALUE, typename HASH_FUN = HashFun<KEY>>
ListedHashMap< KEY, VALUE, HASH_FUN >::ListedHashMap ( size_t _bucketSize = 21)

◆ ListedHashMap() [4/4]

template<typename KEY, typename VALUE, typename HASH_FUN = HashFun<KEY>>
ListedHashMap< KEY, VALUE, HASH_FUN >::ListedHashMap ( const ListedHashMap< KEY, VALUE, HASH_FUN > & _src)

Member Function Documentation

◆ begin() [1/4]

template<typename KEY, typename VALUE, typename HASH_FUN>
ListedHashMap< KEY, VALUE, HASH_FUN >::Iterator ListedHashMap< KEY, VALUE, HASH_FUN >::begin ( )
inline

Definition at line 546 of file __ListedHashMapT-GCC.h.

547{
548 return __pMasterNode->pNext;
549}

◆ begin() [2/4]

template<typename KEY, typename VALUE, typename HASH_FUN = HashFun<KEY>>
Iterator ListedHashMap< KEY, VALUE, HASH_FUN >::begin ( )

◆ begin() [3/4]

template<typename KEY, typename VALUE, typename HASH_FUN>
ListedHashMap< KEY, VALUE, HASH_FUN >::ConstIterator ListedHashMap< KEY, VALUE, HASH_FUN >::begin ( ) const
inline

Definition at line 530 of file __ListedHashMapT-GCC.h.

531{
532 return __pMasterNode->pNext;
533}

◆ begin() [4/4]

template<typename KEY, typename VALUE, typename HASH_FUN = HashFun<KEY>>
ConstIterator ListedHashMap< KEY, VALUE, HASH_FUN >::begin ( ) const

◆ bucketIndex() [1/2]

template<typename KEY, typename VALUE, typename HASH_FUN>
size_t ListedHashMap< KEY, VALUE, HASH_FUN >::bucketIndex ( const KEY & _key) const
inlineprotected

Definition at line 826 of file __ListedHashMapT-GCC.h.

827{
828 return __hashFun.hashKey(_key) % __buckets.size();
829}

◆ bucketIndex() [2/2]

template<typename KEY, typename VALUE, typename HASH_FUN = HashFun<KEY>>
size_t ListedHashMap< KEY, VALUE, HASH_FUN >::bucketIndex ( const KEY & _key) const
protected

◆ bucketSize() [1/2]

template<typename KEY, typename VALUE, typename HASH_FUN>
size_t ListedHashMap< KEY, VALUE, HASH_FUN >::bucketSize ( ) const
inline

Definition at line 596 of file __ListedHashMapT-GCC.h.

597{
598 return __buckets.size();
599}

◆ bucketSize() [2/2]

template<typename KEY, typename VALUE, typename HASH_FUN = HashFun<KEY>>
size_t ListedHashMap< KEY, VALUE, HASH_FUN >::bucketSize ( ) const

◆ clear() [1/2]

template<typename KEY, typename VALUE, typename HASH_FUN>
void ListedHashMap< KEY, VALUE, HASH_FUN >::clear ( )

Definition at line 917 of file __ListedHashMapT-GCC.h.

918{
919 for(size_t i = 0; i < __buckets.size(); i++)
920 {
921 HashNode* pNode = (HashNode*)__buckets[i];
922 while(pNode)
923 {
924 HashNode* pNext = pNode->pNext;
926 pNode = pNext;
927 }
928 __buckets[i] = NULL;
929 }
930 __size = 0;
931}
void destroyNode(HashNode *_pNode)

◆ clear() [2/2]

template<typename KEY, typename VALUE, typename HASH_FUN = HashFun<KEY>>
void ListedHashMap< KEY, VALUE, HASH_FUN >::clear ( )

◆ createNode() [1/2]

template<typename KEY, typename VALUE, typename HASH_FUN>
ListedHashMap< KEY, VALUE, HASH_FUN >::HashNode * ListedHashMap< KEY, VALUE, HASH_FUN >::createNode ( const KEY & _key)
protected

Definition at line 833 of file __ListedHashMapT-GCC.h.

834{
835 HashNode* pNode = (HashNode*) malloc(sizeof(HashNode));
836 // FIXME!
837 // if (pNode == NULL)
838 // throw new BadAllocException(sizeof(HashNode), __THIS_FILE__, __LINE__);
840
841 memset((void*) pNode, 0, sizeof(HashNode));
842
843#if __DCL_HAVE_ALLOC_DEBUG
844#undef new
845#endif
846
847 new(&(pNode->key)) KEY;
848 new(&(pNode->value)) VALUE;
849
850#if __DCL_HAVE_ALLOC_DEBUG
851#define new __DCL_DEBUG_NEW
852#endif
853
854 ((NodeBase*) pNode)->pPrev = __pMasterNode->pPrev;
855 ((NodeBase*) pNode)->pNext = __pMasterNode;
856 __pMasterNode->pPrev->pNext = pNode;
857 __pMasterNode->pPrev = pNode;
858
859 pNode->key = _key;
860 return pNode;
861}

◆ createNode() [2/2]

template<typename KEY, typename VALUE, typename HASH_FUN = HashFun<KEY>>
HashNode * ListedHashMap< KEY, VALUE, HASH_FUN >::createNode ( const KEY & _key)
protected

◆ destroyNode() [1/2]

template<typename KEY, typename VALUE, typename HASH_FUN>
void ListedHashMap< KEY, VALUE, HASH_FUN >::destroyNode ( HashNode * _pNode)
protected

Definition at line 865 of file __ListedHashMapT-GCC.h.

866{
867 ((NodeBase*) _pNode)->pPrev->pNext = ((NodeBase*) _pNode)->pNext;
868 ((NodeBase*) _pNode)->pNext->pPrev = ((NodeBase*) _pNode)->pPrev;
869
870 _pNode->key.~KEY();
871 _pNode->value.~VALUE();
872 free(_pNode);
873}

◆ destroyNode() [2/2]

template<typename KEY, typename VALUE, typename HASH_FUN = HashFun<KEY>>
void ListedHashMap< KEY, VALUE, HASH_FUN >::destroyNode ( HashNode * _pNode)
protected

◆ end() [1/4]

template<typename KEY, typename VALUE, typename HASH_FUN>
ListedHashMap< KEY, VALUE, HASH_FUN >::Iterator ListedHashMap< KEY, VALUE, HASH_FUN >::end ( )
inline

Definition at line 554 of file __ListedHashMapT-GCC.h.

555{
556 return __pMasterNode;
557}

◆ end() [2/4]

template<typename KEY, typename VALUE, typename HASH_FUN = HashFun<KEY>>
Iterator ListedHashMap< KEY, VALUE, HASH_FUN >::end ( )

◆ end() [3/4]

template<typename KEY, typename VALUE, typename HASH_FUN>
ListedHashMap< KEY, VALUE, HASH_FUN >::ConstIterator ListedHashMap< KEY, VALUE, HASH_FUN >::end ( ) const
inline

Definition at line 538 of file __ListedHashMapT-GCC.h.

539{
540 return __pMasterNode;
541}

◆ end() [4/4]

template<typename KEY, typename VALUE, typename HASH_FUN = HashFun<KEY>>
ConstIterator ListedHashMap< KEY, VALUE, HASH_FUN >::end ( ) const

◆ erase() [1/4]

template<typename KEY, typename VALUE, typename HASH_FUN = HashFun<KEY>>
size_t ListedHashMap< KEY, VALUE, HASH_FUN >::erase ( const Iterator & _it)

◆ erase() [2/4]

template<typename KEY, typename VALUE, typename HASH_FUN = HashFun<KEY>>
size_t ListedHashMap< KEY, VALUE, HASH_FUN >::erase ( const Iterator & _it)

◆ erase() [3/4]

template<typename KEY, typename VALUE, typename HASH_FUN>
size_t ListedHashMap< KEY, VALUE, HASH_FUN >::erase ( const KEY & _key)

Definition at line 877 of file __ListedHashMapT-GCC.h.

878{
879 size_t nErased = 0;
880 size_t index = bucketIndex(_key);
881 HashNode* pCurrentNode = (HashNode*)__buckets[index];
882 if (pCurrentNode != NULL)
883 {
884 if (pCurrentNode->key == _key) // first
885 {
886 __buckets[index] = pCurrentNode->pNext;
888 nErased++;
889 __size--;
890 }
891 else
892 {
893 HashNode* pNextNode = pCurrentNode->pNext;
894 while(pNextNode != NULL)
895 {
896 if (pNextNode->key == _key)
897 {
898 pCurrentNode->pNext = pNextNode->pNext;
900 nErased++;
901 __size--;
902 break;
903 }
904 else
905 {
907 pNextNode = pCurrentNode->pNext;
908 }
909 }
910 }
911 }
912 return nErased;
913}
size_t bucketIndex(const KEY &_key) const

◆ erase() [4/4]

template<typename KEY, typename VALUE, typename HASH_FUN = HashFun<KEY>>
size_t ListedHashMap< KEY, VALUE, HASH_FUN >::erase ( const KEY & _key)

◆ find() [1/4]

template<typename KEY, typename VALUE, typename HASH_FUN>
ListedHashMap< KEY, VALUE, HASH_FUN >::Iterator ListedHashMap< KEY, VALUE, HASH_FUN >::find ( const KEY & _key)

Definition at line 734 of file __ListedHashMapT-GCC.h.

735{
736 size_t index = bucketIndex(_key);
737 HashNode* pNode = (HashNode*)__buckets[index];
738 while (pNode) {
739 if (pNode->key == _key) {
740 break;
741 }
742 pNode = pNode->pNext;
743 }
744 return Iterator(pNode ? (NodeBase*)pNode : __pMasterNode);
745}

◆ find() [2/4]

template<typename KEY, typename VALUE, typename HASH_FUN = HashFun<KEY>>
Iterator ListedHashMap< KEY, VALUE, HASH_FUN >::find ( const KEY & _key)

◆ find() [3/4]

template<typename KEY, typename VALUE, typename HASH_FUN>
ListedHashMap< KEY, VALUE, HASH_FUN >::ConstIterator ListedHashMap< KEY, VALUE, HASH_FUN >::find ( const KEY & _key) const

Definition at line 749 of file __ListedHashMapT-GCC.h.

750{
751 size_t index = bucketIndex(_key);
752 const HashNode* pNode = (HashNode*)__buckets[index];
753 while (pNode) {
754 if (pNode->key == _key) {
755 break;
756 }
757 pNode = pNode->pNext;
758 }
759 return ConstIterator(pNode ? (NodeBase*)pNode : __pMasterNode);
760}

◆ find() [4/4]

template<typename KEY, typename VALUE, typename HASH_FUN = HashFun<KEY>>
ConstIterator ListedHashMap< KEY, VALUE, HASH_FUN >::find ( const KEY & _key) const

◆ initBuckets() [1/2]

template<typename KEY, typename VALUE, typename HASH_FUN>
void ListedHashMap< KEY, VALUE, HASH_FUN >::initBuckets ( size_t _bucketSize)

Definition at line 667 of file __ListedHashMapT-GCC.h.

668{
669 clear();
671}

◆ initBuckets() [2/2]

template<typename KEY, typename VALUE, typename HASH_FUN = HashFun<KEY>>
void ListedHashMap< KEY, VALUE, HASH_FUN >::initBuckets ( size_t _bucketSize)

◆ isEmpty() [1/2]

template<typename KEY, typename VALUE, typename HASH_FUN>
bool ListedHashMap< KEY, VALUE, HASH_FUN >::isEmpty ( ) const
inline

Definition at line 612 of file __ListedHashMapT-GCC.h.

613{
614 return __size == 0;
615}

◆ isEmpty() [2/2]

template<typename KEY, typename VALUE, typename HASH_FUN = HashFun<KEY>>
bool ListedHashMap< KEY, VALUE, HASH_FUN >::isEmpty ( ) const

◆ lookup() [1/2]

template<typename KEY, typename VALUE, typename HASH_FUN>
bool ListedHashMap< KEY, VALUE, HASH_FUN >::lookup ( const KEY & _key,
VALUE & _rValue ) const

Definition at line 764 of file __ListedHashMapT-GCC.h.

765{
766 size_t index = bucketIndex(_key);
767 HashNode* pNode = (HashNode*)__buckets[index];
768 while(pNode != NULL) {
769 if (pNode->key == _key) {
770 _rValue = pNode->value;
771 return true;
772 }
773 pNode = pNode->pNext;
774 }
775 return false;
776}

◆ lookup() [2/2]

template<typename KEY, typename VALUE, typename HASH_FUN = HashFun<KEY>>
bool ListedHashMap< KEY, VALUE, HASH_FUN >::lookup ( const KEY & _key,
VALUE & _rValue ) const

◆ operator=() [1/2]

template<typename KEY, typename VALUE, typename HASH_FUN>
const ListedHashMap< KEY, VALUE, HASH_FUN > & ListedHashMap< KEY, VALUE, HASH_FUN >::operator= ( const ListedHashMap< KEY, VALUE, HASH_FUN > & _src)

Definition at line 691 of file __ListedHashMapT-GCC.h.

692{
693 if (&_src != this)
694 {
695 clear();
697 __buckets.resize(_src.__buckets.size());
698
699 for(size_t index = 0; index < _src.__buckets.size(); index++)
700 {
701 const HashNode* pNode = (HashNode*) _src.__buckets[index];
702 if (pNode != NULL)
703 {
704 HashNode* pNewNode = createNode(pNode->key);
705 pNewNode->value = pNode->value;
707 for(pNode = pNode->pNext; pNode != NULL; pNode = pNode->pNext)
708 {
709 pNewNode->pNext = createNode(pNode->key);
710 pNewNode = pNewNode->pNext;
711 pNewNode->value = pNode->value;
712 }
713 }
714 }
715 }
716 return *this;
717}
HashNode * createNode(const KEY &_key)

◆ operator=() [2/2]

template<typename KEY, typename VALUE, typename HASH_FUN = HashFun<KEY>>
const ListedHashMap & ListedHashMap< KEY, VALUE, HASH_FUN >::operator= ( const ListedHashMap< KEY, VALUE, HASH_FUN > & _src)

◆ operator[]() [1/2]

template<typename KEY, typename VALUE, typename HASH_FUN>
VALUE & ListedHashMap< KEY, VALUE, HASH_FUN >::operator[] ( const KEY & _key)

Definition at line 780 of file __ListedHashMapT-GCC.h.

781{
782 size_t index = bucketIndex(_key);
783 HashNode* pFirstNode = (HashNode*)__buckets[index];
784 for(HashNode* pCurrentNode = pFirstNode; pCurrentNode!= NULL;
785 pCurrentNode = pCurrentNode->pNext)
786 {
787 if (pCurrentNode->key == _key)
788 return pCurrentNode->value;
789 }
790
791 HashNode* pNewNode = createNode(_key);
792 pNewNode->pNext = pFirstNode;
794 __size++;
795 return pNewNode->value;
796}

◆ operator[]() [2/2]

template<typename KEY, typename VALUE, typename HASH_FUN = HashFun<KEY>>
VALUE & ListedHashMap< KEY, VALUE, HASH_FUN >::operator[] ( const KEY & _key)

◆ put() [1/2]

template<typename KEY, typename VALUE, typename HASH_FUN>
void ListedHashMap< KEY, VALUE, HASH_FUN >::put ( const KEY & _key,
const VALUE & _value,
UpdateCallback & _cb )

_key와 동일한 노드가 있으면 _value를 변경하기 전에 _cb를 호출한다.

Definition at line 801 of file __ListedHashMapT-GCC.h.

802{
803 size_t index = bucketIndex(_key);
804 HashNode* pFirstNode = (HashNode*)__buckets[index];
805 for(HashNode* pCurrentNode = pFirstNode; pCurrentNode!= NULL;
806 pCurrentNode = pCurrentNode->pNext)
807 {
808 if (pCurrentNode->key == _key)
809 {
810 _cb.onUpdate(*(Assoc*)pCurrentNode);
811 pCurrentNode->value = _value;
812 return;
813 }
814 }
815
816 HashNode* pNewNode = createNode(_key);
817 pNewNode->pNext = pFirstNode;
819 __size++;
820 pNewNode->value = _value;
821}

◆ put() [2/2]

template<typename KEY, typename VALUE, typename HASH_FUN = HashFun<KEY>>
void ListedHashMap< KEY, VALUE, HASH_FUN >::put ( const KEY & _key,
const VALUE & _value,
UpdateCallback & _cb )

_key와 동일한 노드가 있으면 _value를 변경하기 전에 _cb를 호출한다.

◆ rbegin() [1/4]

template<typename KEY, typename VALUE, typename HASH_FUN>
ListedHashMap< KEY, VALUE, HASH_FUN >::ReverseIterator ListedHashMap< KEY, VALUE, HASH_FUN >::rbegin ( )
inline

Definition at line 578 of file __ListedHashMapT-GCC.h.

579{
580 return __pMasterNode->pPrev;
581}

◆ rbegin() [2/4]

template<typename KEY, typename VALUE, typename HASH_FUN = HashFun<KEY>>
ReverseIterator ListedHashMap< KEY, VALUE, HASH_FUN >::rbegin ( )

◆ rbegin() [3/4]

template<typename KEY, typename VALUE, typename HASH_FUN>
ListedHashMap< KEY, VALUE, HASH_FUN >::ReverseConstIterator ListedHashMap< KEY, VALUE, HASH_FUN >::rbegin ( ) const
inline

Definition at line 562 of file __ListedHashMapT-GCC.h.

563{
564 return __pMasterNode->pPrev;
565}

◆ rbegin() [4/4]

template<typename KEY, typename VALUE, typename HASH_FUN = HashFun<KEY>>
ReverseConstIterator ListedHashMap< KEY, VALUE, HASH_FUN >::rbegin ( ) const

◆ rend() [1/4]

template<typename KEY, typename VALUE, typename HASH_FUN>
ListedHashMap< KEY, VALUE, HASH_FUN >::ReverseIterator ListedHashMap< KEY, VALUE, HASH_FUN >::rend ( )
inline

Definition at line 586 of file __ListedHashMapT-GCC.h.

587{
588 return __pMasterNode;
589}

◆ rend() [2/4]

template<typename KEY, typename VALUE, typename HASH_FUN = HashFun<KEY>>
ReverseIterator ListedHashMap< KEY, VALUE, HASH_FUN >::rend ( )

◆ rend() [3/4]

template<typename KEY, typename VALUE, typename HASH_FUN>
ListedHashMap< KEY, VALUE, HASH_FUN >::ReverseConstIterator ListedHashMap< KEY, VALUE, HASH_FUN >::rend ( ) const
inline

Definition at line 570 of file __ListedHashMapT-GCC.h.

571{
572 return __pMasterNode;
573}

◆ rend() [4/4]

template<typename KEY, typename VALUE, typename HASH_FUN = HashFun<KEY>>
ReverseConstIterator ListedHashMap< KEY, VALUE, HASH_FUN >::rend ( ) const

◆ size() [1/2]

template<typename KEY, typename VALUE, typename HASH_FUN>
size_t ListedHashMap< KEY, VALUE, HASH_FUN >::size ( ) const
inline

Definition at line 604 of file __ListedHashMapT-GCC.h.

605{
606 return __size;
607}

◆ size() [2/2]

template<typename KEY, typename VALUE, typename HASH_FUN = HashFun<KEY>>
size_t ListedHashMap< KEY, VALUE, HASH_FUN >::size ( ) const

◆ sizeOfBucket() [1/2]

template<typename KEY, typename VALUE, typename HASH_FUN>
size_t ListedHashMap< KEY, VALUE, HASH_FUN >::sizeOfBucket ( size_t index) const

Definition at line 721 of file __ListedHashMapT-GCC.h.

722{
723 __DCL_ASSERT(_index < __buckets.size());
724
725 size_t nCount = 0;
726 HashNode* pNode = (HashNode*)__buckets[_index];
727 for(; pNode != NULL; pNode = pNode->pNext)
728 nCount++;
729 return nCount;
730}

◆ sizeOfBucket() [2/2]

template<typename KEY, typename VALUE, typename HASH_FUN = HashFun<KEY>>
size_t ListedHashMap< KEY, VALUE, HASH_FUN >::sizeOfBucket ( size_t index) const

◆ ConstIterator

template<typename KEY, typename VALUE, typename HASH_FUN = HashFun<KEY>>
ConstIterator
friend

Definition at line 162 of file __ListedHashMapT-GCC.h.

◆ Iterator

template<typename KEY, typename VALUE, typename HASH_FUN = HashFun<KEY>>
Iterator
friend

Definition at line 161 of file __ListedHashMapT-GCC.h.

Member Data Documentation

◆ __buckets

template<typename KEY, typename VALUE, typename HASH_FUN = HashFun<KEY>>
PointerArray ListedHashMap< KEY, VALUE, HASH_FUN >::__buckets
protected

Definition at line 159 of file __ListedHashMapT-GCC.h.

◆ __hashFun

template<typename KEY, typename VALUE, typename HASH_FUN = HashFun<KEY>>
HASH_FUN ListedHashMap< KEY, VALUE, HASH_FUN >::__hashFun
protected

Definition at line 157 of file __ListedHashMapT-GCC.h.

◆ __pMasterNode

template<typename KEY, typename VALUE, typename HASH_FUN = HashFun<KEY>>
NodeBase * ListedHashMap< KEY, VALUE, HASH_FUN >::__pMasterNode
protected

Definition at line 156 of file __ListedHashMapT-GCC.h.

◆ __size

template<typename KEY, typename VALUE, typename HASH_FUN = HashFun<KEY>>
size_t ListedHashMap< KEY, VALUE, HASH_FUN >::__size
protected

Definition at line 158 of file __ListedHashMapT-GCC.h.


The documentation for this class was generated from the following files: