3#ifndef pRC_CORE_CONTAINER_ARRAY_SCALAR_H
4#define pRC_CORE_CONTAINER_ARRAY_SCALAR_H
13 template<Allocation A,
class T>
22 static constexpr auto size()
51 template<pRC::Allocation B,
class R, If<IsConvertible<R, T>> = 0>
57 template<
class X, If<IsConvertible<X, T>> = 0>
59 : mData(forward<
X>(value))
66 template<pRC::Allocation B,
class R, If<IsConvertible<R, T>> = 0>
73 template<
class X, If<IsConvertible<X, T>> = 0>
80 constexpr decltype(
auto)
operator()() &&
82 return move(*
this)[0];
85 constexpr decltype(
auto)
operator()()
const &&
87 return move(*
this)[0];
90 constexpr decltype(
auto)
operator()() &
95 constexpr decltype(
auto)
operator()()
const &
102 return move(*
this)();
107 return move(*
this)();
120 constexpr decltype(
auto)
operator[](
Index const index) &&
122 return move(mData)[index];
125 constexpr decltype(
auto)
operator[](
Index const index)
const &&
127 return move(mData)[index];
130 constexpr decltype(
auto)
operator[](
Index const index) &
135 constexpr decltype(
auto)
operator[](
Index const index)
const &
140 constexpr auto data() && =
delete;
constexpr auto & operator=(CommonArray< B, R > const &rhs) &
Definition array_scalar.hpp:67
constexpr auto data() const &&=delete
static constexpr auto size()
Definition array_scalar.hpp:22
static constexpr auto subscriptsToIndex()
Definition array_scalar.hpp:34
constexpr auto data() &&=delete
typename Sizes::Dimension Dimension
Definition array_scalar.hpp:20
static constexpr auto indexToSubscripts(Index const index)
Definition array_scalar.hpp:29
Constant< pRC::Allocation, A > Allocation
Definition array_scalar.hpp:17
static constexpr auto subscriptsToIndex(Subscripts<> const &subscripts)
Definition array_scalar.hpp:39
constexpr CommonArray & operator=(CommonArray &&) &=default
static constexpr auto size(Index const dimension)=delete
constexpr CommonArray(CommonArray< B, R > const &other)
Definition array_scalar.hpp:52
T Type
Definition array_scalar.hpp:18
constexpr CommonArray(CommonArray const &)=default
constexpr auto & operator=(X &&value) &
Definition array_scalar.hpp:74
constexpr CommonArray(X &&value)
Definition array_scalar.hpp:58
constexpr CommonArray & operator=(CommonArray const &) &=default
constexpr CommonArray(CommonArray &&)=default
constexpr CommonArray()=default
constexpr auto data() const &
Definition array_scalar.hpp:148
Definition type_traits.hpp:49
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
Definition cholesky.hpp:18
std::integral_constant< T, V > Constant
Definition type_traits.hpp:34
static constexpr Conditional< IsSatisfied< C >, RemoveConstReference< X >, X > copy(X &&a)
Definition copy.hpp:13
Size Index
Definition type_traits.hpp:21