removed some repetition

This commit is contained in:
TinyAtoms
2020-02-07 13:17:30 -03:00
parent 24ff483dd6
commit 5c34ef6f10
18 changed files with 6930 additions and 184 deletions

View File

@ -7,8 +7,8 @@
// hashmaps and hash
#include <unordered_map>
#include <sparsehash/sparse_hash_map>
#include <sparsehash/dense_hash_map>
#include "3thparty/sparsehash/sparse_hash_map"
#include "3thparty/sparsehash/dense_hash_map"
#include "./3thparty/abseil-cpp/absl/container/node_hash_map.h"
#include "./3thparty/abseil-cpp/absl/container/flat_hash_map.h"
#include "./3thparty/abseil-cpp/absl/hash/hash.h"
@ -24,29 +24,22 @@
#include "./3thparty/parallel_hashmap/phmap.h"
#include "./3thparty/emilib/hash_map.hpp"
#include "3thparty/robinhood/robin_hood.h"
#include <type_traits>
using std::string;
using absl::Hash;
// since my testing is based on this hashmap, this one doesn't need no prep
void prepare(std::unordered_map<int, int>& map,int size){
map.reserve(size);
}
void prepare(std::unordered_map<string, string>& map,int size){
template<class T>
void prepare(T& map, int size){
map.reserve(size);
}
// goooooogle
void prepare(google::sparse_hash_map<int, int>& map, int size){
map.set_deleted_key(0);
map.set_deleted_key(-1);
}
void prepare(google::sparse_hash_map<string, string>& map, int size){
map.set_deleted_key("");
map.set_deleted_key("a");
}
void prepare(google::dense_hash_map<int, int>& map, int size){
map.set_empty_key(0);
map.set_deleted_key(-1);
@ -56,124 +49,4 @@ void prepare(google::dense_hash_map<string, string>& map, int size){
map.set_empty_key("");
}
//absl
void prepare(absl::node_hash_map<int, int>& map, int size){
map.reserve(size);
}
void prepare(absl::node_hash_map<string, string>& map, int size){
map.reserve(size);
}
void prepare(absl::flat_hash_map<int, int>& map, int size){
map.reserve(size);
}
void prepare(absl::flat_hash_map<string, string>& map, int size){
map.reserve(size);
}
// tessil
void prepare(tsl::sparse_map<int, int>& map, int size){
map.reserve(size);
}
void prepare(tsl::sparse_map<string, string>& map, int size){
map.reserve(size);
}
void prepare(tsl::array_map<int, int>& map, int size){
// map.reserve(size);
}
void prepare(tsl::array_map<string, string>& map, int size){
// map.reserve(size);
}
void prepare(tsl::ordered_map<int, int>& map, int size){
map.reserve(size);
}
void prepare(tsl::ordered_map<string, string>& map, int size){
map.reserve(size);
}
void prepare(tsl::robin_map<int, int>& map, int size){
map.reserve(size);
}
void prepare(tsl::robin_map<string, string>& map, int size){
map.reserve(size);
}
void prepare(tsl::hopscotch_map<int, int>& map, int size){
map.reserve(size);
}
void prepare(tsl::hopscotch_map<string, string>& map, int size){
map.reserve(size);
}
// booooooost
void prepare(boost::unordered_map<int, int>& map, int size){
map.reserve(size);
}
void prepare(boost::unordered_map<string, string>& map, int size){
map.reserve(size);
}
// skarupke's maps
void prepare(ska::bytell_hash_map<int, int>& map, int size){
map.reserve(size);
}
void prepare(ska::bytell_hash_map<string, string>& map, int size){
map.reserve(size);
}
void prepare(ska::flat_hash_map<int, int>& map, int size){
map.reserve(size);
}
void prepare(ska::flat_hash_map<string, string>& map, int size){
map.reserve(size);
}
void prepare(ska::unordered_map<int, int>& map, int size){
map.reserve(size);
}
void prepare(ska::unordered_map<string, string>& map, int size){
map.reserve(size);
}
// Gregory Popovitch' paralel hashmaps
void prepare(phmap::parallel_flat_hash_map<int, int>& map, int size){
map.reserve(size);
}
void prepare(phmap::parallel_flat_hash_map<string, string>& map, int size){
map.reserve(size);
}
void prepare(phmap::parallel_node_hash_map<int, int>& map, int size){
map.reserve(size);
}
void prepare(phmap::parallel_node_hash_map<string, string>& map, int size){
map.reserve(size);
}
// emilib (Emil Ernerfeld library)
void prepare(emilib::HashMap<int, int>& map, int size){
map.reserve(size);
}
void prepare(emilib::HashMap<string, string>& map, int size){
map.reserve(size);
}
// martin robinhood
void prepare(robin_hood::unordered_flat_map<int, int>& map, int size){
map.reserve(size);
}
void prepare(robin_hood::unordered_flat_map<string, string>& map, int size){
map.reserve(size);
}
void prepare(robin_hood::unordered_node_map<int, int>& map, int size){
map.reserve(size);
}
void prepare(robin_hood::unordered_node_map<string, string>& map, int size){
map.reserve(size);
}
#endif /* TESTS_H */