Skip to content
Snippets Groups Projects

Fuse bn

Merged Cyril Moineau requested to merge fuseBN into main
1 file
+ 5
5
Compare changes
  • Side-by-side
  • Inline
@@ -140,10 +140,10 @@ public:
@@ -140,10 +140,10 @@ public:
}
}
template <typename R, std::size_t SIZE = std::tuple_size<std::tuple<T...>>::value-1>
template <typename R, std::size_t SIZE = std::tuple_size<std::tuple<T...>>::value-1>
constexpr typename std::enable_if<(SIZE < std::numeric_limits<std::size_t>::max()), R&>::type get(std::size_t i) {
constexpr typename std::enable_if<(SIZE > 0), R&>::type get(std::size_t i) {
if (i == SIZE) {
if (i == SIZE-1) {
if (std::is_same<R, typename std::tuple_element<SIZE,std::tuple<T...>>::type>::value) {
if (std::is_same<R, typename std::tuple_element<SIZE-1,std::tuple<T...>>::type>::value) {
return reinterpret_cast<R&>(std::get<SIZE>(mParams));
return reinterpret_cast<R&>(std::get<SIZE-1>(mParams));
}
}
else {
else {
assert(false && "wrong parameter type");
assert(false && "wrong parameter type");
@@ -155,7 +155,7 @@ public:
@@ -155,7 +155,7 @@ public:
}
}
template <typename R, std::size_t SIZE = std::tuple_size<std::tuple<T...>>::value-1>
template <typename R, std::size_t SIZE = std::tuple_size<std::tuple<T...>>::value-1>
constexpr typename std::enable_if<(SIZE == std::numeric_limits<std::size_t>::max()), R&>::type get(std::size_t /*i*/) {
constexpr typename std::enable_if<(SIZE == 0), R&>::type get(std::size_t /*i*/) {
assert(false && "parameter not found");
assert(false && "parameter not found");
}
}
Loading