struct HASH{ size_t operator()(const pair&x)const{ return hash()(((long long)x.first)^(((long long)x.second)<<32)); } }; unordered_map,int,HASH>mp; //In Function pass it as int foo(unordered_map,int,HASH> &mp);