67 #ifndef XXHASH_H_5627135585666179 68 #define XXHASH_H_5627135585666179 1 70 #if defined (__cplusplus) 95 #if defined(XXH_INLINE_ALL) || defined(XXH_PRIVATE_API) 96 # ifndef XXH_STATIC_LINKING_ONLY 97 # define XXH_STATIC_LINKING_ONLY 99 # if defined(__GNUC__) 100 # define XXH_PUBLIC_API static __inline __attribute__((unused)) 101 # elif defined (__cplusplus) || (defined (__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) ) 102 # define XXH_PUBLIC_API static inline 103 # elif defined(_MSC_VER) 104 # define XXH_PUBLIC_API static __inline 107 # define XXH_PUBLIC_API static 110 # define XXH_PUBLIC_API 125 # define XXH_CAT(A,B) A##B 126 # define XXH_NAME2(A,B) XXH_CAT(A,B) 127 # define XXH_versionNumber XXH_NAME2(XXH_NAMESPACE, XXH_versionNumber) 128 # define XXH32 XXH_NAME2(XXH_NAMESPACE, XXH32) 129 # define XXH32_createState XXH_NAME2(XXH_NAMESPACE, XXH32_createState) 130 # define XXH32_freeState XXH_NAME2(XXH_NAMESPACE, XXH32_freeState) 131 # define XXH32_reset XXH_NAME2(XXH_NAMESPACE, XXH32_reset) 132 # define XXH32_update XXH_NAME2(XXH_NAMESPACE, XXH32_update) 133 # define XXH32_digest XXH_NAME2(XXH_NAMESPACE, XXH32_digest) 134 # define XXH32_copyState XXH_NAME2(XXH_NAMESPACE, XXH32_copyState) 135 # define XXH32_canonicalFromHash XXH_NAME2(XXH_NAMESPACE, XXH32_canonicalFromHash) 136 # define XXH32_hashFromCanonical XXH_NAME2(XXH_NAMESPACE, XXH32_hashFromCanonical) 137 # define XXH64 XXH_NAME2(XXH_NAMESPACE, XXH64) 138 # define XXH64_createState XXH_NAME2(XXH_NAMESPACE, XXH64_createState) 139 # define XXH64_freeState XXH_NAME2(XXH_NAMESPACE, XXH64_freeState) 140 # define XXH64_reset XXH_NAME2(XXH_NAMESPACE, XXH64_reset) 141 # define XXH64_update XXH_NAME2(XXH_NAMESPACE, XXH64_update) 142 # define XXH64_digest XXH_NAME2(XXH_NAMESPACE, XXH64_digest) 143 # define XXH64_copyState XXH_NAME2(XXH_NAMESPACE, XXH64_copyState) 144 # define XXH64_canonicalFromHash XXH_NAME2(XXH_NAMESPACE, XXH64_canonicalFromHash) 145 # define XXH64_hashFromCanonical XXH_NAME2(XXH_NAMESPACE, XXH64_hashFromCanonical) 152 #define XXH_VERSION_MAJOR 0 153 #define XXH_VERSION_MINOR 6 154 #define XXH_VERSION_RELEASE 5 155 #define XXH_VERSION_NUMBER (XXH_VERSION_MAJOR *100*100 + XXH_VERSION_MINOR *100 + XXH_VERSION_RELEASE) 215 #ifndef XXH_NO_LONG_LONG 226 XXH_PUBLIC_API XXH64_hash_t
XXH64 (
const void* input,
size_t length,
unsigned long long seed);
246 #ifdef XXH_STATIC_LINKING_ONLY 259 #if !defined (__VMS) \ 260 && (defined (__cplusplus) \ 261 || (defined (__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) ) ) 264 struct XXH32_state_s {
265 uint32_t total_len_32;
276 struct XXH64_state_s {
284 uint32_t reserved[2];
289 struct XXH32_state_s {
290 unsigned total_len_32;
301 # ifndef XXH_NO_LONG_LONG 302 struct XXH64_state_s {
303 unsigned long long total_len;
304 unsigned long long v1;
305 unsigned long long v2;
306 unsigned long long v3;
307 unsigned long long v4;
308 unsigned long long mem64[4];
310 unsigned reserved[2];
317 #if defined(XXH_INLINE_ALL) || defined(XXH_PRIVATE_API) 324 #if defined (__cplusplus) XXH_PUBLIC_API void XXH32_copyState(XXH32_state_t *dst_state, const XXH32_state_t *src_state)
struct XXH64_state_s XXH64_state_t
XXH_PUBLIC_API void XXH64_canonicalFromHash(XXH64_canonical_t *dst, XXH64_hash_t hash)
XXH_PUBLIC_API XXH_errorcode XXH64_update(XXH64_state_t *statePtr, const void *input, size_t length)
XXH_PUBLIC_API XXH64_hash_t XXH64_digest(const XXH64_state_t *statePtr)
XXH_PUBLIC_API unsigned XXH_versionNumber(void)
std::size_t hash(const BasicJsonType &j)
hash a JSON value
XXH_PUBLIC_API XXH32_hash_t XXH32(const void *input, size_t length, unsigned int seed)
XXH_PUBLIC_API void XXH32_canonicalFromHash(XXH32_canonical_t *dst, XXH32_hash_t hash)
XXH_PUBLIC_API XXH32_hash_t XXH32_hashFromCanonical(const XXH32_canonical_t *src)
unsigned long long XXH64_hash_t
unsigned int XXH32_hash_t
XXH_PUBLIC_API XXH_errorcode XXH32_reset(XXH32_state_t *statePtr, unsigned int seed)
XXH_PUBLIC_API XXH64_hash_t XXH64(const void *input, size_t length, unsigned long long seed)
XXH_PUBLIC_API XXH32_hash_t XXH32_digest(const XXH32_state_t *statePtr)
XXH_PUBLIC_API XXH_errorcode XXH64_reset(XXH64_state_t *statePtr, unsigned long long seed)
XXH_PUBLIC_API void XXH64_copyState(XXH64_state_t *dst_state, const XXH64_state_t *src_state)
XXH_PUBLIC_API XXH64_state_t * XXH64_createState(void)
XXH_PUBLIC_API XXH_errorcode XXH32_freeState(XXH32_state_t *statePtr)
XXH_PUBLIC_API XXH_errorcode XXH64_freeState(XXH64_state_t *statePtr)
XXH_PUBLIC_API XXH_errorcode XXH32_update(XXH32_state_t *statePtr, const void *input, size_t length)
struct XXH32_state_s XXH32_state_t
XXH_PUBLIC_API XXH64_hash_t XXH64_hashFromCanonical(const XXH64_canonical_t *src)
XXH_PUBLIC_API XXH32_state_t * XXH32_createState(void)