34 typedef std::tuple<int, Class*> OpUnaryKey;
38 std::size_t operator()(
const OpUnaryKey& key)
const {
40 std::size_t h1 = std::hash<int>()(
static_cast<int>(std::get<0>(key)));
41 std::size_t h2 = std::hash<const void*>()(std::get<1>(key));
43 return h1 ^ (h2 << 1);
46 typedef std::unordered_map<OpUnaryKey, void*, OpUnaryKeyHash> OpUnaryMap;
53 auto key = OpUnaryKey{
static_cast<int>(op), type};
54 auto it = map_.find(key);
60 void regFunc(EOpUnaryType op, Class* type,
void* func)
62 map_[OpUnaryKey{
static_cast<int>(op), type}] = func;