diff --git a/tests/hash_generator_testing.h b/tests/hash_generator_testing.h index 191ef3f..496dd10 100644 --- a/tests/hash_generator_testing.h +++ b/tests/hash_generator_testing.h @@ -76,7 +76,7 @@ std::mt19937_64* GetSharedRng() { } -enum Enum { +enum Enum : uint64_t { kEnumEmpty, kEnumDeleted, }; @@ -96,34 +96,24 @@ struct Generator; template struct Generator::value>::type> { T operator()() const { - std::uniform_int_distribution dist; - return dist(*GetSharedRng()); + std::uniform_int_distribution dist; + return dist(*GetSharedRng()); } }; template <> struct Generator { Enum operator()() const { - std::uniform_int_distribution::type> dist; - - while (true) { - auto variate = dist(*GetSharedRng()); - if (variate != kEnumEmpty && variate != kEnumDeleted) - return static_cast(variate); - } + std::uniform_int_distribution::type> dist; + return static_cast(dist(*GetSharedRng())); } }; template <> struct Generator { EnumClass operator()() const { - std::uniform_int_distribution< - typename std::underlying_type::type> dist; - while (true) { - EnumClass variate = static_cast(dist(*GetSharedRng())); - if (variate != EnumClass::kEmpty && variate != EnumClass::kDeleted) - return static_cast(variate); - } + std::uniform_int_distribution::type> dist; + return static_cast(dist(*GetSharedRng())); } };