ZeroErr
zeroerr::AssociativeContainerOf< T, InnerDomain > Class Template Reference

#include <container_of.h>

Inheritance diagram for zeroerr::AssociativeContainerOf< T, InnerDomain >:
Collaboration diagram for zeroerr::AssociativeContainerOf< T, InnerDomain >:

Public Types

using ValueType = T
 
using CorpusType = std::vector< typename InnerDomain::CorpusType >
 

Public Member Functions

 AssociativeContainerOf (InnerDomain &&inner_domain)
 
virtual ValueType GetValue (const CorpusType &v) const override
 
virtual CorpusType FromValue (const ValueType &v) const override
 
CorpusType GetRandomCorpus (Rng &rng) const override
 
void Mutate (Rng &rng, CorpusType &v, bool only_shrink) const override
 
- Public Member Functions inherited from zeroerr::Domain< T, std::vector< InnerDomain::CorpusType > >
virtual ~Domain ()=default
 
virtual T GetRandomValue (Rng &rng) const
 
virtual T GetValue (const std::vector< InnerDomain::CorpusType > &v) const=0
 
virtual std::vector< InnerDomain::CorpusType > ParseCorpus (IRObject v) const
 
virtual IRObject SerializeCorpus (const std::vector< InnerDomain::CorpusType > &v) const
 
virtual void Mutate (Rng &rng, std::vector< InnerDomain::CorpusType > &v, bool only_shrink=false) const=0
 
- Public Member Functions inherited from zeroerr::ContainerOfBase
void WithMaxSize (unsigned _max_size)
 
void WithMinSize (unsigned _min_size)
 
void WithSize (unsigned _size)
 

Additional Inherited Members

- Public Attributes inherited from zeroerr::ContainerOfBase
int min_size = 0
 
int max_size = 100
 
int size = -1
 

Member Typedef Documentation

◆ CorpusType

template<typename T , typename InnerDomain >
using zeroerr::AssociativeContainerOf< T, InnerDomain >::CorpusType = std::vector<typename InnerDomain::CorpusType>

◆ ValueType

template<typename T , typename InnerDomain >
using zeroerr::AssociativeContainerOf< T, InnerDomain >::ValueType = T

Constructor & Destructor Documentation

◆ AssociativeContainerOf()

template<typename T , typename InnerDomain >
zeroerr::AssociativeContainerOf< T, InnerDomain >::AssociativeContainerOf ( InnerDomain &&  inner_domain)
inline

Member Function Documentation

◆ FromValue()

template<typename T , typename InnerDomain >
virtual CorpusType zeroerr::AssociativeContainerOf< T, InnerDomain >::FromValue ( const ValueType v) const
inlineoverridevirtual

◆ GetRandomCorpus()

template<typename T , typename InnerDomain >
CorpusType zeroerr::AssociativeContainerOf< T, InnerDomain >::GetRandomCorpus ( Rng rng) const
inlineoverridevirtual

◆ GetValue()

template<typename T , typename InnerDomain >
virtual ValueType zeroerr::AssociativeContainerOf< T, InnerDomain >::GetValue ( const CorpusType v) const
inlineoverridevirtual

◆ Mutate()

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

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