AF
Size: a a a
AF
D
AF
D
TS
template <typename T>
concept has_bool_foo = requires() {
requires std::same_as<std::decay_t<decltype(T::foo)>, bool>;
};
?D
template <typename T>
concept has_bool_foo = requires() {
requires std::same_as<std::decay_t<decltype(T::foo)>, bool>;
};
?namespace detail::d1 {
template <typename T, typename U>
concept decayed_same_as = std::same_as<std::decay_t<T>, std::decay_t<U>>;
}
template <typename T>
concept has_bool_foo = requires() {
{ T::foo } -> detail::d1::decayed_same_as<bool>;
};
D
namespace detail::d1 {
template <typename T, typename U>
concept decayed_same_as = std::same_as<std::decay_t<T>, std::decay_t<U>>;
}
template <typename T>
concept has_bool_foo = requires() {
{ T::foo } -> detail::d1::decayed_same_as<bool>;
};
AF
template <typename T>
concept has_bool_foo = requires() {
requires std::same_as<std::decay_t<decltype(T::foo)>, bool>;
};
?TS
AF
TS
AF
D
template <typename T, typename U>
concept same_as_ignore_cvref = std::same_as<std::remove_cvref_t<T>, std::remove_cvref_t<U>>;
AF
AF
TS
AF
TS
TS
AF