diff --git a/src/include/expressions.cc.h b/src/include/expressions.cc.h new file mode 100644 index 0000000..846fbd4 --- /dev/null +++ b/src/include/expressions.cc.h @@ -0,0 +1,39 @@ + +#include "expressions.h" + +namespace MultiArrayTools +{ + + template + inline ExpressionHolder Expressions1::ifor(size_t step, + ExpressionHolder ex) const + { + return iforx(step, ex); + } + + template + inline ExpressionHolder Expressions1::iforh(size_t step, + ExpressionHolder ex) const + { + return iforhx(step, ex); + } + + template + inline ExpressionHolder Expressions1::ifori(size_t step, Expr ex) const + { + return iforxi(step, ex); + } + + template + inline ExpressionHolder Expressions1::iforhi(size_t step, Expr ex) const + { + return iforhxi(step, ex); + } + + template + std::shared_ptr makeec(const std::shared_ptr& i) + { + return std::make_shared(i); + } + +} // namespace MultiArrayTools diff --git a/src/include/expressions.h b/src/include/expressions.h index 4911019..8e77097 100644 --- a/src/include/expressions.h +++ b/src/include/expressions.h @@ -21,13 +21,32 @@ namespace MultiArrayTools using DDMMA = MutableMultiArrayBase>; template - using oo = decltype(std::declval()(std::declval>>())); + using oo = decltype(std::declval()(std::declval>&>())); template