8 #ifndef SIG_UTIL_ASSIGN_OPERATION_HPP
9 #define SIG_UTIL_ASSIGN_OPERATION_HPP
11 #include "../helper/helper_modules.hpp"
12 #include "../helper/container_helper.hpp"
13 #include "../calculation/for_each.hpp"
36 template <
class F,
class C1,
class C2,
37 typename std::enable_if<impl::container_traits<C1>::exist && impl::container_traits<C2>::exist>::type*& =
enabler
63 template <
class F,
class C,
class T,
64 typename std::enable_if<impl::container_traits<C>::exist && !impl::container_traits<T>::exist>::type*& =
enabler
72 std::forward<F>(assign_op)(e, src);
83 template <
class T1,
class T2>
86 v1 += std::forward<T2>(v2);
96 template <
class T1,
class T2>
99 v1 -= std::forward<T2>(v2);
109 template <
class T1,
class T2>
112 v1 *= std::forward<T2>(v2);
122 template <
class T1,
class T2>
125 v1 /= std::forward<T2>(v2);
void for_each(F &&func, Cs &&...containers)
複数コンテナを反復処理
void operator()(T1 &v1, T2 &&v2) const
compound_assignment の第1引数に指定する代入関数のプリセット(乗算代入)
void operator()(T1 &v1, T2 &&v2) const
void compound_assignment(F &&assign_op, C1 &dest, C2 const &src)
コンテナへの代入演算 (element-wise: container and container)
void operator()(T1 &v1, T2 &&v2) const
void operator()(T1 &v1, T2 &&v2) const
compound_assignment の第1引数に指定する代入関数のプリセット(加算代入)
compound_assignment の第1引数に指定する代入関数のプリセット(除算代入)
compound_assignment の第1引数に指定する代入関数のプリセット(減算代入)