|
ZeroErr
|
ElementOf is a domain that generates random values from a fixed set of elements. More...
#include <element_of.h>


Public Types | |
| using | ValueType = T |
| using | CorpusType = uint64_t |
Public Member Functions | |
| ElementOf (std::vector< T > elements) | |
| CorpusType | GetRandomCorpus (Rng &rng) override |
| ValueType | GetValue (const CorpusType &v) const override |
| CorpusType | FromValue (const ValueType &v) const override |
| void | Mutate (Rng &rng, CorpusType &v, bool only_shrink) const override |
Public Member Functions inherited from zeroerr::Domain< T, uint64_t > | |
| virtual | ~Domain ()=default |
| virtual uint64_t | GetRandomCorpus (Rng &rng) const=0 |
| virtual T | GetRandomValue (Rng &rng) const |
| virtual uint64_t | ParseCorpus (IRObject v) const |
| virtual IRObject | SerializeCorpus (const uint64_t &v) const |
Public Attributes | |
| std::vector< T > | elements |
ElementOf is a domain that generates random values from a fixed set of elements.
| T | The type of elements to generate |
This domain allows generating random values by selecting from a predefined set of elements. The elements are provided as a vector during construction.
Example:
| using zeroerr::ElementOf< T >::CorpusType = uint64_t |
| using zeroerr::ElementOf< T >::ValueType = T |
|
inline |
|
inlineoverridevirtual |
Implements zeroerr::Domain< T, uint64_t >.
|
inlineoverride |
|
inlineoverridevirtual |
Implements zeroerr::Domain< T, uint64_t >.
|
inlineoverridevirtual |
Implements zeroerr::Domain< T, uint64_t >.
| std::vector<T> zeroerr::ElementOf< T >::elements |