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

#include "adt/Array1DRef.h"

Inheritance diagram for Array1DRef< T >:
[legend]
Collaboration diagram for 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< T > getCrop (int offset, int numElts) const
CroppedArray1DRef< T > getBlock (int numElts, int index) const
int RAWSPEED_READONLY size () const
T * addressOf (int eltIdx) const
T & operator() (int eltIdx) const
T * begin () const
T * end () const

Private Attributes

T * data
int numElts
friend Array1DRef< const T >
friend Array1DRef< std::byte >
friend Array1DRef< const std::byte >

Detailed Description

template<class T>
class 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

◆ Array1DRef() [2/6]

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

◆ 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

◆ 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

◆ 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.

◆ 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.

Member Function Documentation

◆ addressOf()

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

◆ begin()

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

Referenced by rawspeed::Buffer::begin().

Here is the caller graph for this function:

◆ end()

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

Referenced by rawspeed::Buffer::end().

Here is the caller graph for this function:

◆ establishClassInvariants()

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

◆ getBlock()

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

Definition at line 122 of file Array1DRef.h.

◆ getCrop()

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

Definition at line 110 of file Array1DRef.h.

Referenced by rawspeed::Buffer::getSubView().

Here is the caller graph for this function:

◆ operator()()

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

◆ 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.

◆ numElts

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

Definition at line 34 of file Array1DRef.h.


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