14 #include <type_traits>
17 inline namespace _V1 {
18 namespace ext::oneapi::experimental {
26 static constexpr
auto value = T::value;
39 template <
typename PropertyT,
typename... Ts>
44 template <
typename PropertyT,
typename... A,
typename... B>
45 constexpr std::enable_if_t<detail::IsCompileTimeProperty<PropertyT>::value,
49 return (std::is_same<A, B>::value && ...);
52 template <
typename PropertyT,
typename... A,
typename... B>
53 constexpr std::enable_if_t<detail::IsCompileTimeProperty<PropertyT>::value,
57 return (!std::is_same<A, B>::value || ...);
72 template <
typename V,
typename O>
79 template <
typename PropertyT,
typename... PropertyValueTs>
84 template <
typename PropertyT,
typename... PropertyValueTs>
constexpr std::enable_if_t< detail::IsCompileTimeProperty< PropertyT >::value, bool > operator==(const property_value< PropertyT, A... > &, const property_value< PropertyT, B... > &)
constexpr std::enable_if_t< detail::IsCompileTimeProperty< PropertyT >::value, bool > operator!=(const property_value< PropertyT, A... > &, const property_value< PropertyT, B... > &)
static constexpr bool value
static constexpr bool value