3#ifndef pRC_CORE_TENSOR_FUNCTIONS_SLICE_H
4#define pRC_CORE_TENSOR_FUNCTIONS_SLICE_H
12 template<
Size... Es,
class X, IsConvertible<Index>... Os,
14 requires(
sizeof...(Es) == R::Dimension &&
15 sizeof...(Os) == R::Dimension &&
16 Sizes<Es...>() <=
typename R::Sizes())
17 static inline constexpr auto slice(X &&a, Os
const... offsets)
23 [&a, &offsets...](
auto const... seq)
25 return TensorViews::Slice<typename R::Type, Sizes<Es...>,
26 Sizes<(R::size(seq) - Es + 1)...>, V>(
28 Subscripts<(R::size(seq) - Es + 1)...>(offsets...));
Definition concepts.hpp:31
Definition cholesky.hpp:10
std::size_t Size
Definition basics.hpp:31
std::remove_reference_t< T > RemoveReference
Definition basics.hpp:41
static constexpr auto slice(X &&a, Os const ... offsets)
Definition slice.hpp:17
Sequence< Size, Ns... > Sizes
Definition sequence.hpp:100
static constexpr auto makeSeries()
Definition sequence.hpp:390
static constexpr decltype(auto) expand(Sequence< T, Seq... > const, F &&f, Xs &&...args)
Definition sequence.hpp:383
static constexpr decltype(auto) eval(X &&a)
Definition eval.hpp:12