22struct OSSIA_EXPORT domain
24 domain_base_variant v;
29 domain(
const ossia::domain_base<T>& arg)
34 domain(ossia::domain_base<T>&& arg)
38 domain(
const vector_domain& arg)
42 domain(vector_domain&& arg)
46 template <std::
size_t N>
47 domain(
const vecf_domain<N>& arg)
51 template <std::
size_t N>
52 domain(vecf_domain<N>&& arg)
56 domain(
const domain& d)
64 domain& operator=(
const domain& d)
69 domain& operator=(domain&& d)
75 value get_min()
const;
76 value get_max()
const;
78 operator bool()
const {
return bool(v); }
79 auto which()
const {
return v.which(); }
82 OSSIA_INLINE T get_min()
const
84 return get_min().get<T>();
87 OSSIA_INLINE T get_max()
const
89 return get_max().get<T>();
93 std::optional<T> maybe_min()
const
96 auto u = val.target<T>();
103 template <
typename T>
104 std::optional<T> maybe_max()
const
106 auto val = get_max();
107 auto u = val.target<T>();
114 template <
typename T>
115 OSSIA_INLINE T convert_min()
const
117 return ossia::convert<T>(get_min());
119 template <
typename T>
120 OSSIA_INLINE T convert_max()
const
122 return ossia::convert<T>(get_max());
131 std::string to_pretty_string()
const;
135 return d.v == other.v;
140 return d.v != other.v;
143 template <
typename T>
144 friend bool operator==(
const ossia::domain& d,
const T& other)
148 template <
typename T>
149 friend bool operator!=(
const ossia::domain& d,
const T& other)
domain A domain of values
Definition domain_base.hpp:23