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

#include "adt/Array1DRef.h"

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

Private Attributes

Tdata
int numElts
friend Array1DRef< const T >
friend Array1DRef< std::byte >
friend Array1DRef< const std::byte >

Detailed Description

template<class T>
class rawspeed::Array1DRef< T >

Definition at line 32 of file Array1DRef.h.

Member Typedef Documentation

◆ cvless_value_type

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

Definition at line 46 of file Array1DRef.h.

◆ value_type

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

Definition at line 45 of file Array1DRef.h.

Constructor & Destructor Documentation

◆ Array1DRef() [1/6]

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

References Array1DRef().

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

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

◆ Array1DRef() [2/6]

template<class T>
rawspeed::Array1DRef< T >::Array1DRef ( T * data,
int numElts )

References Array1DRef(), data, numElts, and rawspeed::T().

Here is the call graph for this function:

◆ Array1DRef() [3/6]

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

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

Here is the call graph for this function:

◆ Array1DRef() [4/6]

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

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

Here is the call graph for this function:

◆ Array1DRef() [5/6]

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

Definition at line 68 of file Array1DRef.h.

References Array1DRef(), data, and numElts.

Here is the call graph for this function:

◆ Array1DRef() [6/6]

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

Definition at line 77 of file Array1DRef.h.

References Array1DRef(), data, numElts, and rawspeed::T().

Here is the call graph for this function:

Member Function Documentation

◆ addressOf()

template<class T>
T * rawspeed::Array1DRef< T >::addressOf ( int eltIdx) const
nodiscard

References rawspeed::T().

Here is the call graph for this function:

◆ begin()

template<class T>
T * rawspeed::Array1DRef< T >::begin ( ) const
nodiscard

References rawspeed::T().

Referenced by rawspeed::anonymous_namespace{PanasonicV8Decompressor.cpp}::bitsPerPixelNeeded(), rawspeed::anonymous_namespace{BitVacuumerBenchmark.cpp}::BM(), rawspeed::operator==(), rawspeed::operator==(), rawspeed::HuffmanCode< CodeTag >::setCodeValues(), rawspeed::md5::BufferCoalescer< N >::take_block_impl(), rawspeed::impl::variableLengthLoad(), rawspeed::variableLengthLoadNaiveViaConditionalLoad(), and rawspeed::variableLengthLoadNaiveViaMemcpy().

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

◆ end()

template<class T>
T * rawspeed::Array1DRef< T >::end ( ) const
nodiscard

References rawspeed::T().

Referenced by rawspeed::anonymous_namespace{PanasonicV8Decompressor.cpp}::bitsPerPixelNeeded(), rawspeed::operator==(), rawspeed::operator==(), rawspeed::HuffmanCode< CodeTag >::setCodeValues(), rawspeed::md5::BufferCoalescer< N >::take_block_impl(), rawspeed::variableLengthLoadNaiveViaConditionalLoad(), and rawspeed::variableLengthLoadNaiveViaMemcpy().

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

◆ establishClassInvariants()

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

Referenced by getBlock(), and getCrop().

Here is the caller graph for this function:

◆ getBlock()

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

Definition at line 122 of file Array1DRef.h.

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

Referenced by rawspeed::ArwDecoder::SonyDecrypt().

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

◆ getCrop()

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

Definition at line 110 of file Array1DRef.h.

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

Referenced by getBlock(), rawspeed::CroppedArray2DRef< T >::operator[](), rawspeed::impl::variableLengthLoad(), and rawspeed::variableLengthLoadNaiveViaMemcpy().

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

◆ operator()()

template<class T>
T & rawspeed::Array1DRef< T >::operator() ( int eltIdx) const
nodiscard

References rawspeed::T().

Here is the call graph for this function:

◆ size()

template<class T>
int RAWSPEED_READONLY rawspeed::Array1DRef< T >::size ( ) const
nodiscard

Member Data Documentation

◆ Array1DRef< const std::byte >

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

Definition at line 40 of file Array1DRef.h.

◆ Array1DRef< const T >

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

Definition at line 36 of file Array1DRef.h.

◆ Array1DRef< std::byte >

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

Definition at line 39 of file Array1DRef.h.

◆ data

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

Definition at line 33 of file Array1DRef.h.

Referenced by Array1DRef(), and Array1DRef().

◆ numElts

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

Definition at line 34 of file Array1DRef.h.

Referenced by Array1DRef(), Array1DRef(), getBlock(), and getCrop().


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