Common/Random: Add convenience template for simple arithmetic values

In cases where we just want a random value for a primitive arithmetic
type, we can wrap this in a template to allow convenient direct
assignment instead of keeping declaration and initialization separate
(making it more difficult to use values uninitialized). This also allows
the use of Common::Random with functions such as std::generate, making
it more flexible in how random values can be generated.
This commit is contained in:
Lioncash
2018-06-14 10:26:11 -04:00
parent e69c6cdaab
commit 189d277cfc
4 changed files with 15 additions and 6 deletions

View File

@ -169,8 +169,7 @@ static sockaddr_in6 MakeSinAddr(const TraversalInetAddress& addr)
static void GetRandomHostId(TraversalHostId* hostId)
{
char buf[9];
u32 num;
Common::Random::Generate(&num, sizeof(num));
const u32 num = Common::Random::GenerateValue<u32>();
sprintf(buf, "%08x", num);
memcpy(hostId->data(), buf, 8);
}