X-Git-Url: https://git.dogcows.com/gitweb?p=chaz%2Fyoink;a=blobdiff_plain;f=src%2Fmoof%2Fhash.hh;h=810a1282163788410d62a1a5186758e3490bad1c;hp=27cc650147ab98c81a90b4a6ff57d08dab4cab66;hb=44b3014bce798789e795242d1556cb7449e6386a;hpb=831f04d4bc19a390415ac0bbac4331c7a65509bc diff --git a/src/moof/hash.hh b/src/moof/hash.hh index 27cc650..810a128 100644 --- a/src/moof/hash.hh +++ b/src/moof/hash.hh @@ -1,47 +1,44 @@ -/*] Copyright (c) 2009-2010, Charles McGarvey [************************** +/*] Copyright (c) 2009-2011, Charles McGarvey [***************************** **] All rights reserved. * -* vi:ts=4 sw=4 tw=75 -* * Distributable under the terms and conditions of the 2-clause BSD license; * see the file COPYING for a complete text of the license. * -**************************************************************************/ +*****************************************************************************/ #ifndef _MOOF_HASH_HH_ #define _MOOF_HASH_HH_ +#include + +#include + + /** * \file hash.hh * Hash tables and functions. */ -#include - -#include - - namespace moof { using stlplus::hash; - struct hash_function { // generic hash function - unsigned operator () (const void* key, int len, - unsigned seed = -1) const; + unsigned operator () (const void* key, int len, unsigned seed = -1) const; unsigned operator () (const std::string& val) const { return (*this)(val.data(), val.length()); } - unsigned operator () (int val) const + template + unsigned operator () (T val) const { - return val; + return static_cast(val); } };