webkit  2cdf99a9e3038c7e01b3c37e8ad903ecbe5eecf1
https://github.com/WebKit/webkit
Public Member Functions | Static Public Member Functions | Static Public Attributes | List of all members
WTF::StringHasher Class Reference

#include <Hasher.h>

Public Member Functions

 StringHasher ()
 
void addCharactersAssumingAligned (UChar a, UChar b)
 
void addCharacter (UChar character)
 
void addCharacters (UChar a, UChar b)
 
template<typename T , UChar Converter>
void addCharactersAssumingAligned (const T *data, unsigned length)
 
template<typename T >
void addCharactersAssumingAligned (const T *data, unsigned length)
 
template<typename T , UChar Converter>
void addCharactersAssumingAligned (const T *data)
 
template<typename T >
void addCharactersAssumingAligned (const T *data)
 
template<typename T , UChar Converter>
void addCharacters (const T *data, unsigned length)
 
template<typename T >
void addCharacters (const T *data, unsigned length)
 
template<typename T , UChar Converter>
void addCharacters (const T *data)
 
template<typename T >
void addCharacters (const T *data)
 
unsigned hashWithTop8BitsMasked () const
 
unsigned hash () const
 
 StringHasher ()
 
void addCharactersAssumingAligned (UChar a, UChar b)
 
void addCharacter (UChar character)
 
void addCharacters (UChar a, UChar b)
 
template<typename T , UChar Converter>
void addCharactersAssumingAligned (const T *data, unsigned length)
 
template<typename T >
void addCharactersAssumingAligned (const T *data, unsigned length)
 
template<typename T , UChar Converter>
void addCharactersAssumingAligned (const T *data)
 
template<typename T >
void addCharactersAssumingAligned (const T *data)
 
template<typename T , UChar Converter>
void addCharacters (const T *data, unsigned length)
 
template<typename T >
void addCharacters (const T *data, unsigned length)
 
template<typename T , UChar Converter>
void addCharacters (const T *data)
 
template<typename T >
void addCharacters (const T *data)
 
unsigned hashWithTop8BitsMasked () const
 
unsigned hash () const
 
 StringHasher ()
 
void addCharactersAssumingAligned (UChar a, UChar b)
 
void addCharacter (UChar character)
 
void addCharacters (UChar a, UChar b)
 
template<typename T , UChar Converter>
void addCharactersAssumingAligned (const T *data, unsigned length)
 
template<typename T >
void addCharactersAssumingAligned (const T *data, unsigned length)
 
template<typename T , UChar Converter>
void addCharactersAssumingAligned (const T *data)
 
template<typename T >
void addCharactersAssumingAligned (const T *data)
 
template<typename T , UChar Converter>
void addCharacters (const T *data, unsigned length)
 
template<typename T >
void addCharacters (const T *data, unsigned length)
 
template<typename T , UChar Converter>
void addCharacters (const T *data)
 
template<typename T >
void addCharacters (const T *data)
 
unsigned hashWithTop8BitsMasked () const
 
unsigned hash () const
 

Static Public Member Functions

template<typename T , UChar Converter>
static unsigned computeHashAndMaskTop8Bits (const T *data, unsigned length)
 
template<typename T , UChar Converter>
static unsigned computeHashAndMaskTop8Bits (const T *data)
 
template<typename T >
static unsigned computeHashAndMaskTop8Bits (const T *data, unsigned length)
 
template<typename T >
static unsigned computeHashAndMaskTop8Bits (const T *data)
 
template<typename T , UChar Converter>
static unsigned computeHash (const T *data, unsigned length)
 
template<typename T , UChar Converter>
static unsigned computeHash (const T *data)
 
template<typename T >
static unsigned computeHash (const T *data, unsigned length)
 
template<typename T >
static unsigned computeHash (const T *data)
 
static unsigned hashMemory (const void *data, unsigned length)
 
template<size_t length>
static unsigned hashMemory (const void *data)
 
static constexpr unsigned finalize (unsigned hash)
 
static constexpr unsigned finalizeAndMaskTop8Bits (unsigned hash)
 
template<typename T , unsigned charactersCount>
static constexpr unsigned computeLiteralHash (const T(&characters)[charactersCount])
 
template<typename T , unsigned charactersCount>
static constexpr unsigned computeLiteralHashAndMaskTop8Bits (const T(&characters)[charactersCount])
 
template<typename T , UChar Converter>
static unsigned computeHashAndMaskTop8Bits (const T *data, unsigned length)
 
template<typename T , UChar Converter>
static unsigned computeHashAndMaskTop8Bits (const T *data)
 
template<typename T >
static unsigned computeHashAndMaskTop8Bits (const T *data, unsigned length)
 
template<typename T >
static unsigned computeHashAndMaskTop8Bits (const T *data)
 
template<typename T , UChar Converter>
static unsigned computeHash (const T *data, unsigned length)
 
template<typename T , UChar Converter>
static unsigned computeHash (const T *data)
 
template<typename T >
static unsigned computeHash (const T *data, unsigned length)
 
template<typename T >
static unsigned computeHash (const T *data)
 
static unsigned hashMemory (const void *data, unsigned length)
 
template<size_t length>
static unsigned hashMemory (const void *data)
 
static constexpr unsigned finalize (unsigned hash)
 
static constexpr unsigned finalizeAndMaskTop8Bits (unsigned hash)
 
template<typename T , unsigned charactersCount>
static constexpr unsigned computeLiteralHash (const T(&characters)[charactersCount])
 
template<typename T , unsigned charactersCount>
static constexpr unsigned computeLiteralHashAndMaskTop8Bits (const T(&characters)[charactersCount])
 
template<typename T , UChar Converter>
static unsigned computeHashAndMaskTop8Bits (const T *data, unsigned length)
 
template<typename T , UChar Converter>
static unsigned computeHashAndMaskTop8Bits (const T *data)
 
template<typename T >
static unsigned computeHashAndMaskTop8Bits (const T *data, unsigned length)
 
template<typename T >
static unsigned computeHashAndMaskTop8Bits (const T *data)
 
template<typename T , UChar Converter>
static unsigned computeHash (const T *data, unsigned length)
 
template<typename T , UChar Converter>
static unsigned computeHash (const T *data)
 
template<typename T >
static unsigned computeHash (const T *data, unsigned length)
 
template<typename T >
static unsigned computeHash (const T *data)
 
static unsigned hashMemory (const void *data, unsigned length)
 
template<size_t length>
static unsigned hashMemory (const void *data)
 
static constexpr unsigned finalize (unsigned hash)
 
static constexpr unsigned finalizeAndMaskTop8Bits (unsigned hash)
 
template<typename T , unsigned charactersCount>
static constexpr unsigned computeLiteralHash (const T(&characters)[charactersCount])
 
template<typename T , unsigned charactersCount>
static constexpr unsigned computeLiteralHashAndMaskTop8Bits (const T(&characters)[charactersCount])
 

Static Public Attributes

static constexpr const unsigned flagCount = 8
 
static constexpr const unsigned maskHash = (1U << (sizeof(unsigned) * 8 - flagCount)) - 1
 

Constructor & Destructor Documentation

◆ StringHasher() [1/3]

WTF::StringHasher::StringHasher ( )
inline

◆ StringHasher() [2/3]

WTF::StringHasher::StringHasher ( )
inline

◆ StringHasher() [3/3]

WTF::StringHasher::StringHasher ( )
inline

Member Function Documentation

◆ addCharacter() [1/3]

void WTF::StringHasher::addCharacter ( UChar  character)
inline

◆ addCharacter() [2/3]

void WTF::StringHasher::addCharacter ( UChar  character)
inline

◆ addCharacter() [3/3]

void WTF::StringHasher::addCharacter ( UChar  character)
inline

◆ addCharacters() [1/15]

void WTF::StringHasher::addCharacters ( UChar  a,
UChar  b 
)
inline

◆ addCharacters() [2/15]

void WTF::StringHasher::addCharacters ( UChar  a,
UChar  b 
)
inline

◆ addCharacters() [3/15]

void WTF::StringHasher::addCharacters ( UChar  a,
UChar  b 
)
inline

◆ addCharacters() [4/15]

template<typename T , UChar Converter>
void WTF::StringHasher::addCharacters ( const T data,
unsigned  length 
)
inline

◆ addCharacters() [5/15]

template<typename T , UChar Converter>
void WTF::StringHasher::addCharacters ( const T data,
unsigned  length 
)
inline

◆ addCharacters() [6/15]

template<typename T , UChar Converter>
void WTF::StringHasher::addCharacters ( const T data,
unsigned  length 
)
inline

◆ addCharacters() [7/15]

template<typename T >
void WTF::StringHasher::addCharacters ( const T data,
unsigned  length 
)
inline

◆ addCharacters() [8/15]

template<typename T >
void WTF::StringHasher::addCharacters ( const T data,
unsigned  length 
)
inline

◆ addCharacters() [9/15]

template<typename T >
void WTF::StringHasher::addCharacters ( const T data,
unsigned  length 
)
inline

◆ addCharacters() [10/15]

template<typename T , UChar Converter>
void WTF::StringHasher::addCharacters ( const T data)
inline

◆ addCharacters() [11/15]

template<typename T , UChar Converter>
void WTF::StringHasher::addCharacters ( const T data)
inline

◆ addCharacters() [12/15]

template<typename T , UChar Converter>
void WTF::StringHasher::addCharacters ( const T data)
inline

◆ addCharacters() [13/15]

template<typename T >
void WTF::StringHasher::addCharacters ( const T data)
inline

◆ addCharacters() [14/15]

template<typename T >
void WTF::StringHasher::addCharacters ( const T data)
inline

◆ addCharacters() [15/15]

template<typename T >
void WTF::StringHasher::addCharacters ( const T data)
inline

◆ addCharactersAssumingAligned() [1/15]

void WTF::StringHasher::addCharactersAssumingAligned ( UChar  a,
UChar  b 
)
inline

◆ addCharactersAssumingAligned() [2/15]

void WTF::StringHasher::addCharactersAssumingAligned ( UChar  a,
UChar  b 
)
inline

◆ addCharactersAssumingAligned() [3/15]

void WTF::StringHasher::addCharactersAssumingAligned ( UChar  a,
UChar  b 
)
inline

◆ addCharactersAssumingAligned() [4/15]

template<typename T , UChar Converter>
void WTF::StringHasher::addCharactersAssumingAligned ( const T data,
unsigned  length 
)
inline

◆ addCharactersAssumingAligned() [5/15]

template<typename T , UChar Converter>
void WTF::StringHasher::addCharactersAssumingAligned ( const T data,
unsigned  length 
)
inline

◆ addCharactersAssumingAligned() [6/15]

template<typename T , UChar Converter>
void WTF::StringHasher::addCharactersAssumingAligned ( const T data,
unsigned  length 
)
inline

◆ addCharactersAssumingAligned() [7/15]

template<typename T >
void WTF::StringHasher::addCharactersAssumingAligned ( const T data,
unsigned  length 
)
inline

◆ addCharactersAssumingAligned() [8/15]

template<typename T >
void WTF::StringHasher::addCharactersAssumingAligned ( const T data,
unsigned  length 
)
inline

◆ addCharactersAssumingAligned() [9/15]

template<typename T >
void WTF::StringHasher::addCharactersAssumingAligned ( const T data,
unsigned  length 
)
inline

◆ addCharactersAssumingAligned() [10/15]

template<typename T , UChar Converter>
void WTF::StringHasher::addCharactersAssumingAligned ( const T data)
inline

◆ addCharactersAssumingAligned() [11/15]

template<typename T , UChar Converter>
void WTF::StringHasher::addCharactersAssumingAligned ( const T data)
inline

◆ addCharactersAssumingAligned() [12/15]

template<typename T , UChar Converter>
void WTF::StringHasher::addCharactersAssumingAligned ( const T data)
inline

◆ addCharactersAssumingAligned() [13/15]

template<typename T >
void WTF::StringHasher::addCharactersAssumingAligned ( const T data)
inline

◆ addCharactersAssumingAligned() [14/15]

template<typename T >
void WTF::StringHasher::addCharactersAssumingAligned ( const T data)
inline

◆ addCharactersAssumingAligned() [15/15]

template<typename T >
void WTF::StringHasher::addCharactersAssumingAligned ( const T data)
inline

◆ computeHash() [1/12]

template<typename T , UChar Converter>
static unsigned WTF::StringHasher::computeHash ( const T data,
unsigned  length 
)
inlinestatic

◆ computeHash() [2/12]

template<typename T , UChar Converter>
static unsigned WTF::StringHasher::computeHash ( const T data,
unsigned  length 
)
inlinestatic

◆ computeHash() [3/12]

template<typename T , UChar Converter>
static unsigned WTF::StringHasher::computeHash ( const T data,
unsigned  length 
)
inlinestatic

◆ computeHash() [4/12]

template<typename T , UChar Converter>
static unsigned WTF::StringHasher::computeHash ( const T data)
inlinestatic

◆ computeHash() [5/12]

template<typename T , UChar Converter>
static unsigned WTF::StringHasher::computeHash ( const T data)
inlinestatic

◆ computeHash() [6/12]

template<typename T , UChar Converter>
static unsigned WTF::StringHasher::computeHash ( const T data)
inlinestatic

◆ computeHash() [7/12]

template<typename T >
static unsigned WTF::StringHasher::computeHash ( const T data,
unsigned  length 
)
inlinestatic

◆ computeHash() [8/12]

template<typename T >
static unsigned WTF::StringHasher::computeHash ( const T data,
unsigned  length 
)
inlinestatic

◆ computeHash() [9/12]

template<typename T >
static unsigned WTF::StringHasher::computeHash ( const T data,
unsigned  length 
)
inlinestatic

◆ computeHash() [10/12]

template<typename T >
static unsigned WTF::StringHasher::computeHash ( const T data)
inlinestatic

◆ computeHash() [11/12]

template<typename T >
static unsigned WTF::StringHasher::computeHash ( const T data)
inlinestatic

◆ computeHash() [12/12]

template<typename T >
static unsigned WTF::StringHasher::computeHash ( const T data)
inlinestatic

◆ computeHashAndMaskTop8Bits() [1/12]

template<typename T , UChar Converter>
static unsigned WTF::StringHasher::computeHashAndMaskTop8Bits ( const T data,
unsigned  length 
)
inlinestatic

◆ computeHashAndMaskTop8Bits() [2/12]

template<typename T , UChar Converter>
static unsigned WTF::StringHasher::computeHashAndMaskTop8Bits ( const T data,
unsigned  length 
)
inlinestatic

◆ computeHashAndMaskTop8Bits() [3/12]

template<typename T , UChar Converter>
static unsigned WTF::StringHasher::computeHashAndMaskTop8Bits ( const T data,
unsigned  length 
)
inlinestatic

◆ computeHashAndMaskTop8Bits() [4/12]

template<typename T , UChar Converter>
static unsigned WTF::StringHasher::computeHashAndMaskTop8Bits ( const T data)
inlinestatic

◆ computeHashAndMaskTop8Bits() [5/12]

template<typename T , UChar Converter>
static unsigned WTF::StringHasher::computeHashAndMaskTop8Bits ( const T data)
inlinestatic

◆ computeHashAndMaskTop8Bits() [6/12]

template<typename T , UChar Converter>
static unsigned WTF::StringHasher::computeHashAndMaskTop8Bits ( const T data)
inlinestatic

◆ computeHashAndMaskTop8Bits() [7/12]

template<typename T >
static unsigned WTF::StringHasher::computeHashAndMaskTop8Bits ( const T data,
unsigned  length 
)
inlinestatic

◆ computeHashAndMaskTop8Bits() [8/12]

template<typename T >
static unsigned WTF::StringHasher::computeHashAndMaskTop8Bits ( const T data,
unsigned  length 
)
inlinestatic

◆ computeHashAndMaskTop8Bits() [9/12]

template<typename T >
static unsigned WTF::StringHasher::computeHashAndMaskTop8Bits ( const T data,
unsigned  length 
)
inlinestatic

◆ computeHashAndMaskTop8Bits() [10/12]

template<typename T >
static unsigned WTF::StringHasher::computeHashAndMaskTop8Bits ( const T data)
inlinestatic

◆ computeHashAndMaskTop8Bits() [11/12]

template<typename T >
static unsigned WTF::StringHasher::computeHashAndMaskTop8Bits ( const T data)
inlinestatic

◆ computeHashAndMaskTop8Bits() [12/12]

template<typename T >
static unsigned WTF::StringHasher::computeHashAndMaskTop8Bits ( const T data)
inlinestatic

◆ computeLiteralHash() [1/3]

template<typename T , unsigned charactersCount>
static constexpr unsigned WTF::StringHasher::computeLiteralHash ( const T(&)  characters[charactersCount])
inlinestatic

◆ computeLiteralHash() [2/3]

template<typename T , unsigned charactersCount>
static constexpr unsigned WTF::StringHasher::computeLiteralHash ( const T(&)  characters[charactersCount])
inlinestatic

◆ computeLiteralHash() [3/3]

template<typename T , unsigned charactersCount>
static constexpr unsigned WTF::StringHasher::computeLiteralHash ( const T(&)  characters[charactersCount])
inlinestatic

◆ computeLiteralHashAndMaskTop8Bits() [1/3]

template<typename T , unsigned charactersCount>
static constexpr unsigned WTF::StringHasher::computeLiteralHashAndMaskTop8Bits ( const T(&)  characters[charactersCount])
inlinestatic

◆ computeLiteralHashAndMaskTop8Bits() [2/3]

template<typename T , unsigned charactersCount>
static constexpr unsigned WTF::StringHasher::computeLiteralHashAndMaskTop8Bits ( const T(&)  characters[charactersCount])
inlinestatic

◆ computeLiteralHashAndMaskTop8Bits() [3/3]

template<typename T , unsigned charactersCount>
static constexpr unsigned WTF::StringHasher::computeLiteralHashAndMaskTop8Bits ( const T(&)  characters[charactersCount])
inlinestatic

◆ finalize() [1/3]

static constexpr unsigned WTF::StringHasher::finalize ( unsigned  hash)
inlinestatic

◆ finalize() [2/3]

static constexpr unsigned WTF::StringHasher::finalize ( unsigned  hash)
inlinestatic

◆ finalize() [3/3]

static constexpr unsigned WTF::StringHasher::finalize ( unsigned  hash)
inlinestatic

◆ finalizeAndMaskTop8Bits() [1/3]

static constexpr unsigned WTF::StringHasher::finalizeAndMaskTop8Bits ( unsigned  hash)
inlinestatic

◆ finalizeAndMaskTop8Bits() [2/3]

static constexpr unsigned WTF::StringHasher::finalizeAndMaskTop8Bits ( unsigned  hash)
inlinestatic

◆ finalizeAndMaskTop8Bits() [3/3]

static constexpr unsigned WTF::StringHasher::finalizeAndMaskTop8Bits ( unsigned  hash)
inlinestatic

◆ hash() [1/3]

unsigned WTF::StringHasher::hash ( ) const
inline

◆ hash() [2/3]

unsigned WTF::StringHasher::hash ( ) const
inline

◆ hash() [3/3]

unsigned WTF::StringHasher::hash ( ) const
inline

◆ hashMemory() [1/6]

static unsigned WTF::StringHasher::hashMemory ( const void data,
unsigned  length 
)
inlinestatic

◆ hashMemory() [2/6]

static unsigned WTF::StringHasher::hashMemory ( const void data,
unsigned  length 
)
inlinestatic

◆ hashMemory() [3/6]

static unsigned WTF::StringHasher::hashMemory ( const void data,
unsigned  length 
)
inlinestatic

◆ hashMemory() [4/6]

template<size_t length>
static unsigned WTF::StringHasher::hashMemory ( const void data)
inlinestatic

◆ hashMemory() [5/6]

template<size_t length>
static unsigned WTF::StringHasher::hashMemory ( const void data)
inlinestatic

◆ hashMemory() [6/6]

template<size_t length>
static unsigned WTF::StringHasher::hashMemory ( const void data)
inlinestatic

◆ hashWithTop8BitsMasked() [1/3]

unsigned WTF::StringHasher::hashWithTop8BitsMasked ( ) const
inline

◆ hashWithTop8BitsMasked() [2/3]

unsigned WTF::StringHasher::hashWithTop8BitsMasked ( ) const
inline

◆ hashWithTop8BitsMasked() [3/3]

unsigned WTF::StringHasher::hashWithTop8BitsMasked ( ) const
inline

Member Data Documentation

◆ flagCount

static constexpr const unsigned WTF::StringHasher::flagCount = 8
static

◆ maskHash

static constexpr const unsigned WTF::StringHasher::maskHash = (1U << (sizeof(unsigned) * 8 - flagCount)) - 1
static

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