3#ifndef pRC_CORE_TENSOR_OPERATOR_VIEWS_EXTRACT_DIAGONAL_H
4#define pRC_CORE_TENSOR_OPERATOR_VIEWS_EXTRACT_DIAGONAL_H
11 template<
class T,
class N,
class V>
14 Assignable<T, N, ExtractDiagonal<T, N, V>>,
15 View<T, N, ExtractDiagonal<T, N, V>>>
25 template<
class X, If<IsConstructible<V, X>> = 0>
31 using Base::operator=;
34 If<
IsSatisfied<(
sizeof...(Is) ==
typename Base::Dimension())>> = 0>
41 If<
IsSatisfied<(
sizeof...(Is) ==
typename Base::Dimension())>> = 0>
47 constexpr decltype(
auto)
operator()(
53 constexpr decltype(
auto)
operator()(
54 typename Base::Subscripts
const &
subscripts)
const
Definition assignable.hpp:22
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