arjun17's blog

By arjun17, history, 6 years ago, In English
#include <bits/stdc++.h>
using namespace std;

const int RANDOM = chrono::high_resolution_clock::now().time_since_epoch().count();
/*const long long RANDOM = chrono::high_resolution_clock::now().time_since_epoch().count();*/


struct HASH {
    template <class T>
    T operator()(T x) const { 
        return hash<T>{}(x ^ RANDOM ); 
    }
};

int main(int argc, char const *argv[])
{
    unordered_map<int, int, HASH> table;
    /* unordered_map<long long, int, HASH> table; */

    return 0;
}

I'm implementing own hash function in unordered_map and facing a problem.

If my map key is int type I've to write const int RANDOM

If my map key is long long type I've to write const long long RANDOM

blah blah ......

How it can be better using Template?

  • Vote: I like it
  • -2
  • Vote: I do not like it