commit fba2366116dd03c65f23a788b691ff7fdd070b7d
parent a94625fe74b0450870e58f1a85cfcfc0d7b5628e
Author: d.levin256@gmail.com <d.levin256@gmail.com>
Date: Tue, 6 Dec 2022 00:24:24 +0000
Allow writing to slice only if arg is writable
Diffstat:
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/include/kfr/base/basic_expressions.hpp b/include/kfr/base/basic_expressions.hpp
@@ -195,7 +195,7 @@ KFR_INTRINSIC vec<T, N> get_elements(const expression_slice<Arg>& self, const sh
return static_cast<vec<T, N>>(get_elements(self.first(), index.add(self.start), sh));
}
-template <typename Arg, index_t NDims, index_t Axis, size_t N,
+template <typename Arg, index_t NDims, index_t Axis, size_t N, enable_if_output_expression<Arg>* = nullptr,
typename T = typename expression_traits<expression_slice<Arg>>::value_type>
KFR_INTRINSIC void set_elements(const expression_slice<Arg>& self, const shape<NDims>& index,
const axis_params<Axis, N>& sh, const identity<vec<T, N>>& value)