23#include "rawspeedconfig.h"
53 template <typename T2>
54 requires(std::is_const_v<T2> && !std::is_const_v<
T>)
58 template <typename T2>
59 requires(!(std::is_const_v<T2> && !std::is_const_v<
T>) &&
60 !std::is_same_v<std::remove_const_t<
T>, std::remove_const_t<T2>> &&
61 !std::is_same_v<std::remove_const_t<
T>, std::
byte>)
65 template <typename T2>
66 requires(!std::is_const_v<T2> && std::is_const_v<
T> &&
67 std::is_same_v<std::remove_const_t<
T>, std::remove_const_t<T2>>)
72 template <
typename T2>
74 !(std::is_const_v<T2> && !std::is_const_v<T>) &&
75 !(std::is_same_v<std::remove_const_t<T>, std::remove_const_t<T2>>) &&
76 std::is_same_v<std::remove_const_t<T>, std::byte>)
83 [[nodiscard]]
int RAWSPEED_READONLY
size()
const;
89 [[nodiscard]]
T*
end()
const;
104 : data(data_), numElts(numElts_) {
105 establishClassInvariants();
109[[nodiscard]]
inline CroppedArray1DRef<T>
117 return {*
this, offset,
size};
134 establishClassInvariants();
137#pragma GCC diagnostic push
138#pragma GCC diagnostic ignored "-Wpragmas"
139#pragma GCC diagnostic ignored "-Wunknown-warning-option"
140#pragma GCC diagnostic ignored "-Wunsafe-buffer-usage"
141 return data + eltIdx;
142#pragma GCC diagnostic pop
148 establishClassInvariants();
151 return *addressOf(eltIdx);
155 establishClassInvariants();
160 establishClassInvariants();
164 establishClassInvariants();
165 return addressOf(numElts);
bool RAWSPEED_READNONE __attribute__((visibility("default"))) benchmarkDryRun()
T * addressOf(int eltIdx) const
CroppedArray1DRef< T > getCrop(int offset, int numElts) const
CroppedArray1DRef< T > getBlock(int numElts, int index) const
T & operator()(int eltIdx) const
int RAWSPEED_READONLY size() const
void establishClassInvariants() const noexcept
std::remove_cv_t< value_type > cvless_value_type
T * addressOf(int eltIdx) const
CroppedArray1DRef< T > getCrop(int offset, int numElts) const
Array1DRef(Array1DRef< T2 > RHS)
T & operator()(int eltIdx) const
int RAWSPEED_READONLY size() const
__attribute__((noinline)) __attribute__((visibility("default"))) JPEGStuffedByteStreamGenerator
Array1DRef(T *data_, int numElts_) -> Array1DRef< T >