12 #include <type_traits>
15 inline namespace _V1 {
16 namespace ext::intel {
21 template <
typename _T>
22 std::enable_if_t<std::is_trivially_copyable_v<_T>, _T>
fpga_reg(_T
t) {
23 #if __has_builtin(__builtin_intel_fpga_reg)
24 return __builtin_intel_fpga_reg(
t);
30 template <
typename _T>
32 "ext::intel::fpga_reg will only support trivially_copyable types in a "
33 "future release. The type used here will be disallowed.")]] std::
34 enable_if_t<std::is_trivially_copyable_v<_T> ==
false, _T>
36 #if __has_builtin(__builtin_intel_fpga_reg)
37 return __builtin_intel_fpga_reg(
t);
51 template <
typename _T>
52 [[deprecated(
"intelfpga::fpga_reg will be removed in a future release.")]] _T
std::enable_if_t< std::is_trivially_copyable_v< _T >, _T > fpga_reg(_T t)