gtsam_points
Loading...
Searching...
No Matches
hash.hpp
Go to the documentation of this file.
1#ifndef GLK_HASH_HPP
2#define GLK_HASH_HPP
3
4#include <cstdint>
5#include <string>
6
7namespace glk {
8
14std::uint64_t hash(const void* data, std::size_t size, std::uint64_t seed = 0);
15
17inline std::uint64_t hash(const std::string& str, std::uint64_t seed = 0) {
18 return hash(str.data(), str.size(), seed);
19}
20
22inline std::uint64_t rapidhash(const void* data, std::size_t size, std::uint64_t seed = 0) {
23 return hash(data, size, seed);
24}
25
27inline std::uint64_t rapidhash(const std::string& str, std::uint64_t seed = 0) {
28 return hash(str.data(), str.size(), seed);
29}
30
33std::uint64_t fnv1hash(const void* data, std::size_t size, std::uint64_t seed = 0);
34
36inline std::uint64_t fnv1hash(const std::string& str, std::uint64_t seed = 0) {
37 return fnv1hash(str.data(), str.size(), seed);
38}
39
40} // namespace glk
41
42#endif
Definition async_buffer_copy.hpp:6
std::uint64_t rapidhash(const void *data, std::size_t size, std::uint64_t seed=0)
RapidHash (same as hash())
Definition hash.hpp:22
std::enable_if_t< needs_aligned_allocator< T >::value, std::shared_ptr< T > > make_shared(Args &&... args)
Definition make_shared.hpp:20
std::uint64_t hash(const void *data, std::size_t size, std::uint64_t seed=0)
RapidHash (https://github.com/Nicoshev/rapidhash)
std::uint64_t fnv1hash(const void *data, std::size_t size, std::uint64_t seed=0)
FNV1hash (https://gist.github.com/ruby0x1/81308642d0325fd386237cfa3b44785c)