20 #define DBG_RND LOG_STREAM(debug, log_random)
21 #define LOG_RND LOG_STREAM(info, log_random)
22 #define WRN_RND LOG_STREAM(warn, log_random)
23 #define ERR_RND LOG_STREAM(err, log_random)
28 : has_valid_seed_(false), seed_generator_(seed_generator), gen_()
40 LOG_RND <<
"randomness::rng::next_random_impl returned " << retv;
uint32_t get_next_random()
Get a new random number.
void seed_random(const std::string &seed, const unsigned int call_count=0)
Same as uint32_t version, but uses a stringstream to convert given hex string.
virtual uint32_t next_random_impl()
synced_rng(std::function< std::string()> seed_generator)
virtual bool is_networked() const
Is this random source networked? If it is it's very important we do actually use this random source t...
std::function< std::string()> seed_generator_
Standard logging facilities (interface).
static lg::log_domain log_random("random")