#ifndef BARCODE_GROUP_HPP #define BARCODE_GROUP_HPP #include #include "xxhash.h" #include "metro/metrohash.h" #include "tsl/array_map.h" struct BarcodeGroupStringHasher { std::size_t operator()(const std::string& k) const { char* pt = const_cast(k.data()); return XXH64(static_cast(pt), k.size() * sizeof(char), 0); } }; struct BarcodeGroupStringHasherMetro { std::size_t operator()(const char* key, std::size_t key_size) const { std::size_t r; MetroHash64::Hash(reinterpret_cast(key), key_size, reinterpret_cast(&r), 0); return r; } }; //using CFreqMapT = libcuckoo::cuckoohash_map; using CFreqMapT = tsl::array_map; using MapT = std::vector>; using TrueBcsT = std::unordered_set; using TrueMapT = std::unordered_map; using SoftMapT = std::unordered_map; #endif // BARCODE_GROUP_HPP