Richard Boegli's CnC_Generals_Zero_Hour Fork WIP
This is documentation of Richard Boegil's Zero Hour Fork
 
Loading...
Searching...
No Matches
HashListClass< T, U, NumHashValues > Class Template Reference

#include <HASHLIST.H>

Inherits HashNodeFriendClass< T, class HashDefaultUserClass >.

Public Member Functions

 HashListClass ()
 
 ~HashListClass ()
 
HashNodeClass< T, U > * First ()
 
HashNodeClass< T, U > * First_Valid ()
 
HashNodeClass< T, U > * Last ()
 
HashNodeClass< T, U > * Last_Valid ()
 
HashNodeClass< T, U > * Add (T record, unsigned key)
 
HashNodeClass< T, U > * Add (HashNodeClass< T, U > *node)
 
HashNodeClass< T, U > * Find (unsigned key)
 
void Remove (HashNodeClass< T, U > *node)
 
bool Remove (unsigned key)
 
void Delete (void)
 
void Move_To (HashListClass< T, U > *newlist)
 
unsigned Hash_Value (unsigned key)
 
int Num_Records ()
 
int Num_Used_Values ()
 

Protected Attributes

List< DataNode< T > * > List
 
HashNodeClass< T, U > * HashTable [NumHashValues]
 
int NumRecords
 
int UsedValues
 

Additional Inherited Members

- Protected Member Functions inherited from HashNodeFriendClass< T, class HashDefaultUserClass >
void Set_In_List (HashNodeClass< T, class HashDefaultUserClass > *ptr)
 
void Clear_In_List (HashNodeClass< T, class HashDefaultUserClass > *ptr)
 
bool Is_First (HashNodeClass< T, class HashDefaultUserClass > *ptr)
 
bool Is_Last (HashNodeClass< T, class HashDefaultUserClass > *ptr)
 
void Set_First (HashNodeClass< T, class HashDefaultUserClass > *ptr)
 
void Set_Last (HashNodeClass< T, class HashDefaultUserClass > *ptr)
 
void Clear_First (HashNodeClass< T, class HashDefaultUserClass > *ptr)
 
void Clear_Last (HashNodeClass< T, class HashDefaultUserClass > *ptr)
 
void Set_List_Created (HashNodeClass< T, class HashDefaultUserClass > *ptr)
 
void Clear_List_Created (HashNodeClass< T, class HashDefaultUserClass > *ptr)
 
bool Is_List_Created (HashNodeClass< T, class HashDefaultUserClass > *ptr)
 
void Unlink (HashNodeClass< T, class HashDefaultUserClass > *ptr)
 

Detailed Description

template<class T, class U = class HashDefaultUserClass, int NumHashValues = A_LARGE_PRIME_NUMBER>
class HashListClass< T, U, NumHashValues >

Definition at line 308 of file HASHLIST.H.

Constructor & Destructor Documentation

◆ HashListClass()

template<class T, class U = class HashDefaultUserClass, int NumHashValues = A_LARGE_PRIME_NUMBER>
HashListClass< T, U, NumHashValues >::HashListClass ( )
inline

Definition at line 312 of file HASHLIST.H.

◆ ~HashListClass()

template<class T, class U = class HashDefaultUserClass, int NumHashValues = A_LARGE_PRIME_NUMBER>
HashListClass< T, U, NumHashValues >::~HashListClass ( )
inline

Definition at line 317 of file HASHLIST.H.

Member Function Documentation

◆ Add() [1/2]

template<class T, class U, int NumHashValues>
HashNodeClass< T, U > * HashListClass< T, U, NumHashValues >::Add ( HashNodeClass< T, U > * node)

Definition at line 408 of file HASHLIST.H.

◆ Add() [2/2]

template<class T, class U, int NumHashValues>
HashNodeClass< T, U > * HashListClass< T, U, NumHashValues >::Add ( T record,
unsigned key )

Definition at line 456 of file HASHLIST.H.

◆ Delete()

template<class T, class U = class HashDefaultUserClass, int NumHashValues = A_LARGE_PRIME_NUMBER>
void HashListClass< T, U, NumHashValues >::Delete ( void )
inline

Definition at line 355 of file HASHLIST.H.

◆ Find()

template<class T, class U, int NumHashValues>
HashNodeClass< T, U > * HashListClass< T, U, NumHashValues >::Find ( unsigned key)

Definition at line 480 of file HASHLIST.H.

◆ First()

template<class T, class U = class HashDefaultUserClass, int NumHashValues = A_LARGE_PRIME_NUMBER>
HashNodeClass< T, U > * HashListClass< T, U, NumHashValues >::First ( )
inline

Definition at line 323 of file HASHLIST.H.

◆ First_Valid()

template<class T, class U = class HashDefaultUserClass, int NumHashValues = A_LARGE_PRIME_NUMBER>
HashNodeClass< T, U > * HashListClass< T, U, NumHashValues >::First_Valid ( )
inline

Definition at line 326 of file HASHLIST.H.

◆ Hash_Value()

template<class T, class U = class HashDefaultUserClass, int NumHashValues = A_LARGE_PRIME_NUMBER>
unsigned HashListClass< T, U, NumHashValues >::Hash_Value ( unsigned key)
inline

Definition at line 361 of file HASHLIST.H.

◆ Last()

template<class T, class U = class HashDefaultUserClass, int NumHashValues = A_LARGE_PRIME_NUMBER>
HashNodeClass< T, U > * HashListClass< T, U, NumHashValues >::Last ( )
inline

Definition at line 329 of file HASHLIST.H.

◆ Last_Valid()

template<class T, class U = class HashDefaultUserClass, int NumHashValues = A_LARGE_PRIME_NUMBER>
HashNodeClass< T, U > * HashListClass< T, U, NumHashValues >::Last_Valid ( )
inline

Definition at line 332 of file HASHLIST.H.

◆ Move_To()

template<class T, class U, int NumHashValues>
void HashListClass< T, U, NumHashValues >::Move_To ( HashListClass< T, U > * newlist)

Definition at line 611 of file HASHLIST.H.

◆ Num_Records()

template<class T, class U = class HashDefaultUserClass, int NumHashValues = A_LARGE_PRIME_NUMBER>
int HashListClass< T, U, NumHashValues >::Num_Records ( )
inline

Definition at line 366 of file HASHLIST.H.

◆ Num_Used_Values()

template<class T, class U = class HashDefaultUserClass, int NumHashValues = A_LARGE_PRIME_NUMBER>
int HashListClass< T, U, NumHashValues >::Num_Used_Values ( )
inline

Definition at line 372 of file HASHLIST.H.

◆ Remove() [1/2]

template<class T, class U, int NumHashValues>
void HashListClass< T, U, NumHashValues >::Remove ( HashNodeClass< T, U > * node)

Definition at line 524 of file HASHLIST.H.

◆ Remove() [2/2]

template<class T, class U, int NumHashValues>
bool HashListClass< T, U, NumHashValues >::Remove ( unsigned key)

Definition at line 585 of file HASHLIST.H.

Member Data Documentation

◆ HashTable

template<class T, class U = class HashDefaultUserClass, int NumHashValues = A_LARGE_PRIME_NUMBER>
HashNodeClass<T,U>* HashListClass< T, U, NumHashValues >::HashTable[NumHashValues]
protected

Definition at line 383 of file HASHLIST.H.

◆ List

template<class T, class U = class HashDefaultUserClass, int NumHashValues = A_LARGE_PRIME_NUMBER>
List<DataNode<T> *> HashListClass< T, U, NumHashValues >::List
protected

Definition at line 379 of file HASHLIST.H.

◆ NumRecords

template<class T, class U = class HashDefaultUserClass, int NumHashValues = A_LARGE_PRIME_NUMBER>
int HashListClass< T, U, NumHashValues >::NumRecords
protected

Definition at line 386 of file HASHLIST.H.

◆ UsedValues

template<class T, class U = class HashDefaultUserClass, int NumHashValues = A_LARGE_PRIME_NUMBER>
int HashListClass< T, U, NumHashValues >::UsedValues
protected

Definition at line 387 of file HASHLIST.H.


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