Skip to content

Commit 0db641f

Browse files
committed
Use concept instead of SFINAE
1 parent 564e08d commit 0db641f

File tree

1 file changed

+1
-11
lines changed

1 file changed

+1
-11
lines changed

HeterogeneousCore/AlpakaCore/interface/alpaka/ProducerBase.h

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -17,18 +17,8 @@
1717

1818
#include <memory>
1919
#include <tuple>
20-
#include <type_traits>
21-
#include <utility>
2220

2321
namespace ALPAKA_ACCELERATOR_NAMESPACE {
24-
namespace detail {
25-
template <typename, typename Arg, typename = void>
26-
struct hasPostCopy : std::false_type {};
27-
28-
template <typename T, typename Arg>
29-
struct hasPostCopy<T, Arg, std::void_t<decltype(T::postCopy(std::declval<Arg&>()))>> : std::true_type {};
30-
} // namespace detail
31-
3222
template <typename Producer, edm::Transition Tr>
3323
class ProducerBaseAdaptor;
3424

@@ -124,7 +114,7 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE {
124114
},
125115
[](auto tplPtr) {
126116
auto& productOnHost = std::get<0>(*tplPtr);
127-
if constexpr (detail::hasPostCopy<CopyT, decltype(productOnHost)>::value) {
117+
if constexpr (requires { CopyT::postCopy(productOnHost); }) {
128118
CopyT::postCopy(productOnHost);
129119
}
130120
return std::move(productOnHost);

0 commit comments

Comments
 (0)