3#ifndef pRC_CORE_CONTAINER_ARRAY_STACK_H
4#define pRC_CORE_CONTAINER_ARRAY_STACK_H
16 template<
class T, Size N>
19 template<
class T, Size N>
28 static constexpr auto size()
80 template<pRC::Allocation B,
class R, If<IsConvertible<R, T>> = 0>
86 template<
class R, If<IsConvertible<R, T>> = 0>
99 template<pRC::Allocation B,
class R, If<IsConvertible<R, T>> = 0>
103 [
this, &
rhs](
auto const i)
105 operator[](
i) =
rhs[
i];
110 template<
class R, If<IsConvertible<R, T>> = 0>
114 [
this, &
rhs](
auto const i)
116 operator[](
i) =
rhs[
i];
146 constexpr decltype(
auto)
operator()(
157 constexpr decltype(
auto)
operator()(
163 constexpr decltype(
auto)
operator[](
Index const index) &&
166 return move(mData[index]);
169 constexpr decltype(
auto)
operator[](
Index const index)
const &&
172 return move(mData[index]);
187 constexpr auto data() && =
delete;
constexpr CommonArray(CArray< R, N > const &other)
Definition array_stack.hpp:87
constexpr auto & operator=(CommonArray< B, R, N > const &rhs) &
Definition array_stack.hpp:100
constexpr CommonArray(Rs const &...values)
Definition array_stack.hpp:94
constexpr auto & operator=(CArray< R, N > const &rhs) &
Definition array_stack.hpp:111
static constexpr auto size()
Definition array_stack.hpp:28
constexpr CommonArray & operator=(CommonArray &&) &=default
static constexpr auto indexToSubscripts(Index const index)
Definition array_stack.hpp:38
constexpr auto data() &&=delete
constexpr CommonArray(CommonArray const &)=default
static constexpr auto subscriptsToIndex(Index const subscripts)
Definition array_stack.hpp:43
constexpr auto data() const &
Definition array_stack.hpp:195
Constant< pRC::Allocation, pRC::Allocation::Stack > Allocation
Definition array_stack.hpp:23
T Type
Definition array_stack.hpp:24
static constexpr auto size(Index const dimension)
Definition array_stack.hpp:33
constexpr auto data() const &&=delete
constexpr CommonArray(CommonArray< B, R, N > const &other)
Definition array_stack.hpp:81
constexpr CommonArray()=default
constexpr CommonArray & operator=(CommonArray const &) &=default
static constexpr auto subscriptsToIndex(Subscripts< N > const &subscripts)
Definition array_stack.hpp:48
typename Sizes::Dimension Dimension
Definition array_stack.hpp:26
constexpr CommonArray(CommonArray &&)=default
constexpr auto & operator[](Index const index) &
Definition array_stack.hpp:175
constexpr auto & operator[](Index const index) const &
Definition array_stack.hpp:181
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 sequence.hpp:34
Definition subscripts.hpp:20
static void error(Xs &&...args)
Definition log.hpp:14
Definition cholesky.hpp:18
std::enable_if_t< B{}, int > If
Definition type_traits.hpp:68
std::size_t Size
Definition type_traits.hpp:20
std::integral_constant< T, V > Constant
Definition type_traits.hpp:34
static constexpr auto makeSeries()
Definition sequence.hpp:361
Constant< Bool, B > IsSatisfied
Definition type_traits.hpp:71
static constexpr Conditional< IsSatisfied< C >, RemoveConstReference< X >, X > copy(X &&a)
Definition copy.hpp:13
constexpr auto cDebugLevel
Definition config.hpp:46
static constexpr auto alignment()
Definition allocation.hpp:34
Size Index
Definition type_traits.hpp:21
#define BEGIN_IGNORE_DIAGNOSTIC_CLANG(warning)
Definition pragma.hpp:45
#define END_IGNORE_DIAGNOSTIC_CLANG
Definition pragma.hpp:46
#define BEGIN_IGNORE_DIAGNOSTIC_GCC(warning)
Definition pragma.hpp:42
#define END_IGNORE_DIAGNOSTIC_GCC
Definition pragma.hpp:43