WvStreams
Classes | Public Types | Public Member Functions | Static Public Attributes | Protected Types | Protected Member Functions | Protected Attributes | Friends
WvScatterHash< T, K, Accessor, Comparator > Class Template Reference
Inheritance diagram for WvScatterHash< T, K, Accessor, Comparator >:
Inheritance graph
[legend]

List of all members.

Classes

class  Iter

Public Types

typedef class WvSorter< T,
WvScatterHashBase,
WvScatterHashBase::IterBase
Sorter

Public Member Functions

 WvScatterHash (unsigned _numslots=0)
T * operator[] (const K &key) const
void add (const T *data, bool autofree=false)
void remove (const T *data)
void set_autofree (const K &key, bool autofree)
void set_autofree (const T *data, bool autofree)
bool get_autofree (const K &key)
bool get_autofree (const T *data)
void zap ()
size_t count () const
bool isempty () const
size_t slowcount () const

Static Public Attributes

static const unsigned null_idx = (unsigned)-1
static const unsigned prime_numbers []

Protected Types

typedef Comparator< K > MyComparator
typedef void * Slot
typedef unsigned char Status

Protected Member Functions

virtual bool compare (const void *key, const void *elem) const
unsigned hash (const T *data)
virtual unsigned do_hash (const void *data)
virtual void do_delete (void *data)
unsigned genfind (const void *data, unsigned hash) const
Slot genfind_or_null (const void *data, unsigned hash) const
void _add (void *data, bool autofree)
void _add (void *data, unsigned hash, bool autofree)
void _remove (const void *data, unsigned hash)
void _zap ()
void _set_autofree (const void *data, unsigned hash, bool autofree)
bool _get_autofree (const void *data, unsigned hash)

Protected Attributes

Slot * xslots
Status * xstatus
int prime_index
unsigned numslots

Friends

class IterBase

Detailed Description

template<class T, class K, class Accessor, template< class > class Comparator = OpEqComp>
class WvScatterHash< T, K, Accessor, Comparator >

Definition at line 125 of file wvscatterhash.h.


Member Data Documentation

const unsigned WvScatterHashBase::prime_numbers [static, inherited]
Initial value:
 {2u, 5u, 11u, 17u,
       31u, 67u, 127u, 251u,
       509u, 1021u, 2039u, 4093u,
       8191u, 16381u, 32749u, 65521u,
       131071u, 262139u, 524287u, 1048573u,
       2097143u, 4194301u, 8388593u, 16777213u,
       33554393u, 67108859u, 134217689u, 268435399u,
       536870909u, 1073741789u, 2147483647u, 4294967281u}

Definition at line 29 of file wvscatterhash.h.


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