diff --git a/server/TracyCharUtil.hpp b/server/TracyCharUtil.hpp new file mode 100755 index 00000000..408e59dd --- /dev/null +++ b/server/TracyCharUtil.hpp @@ -0,0 +1,53 @@ +#ifndef __TRACY__CHARUTIL_HPP__ +#define __TRACY__CHARUTIL_HPP__ + +#include +#include +#include + +namespace tracy +{ +namespace charutil +{ + +static inline uint32_t hash( const char* str ) +{ + uint32_t hash = 5381; + int c; + + while( c = *str++ ) + { + hash = ( ( hash << 5 ) + hash ) ^ c; + } + + return hash; +} + +struct Hasher +{ + size_t operator()( const char* key ) const + { + return hash( key ); + } +}; + +struct Comparator +{ + bool operator()( const char* lhs, const char* rhs ) const + { + return strcmp( lhs, rhs ) == 0; + } +}; + +struct LessComparator +{ + bool operator()( const char* lhs, const char* rhs ) const + { + return strcmp( lhs, rhs ) < 0; + } +}; + +} +} + +#endif