virtual ValueType GetValue(const CorpusType &v) const
Definition: domain.h:44
virtual CorpusType FromValue(const ValueType &v) const
Definition: domain.h:45
Domain class for generating random values of a specific type.
Definition: domain.h:22
virtual ValueType GetValue(const CorpusType &v) const =0
virtual void Mutate(Rng &rng, CorpusType &v, bool only_shrink=false) const =0
virtual ValueType GetRandomValue(Rng &rng) const
Definition: domain.h:27
virtual CorpusType GetRandomCorpus(Rng &rng) const =0
virtual ~Domain()=default
virtual IRObject SerializeCorpus(const CorpusType &v) const
Definition: domain.h:33
virtual CorpusType FromValue(const ValueType &v) const =0
virtual CorpusType ParseCorpus(IRObject v) const
Definition: domain.h:32
static std::enable_if< std::is_integral< T >::value||std::is_floating_point< T >::value||std::is_same< T, std::string >::value||std::is_enum< T >::value, IRObject >::type FromCorpus(T val)
Definition: serialization.h:119