|
'ElMo-Knock'
|
00001 /* 00002 ************************************************************************** 00003 * * 00004 * General Purpose Hash Function Algorithms Library * 00005 * * 00006 * Author: Arash Partow - 2002 * 00007 * URL: http://www.partow.net * 00008 * URL: http://www.partow.net/programming/hashfunctions/index.html * 00009 * * 00010 * Copyright notice: * 00011 * Free use of the General Purpose Hash Function Algorithms Library is * 00012 * permitted under the guidelines and in accordance with the most current * 00013 * version of the Common Public License. * 00014 * http://www.opensource.org/licenses/cpl1.0.php * 00015 * * 00016 ************************************************************************** 00017 */ 00018 00019 00020 #ifndef INCLUDE_GENERALHASHFUNCTION_CPP_H 00021 #define INCLUDE_GENERALHASHFUNCTION_CPP_H 00022 00023 00024 #include <string> 00025 00026 00027 typedef unsigned int (*HashFunction)(const std::string&); 00028 00029 00030 unsigned int RSHash (const std::string& str); 00031 unsigned int JSHash (const std::string& str); 00032 unsigned int PJWHash (const std::string& str); 00033 unsigned int ELFHash (const std::string& str); 00034 unsigned int BKDRHash(const std::string& str); 00035 unsigned int SDBMHash(const std::string& str); 00036 unsigned int DJBHash (const std::string& str); 00037 unsigned int DEKHash (const std::string& str); 00038 unsigned int BPHash (const std::string& str); 00039 unsigned int FNVHash (const std::string& str); 00040 unsigned int APHash (const std::string& str); 00041 00042 00043 #endif