diff --git a/server/table.h b/server/table.h index 68cea77..48a01a1 100644 --- a/server/table.h +++ b/server/table.h @@ -623,29 +623,29 @@ inline void TableInfo::print(const char* __restrict sep, const char* _ } } template class VT, + template class VT, class TRet> using test_vt_support = typename std::enable_if_t, ColRef> || std::is_same_v, ColView> || std::is_same_v, vector_type>, TRet>; template class VT> + template class VT> using get_autoext_type = test_vt_support::type>>; template class VT> + template class VT> using get_long_type = test_vt_support::type>>>; template class VT> + template class VT> using get_fp_type = test_vt_support::type>>>; template class VT, template class VT2, + template class VT, template class VT2, class TRet> using test_vt_support2 = typename std::enable_if_t<(std::is_same_v, ColRef> || std::is_same_v, ColView> || @@ -654,21 +654,21 @@ using test_vt_support2 = typename std::enable_if_t<(std::is_same_v, ColRe std::is_same_v, ColView> || std::is_same_v, vector_type>), TRet >; template class VT, template class VT2> + template class VT, template class VT2> using get_autoext_type2 = test_vt_support2::type>>; template class VT, template class VT2> + template class VT, template class VT2> using get_long_type2 = test_vt_support2::type>>>; template class VT, template class VT2> + template class VT, template class VT2> using get_fp_type2 = test_vt_support2::type>>>; -template class VT, template class VT2> +template class VT, template class VT2> get_autoext_type2 operator -(const VT& lhs, const VT2& rhs) { auto ret = get_autoext_type2(lhs.size); @@ -676,7 +676,7 @@ operator -(const VT& lhs, const VT2& rhs) { ret[i] = lhs[i] - rhs[i]; return ret; } -template class VT> +template class VT> get_autoext_type operator -(const VT& lhs, const T2& rhs) { auto ret = get_autoext_type(lhs.size); @@ -684,7 +684,7 @@ operator -(const VT& lhs, const T2& rhs) { ret[i] = lhs[i] - rhs; return ret; } -template class VT> +template class VT> get_autoext_type operator -(const T2& lhs, const VT& rhs) { auto ret = get_autoext_type(rhs.size); @@ -692,7 +692,7 @@ operator -(const T2& lhs, const VT& rhs) { ret[i] = lhs - rhs[i]; return ret; } -template class VT, template class VT2> +template class VT, template class VT2> get_autoext_type2 operator +(const VT& lhs, const VT2& rhs) { auto ret = get_autoext_type2(lhs.size); @@ -700,7 +700,7 @@ operator +(const VT& lhs, const VT2& rhs) { ret[i] = lhs[i] + rhs[i]; return ret; } -template class VT> +template class VT> get_autoext_type operator +(const VT& lhs, const T2& rhs) { auto ret = get_autoext_type(lhs.size); @@ -708,7 +708,7 @@ operator +(const VT& lhs, const T2& rhs) { ret[i] = lhs[i] + rhs; return ret; } -template class VT> +template class VT> get_autoext_type operator +(const T2& lhs, const VT& rhs) { auto ret = get_autoext_type (rhs.size); @@ -716,7 +716,7 @@ operator +(const T2& lhs, const VT& rhs) { ret[i] = lhs + rhs[i]; return ret; } -template class VT, template class VT2> +template class VT, template class VT2> get_long_type2 operator *(const VT& lhs, const VT2& rhs) { auto ret = get_long_type2(lhs.size); @@ -724,7 +724,7 @@ operator *(const VT& lhs, const VT2& rhs) { ret[i] = lhs[i] * rhs[i]; return ret; } -template class VT> +template class VT> get_long_type operator *(const VT& lhs, const T2& rhs) { auto ret = get_long_type(lhs.size); @@ -732,7 +732,7 @@ operator *(const VT& lhs, const T2& rhs) { ret[i] = lhs[i] * rhs; return ret; } -template class VT> +template class VT> get_long_type operator *(const T2& lhs, const VT& rhs) { auto ret = get_long_type(rhs.size); @@ -740,7 +740,7 @@ operator *(const T2& lhs, const VT& rhs) { ret[i] = lhs * rhs[i]; return ret; } -template class VT, template class VT2> +template class VT, template class VT2> get_fp_type2 operator /(const VT& lhs, const VT2& rhs) { auto ret = get_fp_type2(lhs.size); @@ -748,7 +748,7 @@ operator /(const VT& lhs, const VT2& rhs) { ret[i] = lhs[i] / rhs[i]; return ret; } -template class VT> +template class VT> get_fp_type operator /(const VT& lhs, const T2& rhs) { auto ret = get_fp_type(lhs.size); @@ -756,7 +756,7 @@ operator /(const VT& lhs, const T2& rhs) { ret[i] = lhs[i] / rhs; return ret; } -template class VT> +template class VT> get_fp_type operator /(const T2& lhs, const VT& rhs) { auto ret = get_fp_type(rhs.size); @@ -765,21 +765,21 @@ operator /(const T2& lhs, const VT& rhs) { return ret; } -template class VT, template class VT2> +template class VT, template class VT2> VT operator >(const VT& lhs, const VT2& rhs) { auto ret = VT(lhs.size); for (uint32_t i = 0; i < lhs.size; ++i) ret[i] = lhs[i] > rhs[i]; return ret; } -template class VT> +template class VT> VT operator >(const VT& lhs, const T2& rhs) { auto ret = VT(lhs.size); for (uint32_t i = 0; i < lhs.size; ++i) ret[i] = lhs[i] > rhs; return ret; } -template class VT> +template class VT> VT operator >(const T2& lhs, const VT& rhs) { auto ret = VT(rhs.size); for (uint32_t i = 0; i < rhs.size; ++i)