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