RawSpeed
fast raw decoding library
Loading...
Searching...
No Matches
rawspeed::Array2DRef< T > Class Template Referencefinal

#include "adt/Array2DRef.h"

Inheritance diagram for rawspeed::Array2DRef< T >:
[legend]
Collaboration diagram for rawspeed::Array2DRef< T >:
[legend]

Public Types

using value_type = T
using cvless_value_type = std::remove_cv_t<value_type>

Public Member Functions

void establishClassInvariants () const noexcept
 Array2DRef (Array1DRef< T > data, int width, int height, int pitch)
int RAWSPEED_READONLY pitch () const
int RAWSPEED_READONLY width () const
int RAWSPEED_READONLY height () const
 Array2DRef ()=delete
 Array2DRef (T *data, int width, int height, int pitch)
 Array2DRef (T *data, int width, int height)
template<typename T2>
requires (std::is_const_v<T2> && !std::is_const_v<T>)
 Array2DRef (Array2DRef< T2 > RHS)=delete
template<typename T2>
requires (!(std::is_const_v<T2> && !std::is_const_v<T>) && !std::is_same_v<std::remove_const_t<T>, std::remove_const_t<T2>> && !std::is_same_v<std::remove_const_t<T>, std::byte>)
 Array2DRef (Array2DRef< T2 > RHS)=delete
template<typename T2>
requires (!std::is_const_v<T2> && std::is_const_v<T> && std::is_same_v<std::remove_const_t<T>, std::remove_const_t<T2>>)
 Array2DRef (Array2DRef< T2 > RHS)
template<typename T2>
requires ( !(std::is_const_v<T2> && !std::is_const_v<T>) && !(std::is_same_v<std::remove_const_t<T>, std::remove_const_t<T2>>) && std::is_same_v<std::remove_const_t<T>, std::byte>)
 Array2DRef (Array2DRef< T2 > RHS)
Optional< Array1DRef< T > > getAsArray1DRef () const
Array1DRef< Toperator[] (int row) const
Toperator() (int row, int col) const

Static Public Member Functions

template<typename AllocatorType = typename std::vector<cvless_value_type>::allocator_type>
static Array2DRef< Tcreate (std::vector< cvless_value_type, AllocatorType > &storage, int width, int height)

Private Attributes

Array1DRef< Tdata
int _pitch
int _width
int _height
friend Array2DRef< const T >
friend Array2DRef< std::byte >
friend Array2DRef< const std::byte >

Detailed Description

template<class T>
class rawspeed::Array2DRef< T >

Definition at line 35 of file Array2DRef.h.

Member Typedef Documentation

◆ cvless_value_type

template<class T>
using rawspeed::Array2DRef< T >::cvless_value_type = std::remove_cv_t<value_type>

Definition at line 54 of file Array2DRef.h.

◆ value_type

template<class T>
using rawspeed::Array2DRef< T >::value_type = T

Definition at line 53 of file Array2DRef.h.

Constructor & Destructor Documentation

◆ Array2DRef() [1/8]

template<class T>
rawspeed::Array2DRef< T >::Array2DRef ( Array1DRef< T > data,
int width,
int height,
int pitch )

References Array2DRef(), data, height(), pitch(), rawspeed::T(), and width().

Referenced by Array2DRef(), Array2DRef(), Array2DRef(), Array2DRef(), Array2DRef(), and Array2DRef().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Array2DRef() [2/8]

template<class T>
rawspeed::Array2DRef< T >::Array2DRef ( )
delete

References Array2DRef(), data, height(), pitch(), rawspeed::T(), and width().

Here is the call graph for this function:

◆ Array2DRef() [3/8]

template<class T>
rawspeed::Array2DRef< T >::Array2DRef ( T * data,
int width,
int height,
int pitch )
inline

Definition at line 146 of file Array2DRef.h.

References Array2DRef(), and rawspeed::T().

Here is the call graph for this function:

◆ Array2DRef() [4/8]

template<class T>
rawspeed::Array2DRef< T >::Array2DRef ( T * data,
int width,
int height )
inline

Definition at line 153 of file Array2DRef.h.

References Array2DRef(), establishClassInvariants(), and rawspeed::T().

Here is the call graph for this function:

◆ Array2DRef() [5/8]

template<class T>
template<typename T2>
requires (std::is_const_v<T2> && !std::is_const_v<T>)
rawspeed::Array2DRef< T >::Array2DRef ( Array2DRef< T2 > RHS)
delete

References Array2DRef(), and rawspeed::T().

Here is the call graph for this function:

◆ Array2DRef() [6/8]

template<class T>
template<typename T2>
requires (!(std::is_const_v<T2> && !std::is_const_v<T>) && !std::is_same_v<std::remove_const_t<T>, std::remove_const_t<T2>> && !std::is_same_v<std::remove_const_t<T>, std::byte>)
rawspeed::Array2DRef< T >::Array2DRef ( Array2DRef< T2 > RHS)
delete

References Array2DRef(), and rawspeed::T().

Here is the call graph for this function:

◆ Array2DRef() [7/8]

template<class T>
template<typename T2>
requires (!std::is_const_v<T2> && std::is_const_v<T> && std::is_same_v<std::remove_const_t<T>, std::remove_const_t<T2>>)
rawspeed::Array2DRef< T >::Array2DRef ( Array2DRef< T2 > RHS)
inline

Definition at line 82 of file Array2DRef.h.

References Array2DRef(), _height, _pitch, _width, and data.

Here is the call graph for this function:

◆ Array2DRef() [8/8]

template<class T>
template<typename T2>
requires ( !(std::is_const_v<T2> && !std::is_const_v<T>) && !(std::is_same_v<std::remove_const_t<T>, std::remove_const_t<T2>>) && std::is_same_v<std::remove_const_t<T>, std::byte>)
rawspeed::Array2DRef< T >::Array2DRef ( Array2DRef< T2 > RHS)
inline

Definition at line 91 of file Array2DRef.h.

References Array2DRef(), _height, _pitch, _width, and data.

Here is the call graph for this function:

Member Function Documentation

◆ create()

template<class T>
template<typename AllocatorType = typename std::vector<cvless_value_type>::allocator_type>
Array2DRef< T > rawspeed::Array2DRef< T >::create ( std::vector< cvless_value_type, AllocatorType > & storage,
int width,
int height )
inlinestatic

Definition at line 98 of file Array2DRef.h.

References height(), and width().

Referenced by rawspeed::RawImageDataU16::calculateBlackAreas(), and rawspeed::IiqDecoder::PhaseOneFlatField().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ establishClassInvariants()

template<class T>
void rawspeed::Array2DRef< T >::establishClassInvariants ( ) const
noexcept

Referenced by Array2DRef(), rawspeed::Array2DRef(), and rawspeed::CroppedArray2DRef().

Here is the caller graph for this function:

◆ getAsArray1DRef()

template<class T>
Optional< Array1DRef< T > > rawspeed::Array2DRef< T >::getAsArray1DRef ( ) const
nodiscard

Referenced by rawspeed::copyPixelsImpl().

Here is the caller graph for this function:

◆ height()

◆ operator()()

template<class T>
T & rawspeed::Array2DRef< T >::operator() ( int row,
int col ) const

References rawspeed::T().

Here is the call graph for this function:

◆ operator[]()

template<class T>
Array1DRef< T > rawspeed::Array2DRef< T >::operator[] ( int row) const

◆ pitch()

template<class T>
int RAWSPEED_READONLY rawspeed::Array2DRef< T >::pitch ( ) const
nodiscard

References pitch().

Referenced by Array2DRef(), Array2DRef(), and pitch().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ width()

template<class T>
int RAWSPEED_READONLY rawspeed::Array2DRef< T >::width ( ) const
nodiscard

Member Data Documentation

◆ _height

template<class T>
int rawspeed::Array2DRef< T >::_height
private

Definition at line 40 of file Array2DRef.h.

Referenced by Array2DRef().

◆ _pitch

template<class T>
int rawspeed::Array2DRef< T >::_pitch
private

Definition at line 37 of file Array2DRef.h.

Referenced by Array2DRef().

◆ _width

template<class T>
int rawspeed::Array2DRef< T >::_width
private

Definition at line 39 of file Array2DRef.h.

Referenced by Array2DRef().

◆ Array2DRef< const std::byte >

template<class T>
friend rawspeed::Array2DRef< T >::Array2DRef< const std::byte >
private

Definition at line 46 of file Array2DRef.h.

◆ Array2DRef< const T >

template<class T>
friend rawspeed::Array2DRef< T >::Array2DRef< const T >
private

Definition at line 42 of file Array2DRef.h.

◆ Array2DRef< std::byte >

template<class T>
friend rawspeed::Array2DRef< T >::Array2DRef< std::byte >
private

Definition at line 45 of file Array2DRef.h.

◆ data

template<class T>
Array1DRef<T> rawspeed::Array2DRef< T >::data
private

Definition at line 36 of file Array2DRef.h.

Referenced by Array2DRef(), Array2DRef(), and Array2DRef().


The documentation for this class was generated from the following file: