HashUtils.h 633 B

1234567891011121314151617181920212223242526272829303132333435
  1. #pragma once
  2. namespace il2cpp
  3. {
  4. namespace utils
  5. {
  6. class HashUtils
  7. {
  8. static const size_t Seed = 486187739;
  9. public:
  10. static inline size_t Combine(size_t hash1, size_t hash2)
  11. {
  12. return hash1 * Seed + hash2;
  13. }
  14. };
  15. template<class T>
  16. struct PointerHash
  17. {
  18. size_t operator()(const T* value) const
  19. {
  20. return (size_t)value;
  21. }
  22. };
  23. template<class T>
  24. struct PassThroughHash
  25. {
  26. size_t operator()(T value) const
  27. {
  28. return (size_t)value;
  29. }
  30. };
  31. } /* namespace vm */
  32. } /* namespace il2cpp */