vdr 2.7.2
cHashBase Class Reference

#include <tools.h>

Public Member Functions

virtual ~cHashBase ()
 
void Add (cListObject *Object, unsigned int Id)
 
void Del (cListObject *Object, unsigned int Id)
 
void Clear (void)
 
cListObjectGet (unsigned int Id) const
 
cList< cHashObject > * GetList (unsigned int Id) const
 

Protected Member Functions

 cHashBase (int Size, bool OwnObjects)
 

Private Member Functions

unsigned int hashfn (unsigned int Id) const
 

Private Attributes

cList< cHashObject > ** hashTable
 
int size
 
bool ownObjects
 

Detailed Description

Definition at line 893 of file tools.h.

Constructor & Destructor Documentation

◆ cHashBase()

cHashBase::cHashBase ( int Size,
bool OwnObjects )
protected

Creates a new hash of the given Size.

If OwnObjects is true, the hash takes ownership of the objects given in the calls to Add(), and deletes them when Clear() is called or the hash is destroyed (unless the object has been removed from the hash by calling Del()).

Definition at line 2354 of file tools.c.

References hashTable, ownObjects, and size.

◆ ~cHashBase()

cHashBase::~cHashBase ( void )
virtual

Definition at line 2361 of file tools.c.

References Clear(), and hashTable.

Member Function Documentation

◆ Add()

void cHashBase::Add ( cListObject * Object,
unsigned int Id )

Definition at line 2367 of file tools.c.

References cListBase::Add(), hashfn(), and hashTable.

Referenced by cEIT::cEIT(), cChannels::HashChannel(), and cSchedule::HashEvent().

◆ Clear()

void cHashBase::Clear ( void )

◆ Del()

void cHashBase::Del ( cListObject * Object,
unsigned int Id )

◆ Get()

cListObject * cHashBase::Get ( unsigned int Id) const

Definition at line 2403 of file tools.c.

References cList< T >::First(), hashfn(), hashTable, and cList< T >::Next().

Referenced by cHash< T >::Get().

◆ GetList()

cList< cHashObject > * cHashBase::GetList ( unsigned int Id) const

Definition at line 2415 of file tools.c.

References hashfn(), and hashTable.

Referenced by cChannels::GetByChannelID(), and cChannels::GetByServiceID().

◆ hashfn()

unsigned int cHashBase::hashfn ( unsigned int Id) const
inlineprivate

Definition at line 898 of file tools.h.

Referenced by Add(), Del(), Get(), and GetList().

Member Data Documentation

◆ hashTable

cList<cHashObject>** cHashBase::hashTable
private

Definition at line 895 of file tools.h.

Referenced by Add(), cHashBase(), Clear(), Del(), Get(), GetList(), and ~cHashBase().

◆ ownObjects

bool cHashBase::ownObjects
private

Definition at line 897 of file tools.h.

Referenced by cHashBase(), and Clear().

◆ size

int cHashBase::size
private

Definition at line 896 of file tools.h.

Referenced by cHashBase(), and Clear().


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