ZeroErr
zeroerr::InRange< T > Class Template Reference

#include <in_range.h>

Inheritance diagram for zeroerr::InRange< T >:
Collaboration diagram for zeroerr::InRange< T >:

Public Types

using ValueType = T
 
using CorpusType = T
 

Public Member Functions

 InRange (T min, T max)
 
CorpusType GetRandomCorpus (Rng &rng) const override
 
void Mutate (Rng &rng, CorpusType &v, bool only_shrink) const override
 
- Public Member Functions inherited from zeroerr::DomainConvertable< T >
virtual T GetValue (const T &v) const
 
virtual T FromValue (const T &v) const
 
- Public Member Functions inherited from zeroerr::Domain< ValueType, CorpusType >
virtual ~Domain ()=default
 
virtual ValueType GetRandomValue (Rng &rng) const
 
virtual CorpusType FromValue (const ValueType &v) const =0
 
virtual ValueType GetValue (const CorpusType &v) const =0
 
virtual CorpusType ParseCorpus (IRObject v) const
 
virtual IRObject SerializeCorpus (const CorpusType &v) const
 
virtual void Mutate (Rng &rng, CorpusType &v, bool only_shrink=false) const =0
 

Public Attributes

ValueType min
 
ValueType max
 

Member Typedef Documentation

◆ CorpusType

template<typename T >
using zeroerr::InRange< T >::CorpusType = T

◆ ValueType

template<typename T >
using zeroerr::InRange< T >::ValueType = T

Constructor & Destructor Documentation

◆ InRange()

template<typename T >
zeroerr::InRange< T >::InRange ( min,
max 
)
inline

Member Function Documentation

◆ GetRandomCorpus()

template<typename T >
CorpusType zeroerr::InRange< T >::GetRandomCorpus ( Rng rng) const
inlineoverridevirtual

◆ Mutate()

template<typename T >
void zeroerr::InRange< T >::Mutate ( Rng rng,
CorpusType v,
bool  only_shrink 
) const
inlineoverride

Member Data Documentation

◆ max

template<typename T >
ValueType zeroerr::InRange< T >::max

◆ min

template<typename T >
ValueType zeroerr::InRange< T >::min

The documentation for this class was generated from the following file: