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>>)
64 template <typename T2>
65 requires(!std::is_const_v<T2> && std::is_const_v<
T> &&
66 std::is_same_v<std::remove_const_t<
T>, std::remove_const_t<T2>>)
79 [[nodiscard]]
T*
end()
const;
81 [[nodiscard]]
int RAWSPEED_READONLY
size()
const;
100 invariant(offset + numElts <= base.size());
107 : base(base_), offset(offset_), numElts(numElts_) {
108 establishClassInvariants();
112[[nodiscard]]
inline CroppedArray1DRef<T>
131 const int additionalOffset =
size * index;
CroppedArray1DRef< T > getCrop(int offset, int numElts) const
CroppedArray1DRef< T > getCrop(int offset, int numElts) const
int RAWSPEED_READONLY size() const
std::remove_cv_t< value_type > cvless_value_type
CroppedArray1DRef()=delete
Array1DRef< T > getAsArray1DRef() const
T & operator()(int eltIdx) const
T * addressOf(int eltIdx) const
CroppedArray1DRef(Array1DRef< T > base, int offset, int numElts)
friend CroppedArray1DRef< T > Array1DRef(int offset, int numElts) const
CroppedArray1DRef< T > getBlock(int size, int index) const
void establishClassInvariants() const noexcept
CroppedArray1DRef(Array1DRef< T > base, int offset, int numElts) -> CroppedArray1DRef< T >
__attribute__((noinline)) __attribute__((visibility("default"))) JPEGStuffedByteStreamGenerator