2#include <ossia/detail/config.hpp>
4#include <ossia/detail/small_vector.hpp>
5#include <ossia/detail/span.hpp>
6#include <ossia/network/common/parameter_properties.hpp>
7#include <ossia/network/value/value_base.hpp>
19template <std::
size_t N>
26OSSIA_EXPORT value get_min(
const domain& dom);
27OSSIA_EXPORT value get_max(
const domain& dom);
28OSSIA_EXPORT std::pair<std::optional<float>, std::optional<float>>
29get_float_minmax(
const domain& dom);
31OSSIA_EXPORT
void set_min(domain& dom,
const ossia::value& val);
32OSSIA_EXPORT
void set_max(domain& dom,
const ossia::value& val);
34OSSIA_EXPORT
void set_values(domain& dom,
const std::vector<ossia::value>& val);
35OSSIA_EXPORT std::vector<ossia::value> get_values(
const ossia::domain& dom);
42OSSIA_EXPORT domain make_domain(std::vector<std::string> s);
43OSSIA_EXPORT domain make_domain(tcb::span<const char*>);
45OSSIA_EXPORT domain make_domain_from_osc(
46 const ossia::small_vector<ossia::value, 2>& val,
const ossia::value& cur);
47OSSIA_EXPORT domain make_domain(
49 const std::vector<ossia::value>& vals);
50OSSIA_EXPORT domain make_domain(
const std::vector<ossia::value>& vals);
54 const std::vector<ossia::value>&
min,
const std::vector<ossia::value>&
max,
60bool operator!=(
const domain_base<T>& lhs,
const domain_base<T>& rhs)
The value class.
Definition value.hpp:173
OSSIA_INLINE constexpr auto min(const T a, const U b) noexcept -> typename std::conditional<(sizeof(T) > sizeof(U)), T, U >::type
min function tailored for values
Definition math.hpp:125
val_type
Enum to represent the types that a value can take.
Definition parameter_properties.hpp:16
bounding_mode
Address behaviors at crossing domain boundaries.
Definition parameter_properties.hpp:56
OSSIA_INLINE constexpr auto max(const T a, const U b) noexcept -> typename std::conditional<(sizeof(T) > sizeof(U)), T, U >::type
max function tailored for values
Definition math.hpp:96
domain A domain of values
Definition domain_base.hpp:23