3#ifndef pRC_CORE_TENSOR_VIEWS_RESHAPE_H
4#define pRC_CORE_TENSOR_VIEWS_RESHAPE_H
11 template<
class T,
class N,
class V>
14 Assignable<T, N, Reshape<T, N, V>>, View<T, N, Reshape<T, N, V>>>
23 template<
class X, If<IsSame<V, RemoveReference<X>>> = 0>
29 using Base::operator=;
32 If<
IsSatisfied<(
sizeof...(Is) ==
typename Base::Dimension())>> = 0>
35 return (*
this)(
typename Base::Subscripts(
indices...));
39 If<
IsSatisfied<(
sizeof...(Is) ==
typename Base::Dimension())>> = 0>
42 return (*
this)(
typename Base::Subscripts(
indices...));
45 constexpr decltype(
auto)
operator()(
51 constexpr decltype(
auto)
operator()(
52 typename Base::Subscripts
const &
subscripts)
const
57 template<
class E = IsSubscriptable<V>, If<E> = 0>
58 constexpr decltype(
auto)
operator[](
Index const index)
63 template<
class E = IsSubscriptable<V>, If<E> = 0>
64 constexpr decltype(
auto)
operator[](
Index const index)
const
Definition assignable.hpp:22
Definition reshape.hpp:15
Reshape(X &&a)
Definition reshape.hpp:24
constexpr decltype(auto) operator()(Is const ... indices) const
Definition reshape.hpp:40
constexpr decltype(auto) operator()(Is const ... indices)
Definition reshape.hpp:33
Definition type_traits.hpp:32
Definition diagonal.hpp:11
std::enable_if_t< B{}, int > If
Definition type_traits.hpp:68
Constant< Bool, B > IsSatisfied
Definition type_traits.hpp:71
static constexpr Conditional< IsSatisfied< C >, RemoveConstReference< X >, X > copy(X &&a)
Definition copy.hpp:13
std::conditional_t< B{}, T, F > Conditional
Definition type_traits.hpp:131
Size Index
Definition type_traits.hpp:21