3#ifndef pRC_CORE_TENSOR_VIEWS_VIEW_BOOL_H
4#define pRC_CORE_TENSOR_VIEWS_VIEW_BOOL_H
14 template<
Size...
Ns,
class F>
31 template<
class E =
typename Sizes::IsLinearizable, If<E> = 0>
32 static constexpr auto size()
50 template<
class X, If<IsConstructible<Bool, X>> = 0>
61 return (this->self())(
indices...);
68 return (this->self())(
indices...);
81 template<
class V = F, If<IsSubscriptable<V>> = 0>
82 constexpr decltype(
auto)
operator[](
Index const index)
84 return (this->self())[index];
87 template<
class V = F, If<IsSubscriptable<V>> = 0>
88 constexpr decltype(
auto)
operator[](
Index const index)
const
90 return (this->self())[index];
93 explicit constexpr operator Bool()
95 return static_cast<Bool>(
eval(*
this));
98 explicit constexpr operator Bool()
const
100 return static_cast<Bool>(
eval(*
this));
121 auto const...
seq) ->
decltype(
auto)
133 auto const...
seq) ->
decltype(
auto)
Definition sequence.hpp:56
static constexpr auto size()
Definition sequence.hpp:88
Constant< Size, sizeof...(Ns)> Dimension
Definition sequence.hpp:74
Definition subscripts.hpp:20
static constexpr auto Single(X &&value, Is const ... indices)
Definition view_bool.hpp:45
static constexpr auto Single(X &&value, Subscripts const &subscripts)
Definition view_bool.hpp:51
constexpr decltype(auto) call(Subscripts const &subscripts) const
Definition view_bool.hpp:128
constexpr decltype(auto) operator()(Is const ... indices) const
Definition view_bool.hpp:66
Bool Type
Definition view_bool.hpp:19
constexpr View(View &&)=default
constexpr View()
Definition view_bool.hpp:109
constexpr View & operator=(View &&)=delete
constexpr View & operator=(View const &)=delete
static constexpr auto size()
Definition view_bool.hpp:32
constexpr View(View const &)=default
constexpr decltype(auto) operator()(Is const ... indices)
Definition view_bool.hpp:59
constexpr decltype(auto) call(Subscripts const &subscripts)
Definition view_bool.hpp:116
static constexpr auto size(Index const dimension)
Definition view_bool.hpp:37
typename Sizes::Dimension Dimension
Definition view_bool.hpp:29
Definition type_traits.hpp:32
Class storing tensors.
Definition tensor.hpp:44
static constexpr auto Single(X &&value, Is const ... indices)
Returns a Tensor of the Tensor class with a single non-zero entry.
Definition tensor.hpp:120
Definition diagonal.hpp:11
static constexpr X eval(X &&a)
Definition eval.hpp:11
bool Bool
Definition type_traits.hpp:18
std::enable_if_t< B{}, int > If
Definition type_traits.hpp:68
std::size_t Size
Definition type_traits.hpp:20
std::is_invocable< F, Args... > IsInvocable
Definition type_traits.hpp:134
Constant< Bool, B > IsSatisfied
Definition type_traits.hpp:71
static constexpr Conditional< IsSatisfied< C >, RemoveConstReference< X >, X > copy(X &&a)
Definition copy.hpp:13
static constexpr decltype(auto) expand(Sequence< T, Seq... > const, F &&f, Xs &&...args)
forwards the values in a pRC::Sequence to a function as parameters
Definition sequence.hpp:354
Size Index
Definition type_traits.hpp:21