17 #ifndef OPENKALMAN_GET_DESCRIPTOR_IS_EUCLIDEAN_HPP 18 #define OPENKALMAN_GET_DESCRIPTOR_IS_EUCLIDEAN_HPP 21 #include "coordinates/interfaces/coordinate_descriptor_traits.hpp" 31 template<descriptor Arg>
32 constexpr OpenKalman::internal::boolean_testable decltype(
auto)
34 template<
typename Arg, std::enable_if_t<descriptor<Arg>,
int> = 0>
37 get_descriptor_is_euclidean(
const Arg& arg)
39 if constexpr (values::index<Arg>)
41 return std::true_type{};
45 using U = std::decay_t<stdex::unwrap_reference_t<Arg>>;
46 using Traits = interface::coordinate_descriptor_traits<U>;
47 if constexpr (std::is_same_v<U, Arg>)
return Traits::is_euclidean(arg);
48 else return Traits::is_euclidean(arg.get());
Definition: get_descriptor_dimension.hpp:25
Header file for code relating to values (e.g., scalars and indices)
Definition for coordinates::descriptor.