DomainConvertable is a base class for domains that can be converted to and from a ValueType.
Definition domain.h:48
virtual ValueType GetValue(const CorpusType &v) const
Definition domain.h:50
virtual CorpusType FromValue(const ValueType &v) const
Definition domain.h:51
Domain class for generating random values of a specific type.
Definition domain.h:21
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:26
virtual CorpusType GetRandomCorpus(Rng &rng) const =0
virtual ~Domain()=default
virtual IRObject SerializeCorpus(const CorpusType &v) const
Definition domain.h:32
virtual CorpusType FromValue(const ValueType &v) const =0
virtual CorpusType ParseCorpus(IRObject v) const
Definition domain.h:31
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:145