3#ifndef pRC_TENSOR_TRAIN_OPERATOR_VIEWS_ASSIGNABLE_H
4#define pRC_TENSOR_TRAIN_OPERATOR_VIEWS_ASSIGNABLE_H
24 :
public View<T, Sizes<Ms...>, Sizes<Ns...>, Sizes<Rs...>, F>
45 template<
class X,
class R = RemoveReference<X>,
46 If<IsOperatorish<R>> = 0,
47 If<IsSame<
typename Base::Sizes,
typename R::Sizes>> = 0,
48 If<IsSame<
typename Base::Ranks,
typename R::Ranks>> = 0,
49 If<IsConvertible<
typename R::Type, T>> = 0>
53 [
this, &
rhs](
auto const i)
55 this->self().template
core<i>() =
61 template<
class X,
class R = RemoveReference<X>,
62 If<IsOperatorish<R>> = 0,
63 If<IsSame<
typename Base::Sizes,
typename R::Sizes>> = 0,
64 If<Not<IsSame<
typename Base::Ranks,
typename R::Ranks>>> = 0,
65 If<IsSame<
typename Base::Ranks,
66 typename decltype(round<Rs...>(declval<X>()))::Ranks>> = 0,
67 If<IsConvertible<
typename R::Type, T>> = 0>
74 template<
class X, If<IsInvocable<Add, F, X>> = 0>
81 template<
class X, If<IsInvocable<Sub, F, X>> = 0>
88 template<
class X, If<IsInvocable<Mul, X, F>> = 0>
95 template<
class X, If<IsInvocable<Mul, F, X>> = 0>
102 template<
class X, If<IsInvocable<Mul, F, X>> = 0>
108 template<
class X, If<IsInvocable<Div, F, X>> = 0>
Definition sequence.hpp:56
constexpr auto operator+=(X &&rhs)
Definition assignable.hpp:75
constexpr Assignable & operator=(Assignable const &)=delete
constexpr Assignable(Assignable const &)=default
constexpr auto operator/=(X &&rhs)
Definition assignable.hpp:109
constexpr auto & operator=(Unit<> const)
Definition assignable.hpp:35
constexpr auto applyOnTheLeft(X &&lhs)
Definition assignable.hpp:89
constexpr auto & operator=(Identity<> const)
Definition assignable.hpp:40
constexpr Assignable & operator=(Assignable &&)=delete
constexpr auto & operator=(X &&rhs)
Definition assignable.hpp:50
constexpr Assignable(Assignable &&)=default
constexpr auto operator*=(X &&rhs)
Definition assignable.hpp:103
constexpr auto operator-=(X &&rhs)
Definition assignable.hpp:82
constexpr Assignable()=default
constexpr auto & operator=(Zero<> const)
Definition assignable.hpp:30
constexpr auto & operator=(X &&rhs)
Definition assignable.hpp:68
constexpr auto applyOnTheRight(X &&rhs)
Definition assignable.hpp:96
Definition type_traits.hpp:40
typename N::Dimension Dimension
Definition view.hpp:39
Definition type_traits.hpp:37
Definition type_traits.hpp:35
static constexpr X eval(X &&a)
Definition eval.hpp:11
std::size_t Size
Definition type_traits.hpp:20
static constexpr auto range(F &&f, Xs &&...args)
Definition range.hpp:16
static constexpr Conditional< IsSatisfied< C >, RemoveConstReference< X >, X > copy(X &&a)
Definition copy.hpp:13
static constexpr auto round(Complex< T > const &a)
Definition round.hpp:12
Definition type_traits.hpp:262
Definition type_traits.hpp:265
Definition type_traits.hpp:268