WvStreams
Classes | Public Member Functions | Static Public Attributes | Protected Types | Protected Member Functions | Protected Attributes | Friends | List of all members
WvScatterHashBase Class Referenceabstract
Inheritance diagram for WvScatterHashBase:
Inheritance graph
[legend]

Classes

class  IterBase
 

Public Member Functions

 WvScatterHashBase (unsigned _numslots)
 
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 void * Slot
 
typedef unsigned char Status
 

Protected Member Functions

virtual unsigned do_hash (const void *data)=0
 
virtual void do_delete (void *data)=0
 
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)
 
virtual bool compare (const void *key, const void *elem) const =0
 

Protected Attributes

Slot * xslots
 
Status * xstatus
 
int prime_index
 
unsigned numslots
 

Friends

class IterBase
 

Detailed Description

Definition at line 22 of file wvscatterhash.h.

Member Data Documentation

◆ prime_numbers

const unsigned WvScatterHashBase::prime_numbers
static
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 files: