HashMap class template. More...

#include <WHashMap.h>

Collaboration diagram for HashMap< K, V >:
[legend]

Public Types

typedef bool(* comparator) (const K &, const K &)
 

Public Member Functions

 HashMap ()
 
 HashMap (comparator compare)
 
 ~HashMap ()
 
unsigned int count () const
 
const K & keyAt (unsigned int idx) const
 
K & keyAt (unsigned int idx)
 
const V & valueAt (unsigned int idx) const
 
V & valueAt (unsigned int idx)
 
const V & operator[] (const K &key) const
 
V & operator[] (const K &key)
 
void allocate (unsigned int newSize)
 
int indexOf (const K &key) const
 
bool contains (const K &key) const
 
void removeAt (unsigned index)
 
void remove (const K &key)
 
void clear ()
 
void setMultiple (const HashMap< K, V > &map)
 
void setNullValue (const V &nullv)
 

Protected Attributes

K ** keys = nullptr
 
V ** values = nullptr
 
nil
 
uint16_t currentIndex = 0
 
uint16_t size = 0
 
comparator cb_comparator = nullptr
 

Detailed Description

template<typename K, typename V>
class HashMap< K, V >

HashMap class template.

Member Typedef Documentation

◆ comparator

template<typename K, typename V>
typedef bool(* HashMap< K, V >::comparator) (const K &, const K &)

Constructor & Destructor Documentation

◆ HashMap() [1/2]

template<typename K, typename V>
HashMap< K, V >::HashMap ( )
inline

◆ HashMap() [2/2]

template<typename K, typename V>
HashMap< K, V >::HashMap ( comparator  compare)
inline

◆ ~HashMap()

template<typename K, typename V>
HashMap< K, V >::~HashMap ( )
inline

Member Function Documentation

◆ allocate()

template<typename K , typename V >
void HashMap< K, V >::allocate ( unsigned int  newSize)

◆ clear()

template<typename K , typename V >
void HashMap< K, V >::clear ( void  )

◆ contains()

template<typename K, typename V>
bool HashMap< K, V >::contains ( const K &  key) const
inline

◆ count()

template<typename K, typename V>
unsigned int HashMap< K, V >::count ( ) const
inline

◆ indexOf()

template<typename K, typename V >
int HashMap< K, V >::indexOf ( const K &  key) const

◆ keyAt() [1/2]

template<typename K, typename V>
const K& HashMap< K, V >::keyAt ( unsigned int  idx) const
inline

◆ keyAt() [2/2]

template<typename K, typename V>
K& HashMap< K, V >::keyAt ( unsigned int  idx)
inline

◆ operator[]() [1/2]

template<typename K, typename V>
const V& HashMap< K, V >::operator[] ( const K &  key) const
inline

◆ operator[]() [2/2]

template<typename K, typename V >
V & HashMap< K, V >::operator[] ( const K &  key)

◆ remove()

template<typename K, typename V>
void HashMap< K, V >::remove ( const K &  key)
inline

◆ removeAt()

template<typename K , typename V >
void HashMap< K, V >::removeAt ( unsigned  index)

◆ setMultiple()

template<typename K, typename V>
void HashMap< K, V >::setMultiple ( const HashMap< K, V > &  map)

◆ setNullValue()

template<typename K, typename V>
void HashMap< K, V >::setNullValue ( const V &  nullv)
inline

◆ valueAt() [1/2]

template<typename K, typename V>
const V& HashMap< K, V >::valueAt ( unsigned int  idx) const
inline

◆ valueAt() [2/2]

template<typename K, typename V>
V& HashMap< K, V >::valueAt ( unsigned int  idx)
inline

Member Data Documentation

◆ cb_comparator

template<typename K, typename V>
comparator HashMap< K, V >::cb_comparator = nullptr
protected

◆ currentIndex

template<typename K, typename V>
uint16_t HashMap< K, V >::currentIndex = 0
protected

◆ keys

template<typename K, typename V>
K** HashMap< K, V >::keys = nullptr
protected

◆ nil

template<typename K, typename V>
V HashMap< K, V >::nil
protected

◆ size

template<typename K, typename V>
uint16_t HashMap< K, V >::size = 0
protected

◆ values

template<typename K, typename V>
V** HashMap< K, V >::values = nullptr
protected

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