MySQL 5.6.14 Source Code Document
|
#include <DLHashTable.hpp>
Classes | |
class | Iterator |
Public Member Functions | |
DLHashTableImpl (P &thePool) | |
bool | setSize (Uint32 noOfElements) |
bool | seize (Ptr< T > &) |
void | add (Ptr< T > &) |
bool | find (Ptr< T > &, const T &key) const |
void | getPtr (Ptr< T > &, Uint32 i) const |
void | getPtr (Ptr< T > &) const |
T * | getPtr (Uint32 i) const |
void | remove (Ptr< T > &, const T &key) |
void | remove (Uint32 i) |
void | remove (Ptr< T > &) |
void | removeAll () |
void | release (Uint32 i) |
void | release (Ptr< T > &) |
void | getPtr (Iterator &iter) const |
bool | first (Iterator &iter) const |
bool | next (Iterator &iter) const |
bool | next (Uint32 bucket, Iterator &iter) const |
DLHashTable implements a hashtable using chaining (with a double linked list)
The entries in the hashtable must have the following methods:
Definition at line 36 of file DLHashTable.hpp.
|
inline |
Add an object to the hashtable
Reimplemented in DLCHashTable< T, U >, and DLCHashTable< Page_entry >.
Definition at line 212 of file DLHashTable.hpp.
|
inline |
Find element key in hashtable update Ptr (i & p) (using key.equal(...))
Reimplemented in KeyTableImpl< P, T >, KeyTableImpl< Tablespace_pool, Tablespace >, KeyTableImpl< Logfile_group_pool, Logfile_group >, KeyTableImpl< ArrayPool< T >, T >, KeyTableImpl< Filegroup_pool, Filegroup >, KeyTableImpl< HashMap_pool, HashMapRecord >, KeyTableImpl< ArrayPool< Table >, Table >, KeyTableImpl< ArrayPool< File >, File >, KeyTableImpl< File_pool, File >, and KeyTableImpl< ArrayPool< LockQueueInstance >, LockQueueInstance >.
Definition at line 494 of file DLHashTable.hpp.
|
inline |
First element in bucket
First element
Definition at line 240 of file DLHashTable.hpp.
|
inline |
Update i & p value according to i
Definition at line 469 of file DLHashTable.hpp.
|
inline |
Get element using ptr.i (update ptr.p)
Definition at line 478 of file DLHashTable.hpp.
|
inline |
Get P value for i
Definition at line 486 of file DLHashTable.hpp.
void DLHashTableImpl< P, T, U >::getPtr | ( | Iterator & | iter | ) | const |
Sets curr.p according to curr.i
|
inline |
Next Element
param iter - A "fully set" iterator
Definition at line 261 of file DLHashTable.hpp.
|
inline |
Get next element starting from bucket
bucket | - Which bucket to start from |
iter | - An "uninitialized" iterator |
Definition at line 436 of file DLHashTable.hpp.
|
inline |
Remove element and return to pool
Reimplemented in DLCHashTable< T, U >, and DLCHashTable< Page_entry >.
Definition at line 346 of file DLHashTable.hpp.
|
inline |
Remove element and return to pool
Reimplemented in DLCHashTable< T, U >, and DLCHashTable< Page_entry >.
Definition at line 391 of file DLHashTable.hpp.
|
inline |
Remove element (and set Ptr to removed element) Note does not return to pool
Reimplemented in DLCHashTable< T, U >, and DLCHashTable< Page_entry >.
Definition at line 289 of file DLHashTable.hpp.
|
inline |
Remove element Note does not return to pool
Reimplemented in DLCHashTable< T, U >, and DLCHashTable< Page_entry >.
Definition at line 335 of file DLHashTable.hpp.
|
inline |
Remove element Note does not return to pool
Reimplemented in DLCHashTable< T, U >, and DLCHashTable< Page_entry >.
Definition at line 357 of file DLHashTable.hpp.
|
inline |
Remove all elements, but dont return them to pool
Reimplemented in DLCHashTable< T, U >, and DLCHashTable< Page_entry >.
Definition at line 427 of file DLHashTable.hpp.
|
inline |
Seize element from pool - return i
Note must be added using add (even before hash.release) or be released using pool
Definition at line 457 of file DLHashTable.hpp.
|
inline |
Set the no of bucket in the hashtable
Note, can currently only be called once
The size is already set to size
The mask is already set
Definition at line 180 of file DLHashTable.hpp.