3#ifndef pRC_CORE_TENSOR_VIEWS_REFERENCE_H
4#define pRC_CORE_TENSOR_VIEWS_REFERENCE_H
10 template<
class T,
class N>
13 template<
class T,
Size... Ns>
16 template<
class T,
Size... Ns>
18 :
public Assignable<T, Sizes<Ns...>, Reference<T, Sizes<Ns...>>>
29 using Base::operator=;
31 template<IsConvertible<Index>... Is>
32 requires(
sizeof...(Is) == Base::Dimension)
33 constexpr decltype(
auto)
operator()(Is
const... indices)
35 return mA(indices...);
38 template<IsConvertible<Index>... Is>
39 requires(
sizeof...(Is) == Base::Dimension)
40 constexpr decltype(
auto)
operator()(Is
const... indices)
const
45 constexpr decltype(
auto)
operator()(
46 typename Base::Subscripts
const &subscripts)
48 return mA(subscripts);
51 constexpr decltype(
auto)
operator()(
52 typename Base::Subscripts
const &subscripts)
const
57 constexpr decltype(
auto)
operator[](
Index const index)
62 constexpr decltype(
auto)
operator[](
Index const index)
const
Definition sequence.hpp:29
Definition assignable.hpp:21
Reference(Tensor< T, Ns... > &a)
Definition reference.hpp:24
Definition reference.hpp:11
pRC::Float<> T
Definition externs_nonTT.hpp:1
Definition declarations.hpp:18
Reference(Tensor< T, Ns... > &) -> Reference< T, Sizes< Ns... > >
Size Index
Definition basics.hpp:32
std::size_t Size
Definition basics.hpp:31
static constexpr AddConst< X > & asConst(X &a)
Definition basics.hpp:71