OSSIA
Open Scenario System for Interactive Application
ossia::domain Struct Reference

domain A domain of values More...

Detailed Description

domain A domain of values

The practical domain may be different according to the value type. For instance, domain_base<Impulse> has no min nor max.

Domains for most types have a min, a max and a set of values. Domain for String has a set of values.

It is used to restrict a value to the domain if available.

Todo:
same order than value

Public Member Functions

template<typename T >
 domain (const ossia::domain_base< T > &arg)
 
template<typename T >
 domain (ossia::domain_base< T > &&arg)
 
 domain (const vector_domain &arg)
 
 domain (vector_domain &&arg)
 
template<std::size_t N>
 domain (const vecf_domain< N > &arg)
 
template<std::size_t N>
 domain (vecf_domain< N > &&arg)
 
 domain (const domain &d)
 
 domain (domain &&d)
 
domainoperator= (const domain &d)
 
domainoperator= (domain &&d)
 
value get_min () const
 
value get_max () const
 
 operator bool () const
 
auto which () const
 
template<typename T >
OSSIA_INLINE T get_min () const
 
template<typename T >
OSSIA_INLINE T get_max () const
 
template<typename T >
std::optional< T > maybe_min () const
 
template<typename T >
std::optional< T > maybe_max () const
 
template<typename T >
OSSIA_INLINE T convert_min () const
 
template<typename T >
OSSIA_INLINE T convert_max () const
 
void set_min (const ossia::value &val)
 
void set_max (const ossia::value &val)
 
value apply (bounding_mode b, const ossia::value &val) const
 
value apply (bounding_mode b, ossia::value &&val) const
 
std::string to_pretty_string () const
 

Public Attributes

domain_base_variant v