3#ifndef pRC_CORE_TENSOR_VIEWS_BLOCK_H
4#define pRC_CORE_TENSOR_VIEWS_BLOCK_H
13 template<
class T,
class N,
class B,
class V>
16 template<
class T,
Size... Ns,
Size... Bs,
class V>
20 Assignable<T, Sizes<Ns...>,
21 Block<T, Sizes<Ns...>, Sizes<Bs...>, V>>,
22 View<T, Sizes<Ns...>, Block<T, Sizes<Ns...>, Sizes<Bs...>, V>>>
37 if(mOffsets.isOutOfRange())
44 using Base::operator=;
46 template<IsConvertible<Index>... Is>
47 requires(
sizeof...(Is) == Base::Dimension)
48 constexpr decltype(
auto)
operator()(Is
const... indices)
50 return this->call(indices...);
53 template<IsConvertible<Index>... Is>
54 requires(
sizeof...(Is) == Base::Dimension)
55 constexpr decltype(
auto)
operator()(Is
const... indices)
const
57 return this->call(indices...);
60 constexpr decltype(
auto)
operator()(
61 typename Base::Subscripts
const &subscripts)
64 [
this, &subscripts](
auto const... seq) ->
decltype(
auto)
66 return mA((mOffsets[seq] * Ns + subscripts[seq])...);
70 constexpr decltype(
auto)
operator()(
71 typename Base::Subscripts
const &subscripts)
const
74 [
this, &subscripts](
auto const... seq) ->
decltype(
auto)
76 return mA((mOffsets[seq] * Ns + subscripts[seq])...);
80 constexpr decltype(
auto)
operator[](
Index const index) =
delete;
81 constexpr decltype(
auto)
operator[](
Index const index)
const =
delete;
Definition gtest_unittest.cc:5120
Definition sequence.hpp:29
Definition subscripts.hpp:21
Definition assignable.hpp:21
Block(X &&a, Subscripts< Bs... > const &offsets)
Definition block.hpp:31
Definition declarations.hpp:20
Definition concepts.hpp:28
Definition declarations.hpp:36
pRC::Float<> T
Definition externs_nonTT.hpp:1
static void error(Xs &&...args)
Definition log.hpp:14
Definition declarations.hpp:18
Size Index
Definition basics.hpp:32
std::size_t Size
Definition basics.hpp:31
static constexpr auto makeSeriesFor()
Definition sequence.hpp:399
constexpr auto cDebugLevel
Definition config.hpp:48
std::conditional_t< B, T, F > Conditional
Definition basics.hpp:56
static constexpr decltype(auto) expand(Sequence< T, Seq... > const, F &&f, Xs &&...args)
Definition sequence.hpp:383
#define BEGIN_IGNORE_DIAGNOSTIC_GCC(warning)
Definition pragma.hpp:42
#define END_IGNORE_DIAGNOSTIC_GCC
Definition pragma.hpp:43