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
static constexpr auto Single(X &&value, Is const ... indices)
Definition tensor.hpp:78
Definition diagonal.hpp:11
static constexpr X eval(X &&a)
Definition eval.hpp:11
bool Bool
Definition type_traits.hpp:18
static constexpr auto makeConstantSequence()
Definition sequence.hpp:402
Size Index
Definition type_traits.hpp:21
std::size_t Size
Definition type_traits.hpp:20
std::enable_if_t< B{}, int > If
Definition type_traits.hpp:68
Constant< Bool, B > IsSatisfied
Definition type_traits.hpp:71
static constexpr decltype(auto) expand(Sequence< T, Seq... > const, F &&f, Xs &&...args)
Definition sequence.hpp:344
std::is_invocable< F, Args... > IsInvocable
Definition type_traits.hpp:134