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

#include "adt/CroppedArray1DRef.h"

Inheritance diagram for rawspeed::CroppedArray1DRef< T >:
[legend]
Collaboration diagram for rawspeed::CroppedArray1DRef< 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
 CroppedArray1DRef ()=delete
template<typename T2>
requires (std::is_const_v<T2> && !std::is_const_v<T>)
 CroppedArray1DRef (CroppedArray1DRef< 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>>)
 CroppedArray1DRef (CroppedArray1DRef< 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>>)
 CroppedArray1DRef (CroppedArray1DRef< T2 > RHS)
Array1DRef< TgetAsArray1DRef () const
CroppedArray1DRef< TgetCrop (int offset, int numElts) const
CroppedArray1DRef< TgetBlock (int size, int index) const
Tbegin () const
Tend () const
int RAWSPEED_READONLY size () const
TaddressOf (int eltIdx) const
Toperator() (int eltIdx) const

Private Member Functions

 CroppedArray1DRef (Array1DRef< T > base, int offset, int numElts)

Private Attributes

Array1DRef< Tbase
int offset
int numElts
friend CroppedArray1DRef< const T >

Friends

CroppedArray1DRef< TArray1DRef (int offset, int numElts) const

Detailed Description

template<class T>
class rawspeed::CroppedArray1DRef< T >

Definition at line 30 of file CroppedArray1DRef.h.

Member Typedef Documentation

◆ cvless_value_type

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

Definition at line 48 of file CroppedArray1DRef.h.

◆ value_type

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

Definition at line 47 of file CroppedArray1DRef.h.

Constructor & Destructor Documentation

◆ CroppedArray1DRef() [1/5]

template<class T>
rawspeed::CroppedArray1DRef< T >::CroppedArray1DRef ( Array1DRef< T > base,
int offset,
int numElts )
private

References Array1DRef, base, numElts, and offset.

Referenced by CroppedArray1DRef(), CroppedArray1DRef(), CroppedArray1DRef(), and Array1DRef.

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

◆ CroppedArray1DRef() [2/5]

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

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

Here is the call graph for this function:

◆ CroppedArray1DRef() [3/5]

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

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

Here is the call graph for this function:

◆ CroppedArray1DRef() [4/5]

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::CroppedArray1DRef< T >::CroppedArray1DRef ( CroppedArray1DRef< T2 > RHS)
delete

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

Here is the call graph for this function:

◆ CroppedArray1DRef() [5/5]

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::CroppedArray1DRef< T >::CroppedArray1DRef ( CroppedArray1DRef< T2 > RHS)
inline

Definition at line 67 of file CroppedArray1DRef.h.

References CroppedArray1DRef(), base, numElts, and offset.

Here is the call graph for this function:

Member Function Documentation

◆ addressOf()

template<class T>
T * rawspeed::CroppedArray1DRef< T >::addressOf ( int eltIdx) const
inlinenodiscard

Definition at line 152 of file CroppedArray1DRef.h.

References addressOf(), base, establishClassInvariants(), invariant, numElts, offset, and rawspeed::T().

Referenced by addressOf(), begin(), end(), and operator()().

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

◆ begin()

template<class T>
T * rawspeed::CroppedArray1DRef< T >::begin ( ) const
inlinenodiscard

Definition at line 137 of file CroppedArray1DRef.h.

References addressOf(), begin(), establishClassInvariants(), and rawspeed::T().

Referenced by rawspeed::MSan::Allocated(), begin(), rawspeed::MSan::CheckMemIsInitialized(), and getAsArray1DRef().

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

◆ end()

template<class T>
T * rawspeed::CroppedArray1DRef< T >::end ( ) const
inlinenodiscard

Definition at line 141 of file CroppedArray1DRef.h.

References addressOf(), end(), establishClassInvariants(), numElts, and rawspeed::T().

Referenced by end().

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

◆ establishClassInvariants()

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

Referenced by addressOf(), begin(), rawspeed::CroppedArray1DRef(), end(), getBlock(), getCrop(), operator()(), and size().

Here is the caller graph for this function:

◆ getAsArray1DRef()

template<class T>
Array1DRef< T > rawspeed::CroppedArray1DRef< T >::getAsArray1DRef ( ) const
inlinenodiscard

Definition at line 71 of file CroppedArray1DRef.h.

References Array1DRef, begin(), and size().

Here is the call graph for this function:

◆ getBlock()

template<class T>
CroppedArray1DRef< T > rawspeed::CroppedArray1DRef< T >::getBlock ( int size,
int index ) const
inlinenodiscard

Definition at line 125 of file CroppedArray1DRef.h.

References establishClassInvariants(), getBlock(), getCrop(), invariant, numElts, and size().

Referenced by getBlock().

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

◆ getCrop()

template<class T>
CroppedArray1DRef< T > rawspeed::CroppedArray1DRef< T >::getCrop ( int offset,
int numElts ) const
inlinenodiscard

Definition at line 113 of file CroppedArray1DRef.h.

References base, establishClassInvariants(), getCrop(), invariant, numElts, offset, and size().

Referenced by getBlock(), and getCrop().

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

◆ operator()()

template<class T>
T & rawspeed::CroppedArray1DRef< T >::operator() ( int eltIdx) const
inlinenodiscard

Definition at line 160 of file CroppedArray1DRef.h.

References addressOf(), establishClassInvariants(), invariant, numElts, operator()(), and rawspeed::T().

Referenced by operator()().

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

◆ size()

template<class T>
int rawspeed::CroppedArray1DRef< T >::size ( ) const
inlinenodiscard

Definition at line 146 of file CroppedArray1DRef.h.

References establishClassInvariants(), numElts, and size().

Referenced by rawspeed::MSan::Allocated(), rawspeed::MSan::CheckMemIsInitialized(), getAsArray1DRef(), getBlock(), getCrop(), rawspeed::Cr2sRawInterpolator::YCbCr::LoadCbCr(), rawspeed::Cr2sRawInterpolator::YCbCr::LoadY(), size(), and rawspeed::Cr2sRawInterpolator::STORE_RGB().

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

◆ Array1DRef

template<class T>
CroppedArray1DRef< T > Array1DRef ( int offset,
int numElts ) const
friend

Member Data Documentation

◆ base

template<class T>
Array1DRef<T> rawspeed::CroppedArray1DRef< T >::base
private

Definition at line 31 of file CroppedArray1DRef.h.

Referenced by CroppedArray1DRef(), CroppedArray1DRef(), addressOf(), and getCrop().

◆ CroppedArray1DRef< const T >

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

Definition at line 35 of file CroppedArray1DRef.h.

◆ numElts

template<class T>
int rawspeed::CroppedArray1DRef< T >::numElts
private

◆ offset

template<class T>
int rawspeed::CroppedArray1DRef< T >::offset
private

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