Skip to content

Commit 9c5dea2

Browse files
authored
DPL: make base_of_template/specialization_of_template accept cr-qualified types (#13872)
1 parent 4d5a07f commit 9c5dea2

File tree

1 file changed

+3
-3
lines changed
  • Framework/Foundation/include/Framework

1 file changed

+3
-3
lines changed

Framework/Foundation/include/Framework/Traits.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,8 @@ inline constexpr bool is_specialization_v = is_specialization<T, Ref>::value;
3434
template <template <typename...> typename T, typename S>
3535
concept specialization_of_template = requires {
3636
{
37-
[]<typename... Ts>(T<Ts...>*) -> T<Ts...> {}(std::declval<S*>())
38-
} -> std::same_as<S>;
37+
[]<typename... Ts>(T<Ts...>*) -> T<Ts...> {}(std::declval<std::decay_t<S>*>())
38+
} -> std::same_as<std::decay_t<S>>;
3939
};
4040

4141
template <typename A, typename B>
@@ -51,7 +51,7 @@ inline constexpr bool always_static_assert_v = always_static_assert<T...>::value
5151

5252
template <template <typename...> typename B, typename D>
5353
concept base_of_template = requires {
54-
[]<typename... Ts>(B<Ts...>*) {}(std::declval<D*>());
54+
[]<typename... Ts>(B<Ts...>*) {}(std::declval<std::decay_t<D>*>());
5555
};
5656

5757
template <template <typename...> typename B, typename D>

0 commit comments

Comments
 (0)