[#FastRandomContext] = FastRandomContext :mrdocs: Fast randomness source. This is seeded once with secure random data, but is completely deterministic and does not gather more entropy after that. == Synopsis Declared in `<random.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- class FastRandomContext : public xref:RandomMixin-01.adoc[RandomMixin<FastRandomContext>] ---- == Description This class is not thread‐safe. == Base Classes [cols="1,4"] |=== | Name| Description | `xref:RandomMixin-01.adoc[RandomMixin<FastRandomContext>]` | Mixin class that provides helper randomness functions. |=== == Type Aliases [cols="1,4"] |=== | Name| Description | xref:FastRandomContext/result_type.adoc[`result_type`] | Result type of the generator, for the UniformRandomBitGenerator concept. |=== == Member Functions [cols="1,4"] |=== | Name| Description | xref:FastRandomContext/2constructor-0d.adoc[`FastRandomContext`] [.small]#[constructor]# | Constructors | xref:FastRandomContext/operator_assign-04.adoc[`operator=`] | Assignment operators | xref:FastRandomContext/Reseed.adoc[`Reseed`] | Reseed with explicit seed (only for testing). | xref:FastRandomContext/fillrand-0b.adoc[`fillrand`] | `fillrand` overloads | xref:FastRandomContext/operator_call.adoc[`operator()`] | Generate the next random value, for the UniformRandomBitGenerator concept. | xref:FastRandomContext/rand.adoc[`rand`] | Generate a random integer in its entire (non‐negative) range. | xref:FastRandomContext/rand256.adoc[`rand256`] | generate a random uint256. | xref:FastRandomContext/rand32.adoc[`rand32`] | Generate a random 32‐bit integer. | xref:FastRandomContext/rand64.adoc[`rand64`] | Generate a random 64‐bit integer. | xref:FastRandomContext/rand_exp_duration.adoc[`rand_exp_duration`] | Return a duration sampled from an exponential distribution (https://en.wikipedia.org/wiki/Exponential_distribution). Successive events whose intervals are distributed according to this form a memoryless Poisson process. This should be used for repeated network events (e.g. sending a certain type of message) to minimize leaking information to observers. | xref:FastRandomContext/rand_uniform_delay.adoc[`rand_uniform_delay`] | Return the time point advanced by a uniform random duration. | xref:FastRandomContext/rand_uniform_duration.adoc[`rand_uniform_duration`] | Generate a uniform random duration in the range from 0 (inclusive) to range (exclusive). | xref:FastRandomContext/randbits-08.adoc[`randbits`] | `randbits` overloads | xref:FastRandomContext/randbool.adoc[`randbool`] | Generate a random boolean. | xref:FastRandomContext/randbytes-0e.adoc[`randbytes`] | `randbytes` overloads | xref:FastRandomContext/randrange-06.adoc[`randrange`] | `randrange` overloads |=== == Static Member Functions [cols="1,4"] |=== | Name| Description | xref:FastRandomContext/max.adoc[`max`] | Largest value the generator can produce. | xref:FastRandomContext/min.adoc[`min`] | Smallest value the generator can produce. |=== == Protected Member Functions [cols="1,4"] |=== | Name| Description | xref:FastRandomContext/FlushCache.adoc[`FlushCache`] | Discard any random bits buffered from a previous rand64() call. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#