A concept for RandomMixin‐based random number generators.
Synopsis
Declared in <random.h>
template<typename T>
concept RandomNumberGenerator = requires(T& rng, std::span<std::byte> s) {
// A random number generator must provide rand64().
{ rng.rand64() } noexcept ‐> std::same_as<uint64_t>;
// A random number generator must derive from RandomMixin, which adds other rand* functions.
requires std::derived_from<std::remove_reference_t<T>, RandomMixin<std::remove_reference_t<T>>>;
};
Created with MrDocs