3#ifndef pRC_TENSOR_TRAIN_OPERATOR_VIEWS_LOOP_H
4#define pRC_TENSOR_TRAIN_OPERATOR_VIEWS_LOOP_H
12 template<
class T,
class M,
class N,
class Ranks,
class F,
class...
Vs>
16 ResultOf<F, decltype(declval<Vs>().template core<0>())...>>,
17 Assignable<T, M, N, Ranks, Loop<T, M, N, Ranks, F, Vs...>>,
18 View<T, M, N, Ranks, Loop<T, M, N, Ranks, F, Vs...>>>
32 , mArgs(forward<
Xs>(
args)...)
36 using Base::operator=;
39 constexpr decltype(
auto)
core()
42 [
this](
auto const...
ops) ->
decltype(
auto)
44 return mF(get<ops>(mArgs).
template core<C>()...);
49 constexpr decltype(
auto)
core()
const
52 [
this](
auto const...
ops) ->
decltype(
auto)
54 return mF(get<ops>(mArgs).
template core<C>()...);
Definition type_traits.hpp:40
constexpr decltype(auto) core()
Definition loop.hpp:39
constexpr decltype(auto) core() const
Definition loop.hpp:49
Loop(F f, Xs &&...args)
Definition loop.hpp:30
Definition type_traits.hpp:37
pRC::Float<> T
Definition externs_nonTT.hpp:1
Definition type_traits.hpp:35
static constexpr auto makeConstantSequence()
Definition sequence.hpp:402
std::invoke_result_t< F, Args... > ResultOf
Definition type_traits.hpp:140
std::enable_if_t< B{}, int > If
Definition type_traits.hpp:68
std::is_assignable< T, U > IsAssignable
Definition type_traits.hpp:146
std::conditional_t< B{}, T, F > Conditional
Definition type_traits.hpp:131
std::conjunction< Bs... > All
Definition type_traits.hpp:77
static constexpr decltype(auto) expand(Sequence< T, Seq... > const, F &&f, Xs &&...args)
Definition sequence.hpp:344
Definition type_traits.hpp:66