Classes | Public Types | Public Member Functions | Friends

js::HashMap< Key, Value, HashPolicy, AllocPolicy > Class Template Reference

#include <jshashtable.h>

Collaboration diagram for js::HashMap< Key, Value, HashPolicy, AllocPolicy >:

List of all members.

Classes

class  Entry
struct  MapHashPolicy

Public Types

typedef HashPolicy::Lookup Lookup
typedef Impl::Ptr Ptr
typedef Impl::AddPtr AddPtr
typedef Impl::Range Range
typedef Impl::Enum Enum

Public Member Functions

 HashMap (AllocPolicy a=AllocPolicy())
bool init (uint32 len=0)
bool initialized () const
Ptr lookup (const Lookup &l) const
void remove (Ptr p)
AddPtr lookupForAdd (const Lookup &l) const
bool add (AddPtr &p, const Key &k, const Value &v)
bool add (AddPtr &p, const Key &k)
bool relookupOrAdd (AddPtr &p, const Key &k, const Value &v)
Range all () const
size_t count () const
void clear ()
bool empty () const
unsigned generation () const
bool has (const Lookup &l) const
Entryput (const Key &k, const Value &v)
void remove (const Lookup &l)

Friends

class Impl::Enum

template<class Key, class Value, class HashPolicy, class AllocPolicy>
class js::HashMap< Key, Value, HashPolicy, AllocPolicy >


Member Typedef Documentation

template<class Key, class Value, class HashPolicy, class AllocPolicy>
typedef Impl::AddPtr js::HashMap< Key, Value, HashPolicy, AllocPolicy >::AddPtr
template<class Key, class Value, class HashPolicy, class AllocPolicy>
typedef Impl::Enum js::HashMap< Key, Value, HashPolicy, AllocPolicy >::Enum
template<class Key, class Value, class HashPolicy, class AllocPolicy>
typedef HashPolicy::Lookup js::HashMap< Key, Value, HashPolicy, AllocPolicy >::Lookup
template<class Key, class Value, class HashPolicy, class AllocPolicy>
typedef Impl::Ptr js::HashMap< Key, Value, HashPolicy, AllocPolicy >::Ptr
template<class Key, class Value, class HashPolicy, class AllocPolicy>
typedef Impl::Range js::HashMap< Key, Value, HashPolicy, AllocPolicy >::Range

Constructor & Destructor Documentation

template<class Key, class Value, class HashPolicy, class AllocPolicy>
js::HashMap< Key, Value, HashPolicy, AllocPolicy >::HashMap ( AllocPolicy  a = AllocPolicy()  )  [inline]

Member Function Documentation

template<class Key, class Value, class HashPolicy, class AllocPolicy>
bool js::HashMap< Key, Value, HashPolicy, AllocPolicy >::add ( AddPtr p,
const Key &  k,
const Value v 
) [inline]
template<class Key, class Value, class HashPolicy, class AllocPolicy>
bool js::HashMap< Key, Value, HashPolicy, AllocPolicy >::add ( AddPtr p,
const Key &  k 
) [inline]
template<class Key, class Value, class HashPolicy, class AllocPolicy>
Range js::HashMap< Key, Value, HashPolicy, AllocPolicy >::all (  )  const [inline]
template<class Key, class Value, class HashPolicy, class AllocPolicy>
void js::HashMap< Key, Value, HashPolicy, AllocPolicy >::clear (  )  [inline]
template<class Key, class Value, class HashPolicy, class AllocPolicy>
size_t js::HashMap< Key, Value, HashPolicy, AllocPolicy >::count (  )  const [inline]
template<class Key, class Value, class HashPolicy, class AllocPolicy>
bool js::HashMap< Key, Value, HashPolicy, AllocPolicy >::empty (  )  const [inline]
template<class Key, class Value, class HashPolicy, class AllocPolicy>
unsigned js::HashMap< Key, Value, HashPolicy, AllocPolicy >::generation (  )  const [inline]
template<class Key, class Value, class HashPolicy, class AllocPolicy>
bool js::HashMap< Key, Value, HashPolicy, AllocPolicy >::has ( const Lookup l  )  const [inline]
template<class Key, class Value, class HashPolicy, class AllocPolicy>
bool js::HashMap< Key, Value, HashPolicy, AllocPolicy >::init ( uint32  len = 0  )  [inline]
template<class Key, class Value, class HashPolicy, class AllocPolicy>
bool js::HashMap< Key, Value, HashPolicy, AllocPolicy >::initialized (  )  const [inline]
template<class Key, class Value, class HashPolicy, class AllocPolicy>
Ptr js::HashMap< Key, Value, HashPolicy, AllocPolicy >::lookup ( const Lookup l  )  const [inline]
template<class Key, class Value, class HashPolicy, class AllocPolicy>
AddPtr js::HashMap< Key, Value, HashPolicy, AllocPolicy >::lookupForAdd ( const Lookup l  )  const [inline]
template<class Key, class Value, class HashPolicy, class AllocPolicy>
Entry* js::HashMap< Key, Value, HashPolicy, AllocPolicy >::put ( const Key &  k,
const Value v 
) [inline]
template<class Key, class Value, class HashPolicy, class AllocPolicy>
bool js::HashMap< Key, Value, HashPolicy, AllocPolicy >::relookupOrAdd ( AddPtr p,
const Key &  k,
const Value v 
) [inline]
template<class Key, class Value, class HashPolicy, class AllocPolicy>
void js::HashMap< Key, Value, HashPolicy, AllocPolicy >::remove ( Ptr  p  )  [inline]
template<class Key, class Value, class HashPolicy, class AllocPolicy>
void js::HashMap< Key, Value, HashPolicy, AllocPolicy >::remove ( const Lookup l  )  [inline]

Friends And Related Function Documentation

template<class Key, class Value, class HashPolicy, class AllocPolicy>
friend class Impl::Enum [friend]

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