ZeroErr
Loading...
Searching...
No Matches
zeroerr::InRange< T > Class Template Reference

InRange is a domain that generates random values within a specified range. More...

#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) 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< T, T >
virtual ~Domain ()=default
virtual T GetRandomValue (Rng &rng) const
virtual T ParseCorpus (IRObject v) const
virtual IRObject SerializeCorpus (const T &v) const

Public Attributes

ValueType min
ValueType max

Detailed Description

template<typename T>
class zeroerr::InRange< T >

InRange is a domain that generates random values within a specified range.

Template Parameters
TThe numeric type to generate values for (e.g. int, float)

This domain generates random values between a minimum and maximum value (inclusive). It supports any numeric type that can be used with arithmetic operations.

Example:

// Generate integers between 1 and 100
auto domain = InRange(1, 100);
// Generate floating point numbers between 0.0 and 1.0
auto domain = InRange(0.0, 1.0);
InRange(T min, T max)
Definition in_range.h:38

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 ( T min,
T 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  ) const
inlineoverridevirtual

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: