RawSpeed
fast raw decoding library
Loading...
Searching...
No Matches
rawspeed::impl Namespace Reference

Classes

struct  zext
struct  zext< uint8_t >
struct  zext< uint16_t >
struct  zext< uint32_t >

Concepts

concept  CanZExt

Functions

template<typename T>
requires std::is_unsigned_v<T> && CanZExt<T>
T logicalRightShiftSafe (T val, int shAmt)
template<typename T>
requires std::is_unsigned_v<T> && (!CanZExt<T>)
T logicalRightShiftSafe (T val, int shAmt)
template<typename T>
requires std::is_unsigned_v<T>
void variableLengthLoad (Array1DRef< std::byte > out, Array1DRef< const std::byte > in, int inPos)

Function Documentation

◆ logicalRightShiftSafe() [1/2]

template<typename T>
requires std::is_unsigned_v<T> && (!CanZExt<T>)
T rawspeed::impl::logicalRightShiftSafe ( T val,
int shAmt )
inline

Definition at line 68 of file VariableLengthLoad.h.

References rawspeed::bitwidth(), rawspeed::implicit_cast(), invariant, rawspeed::T(), and rawspeed::val.

Here is the call graph for this function:

◆ logicalRightShiftSafe() [2/2]

template<typename T>
requires std::is_unsigned_v<T> && CanZExt<T>
T rawspeed::impl::logicalRightShiftSafe ( T val,
int shAmt )
inline

Definition at line 57 of file VariableLengthLoad.h.

References rawspeed::bitwidth(), rawspeed::implicit_cast(), invariant, rawspeed::T(), and rawspeed::val.

Referenced by variableLengthLoad().

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

◆ variableLengthLoad()

template<typename T>
requires std::is_unsigned_v<T>
void rawspeed::impl::variableLengthLoad ( Array1DRef< std::byte > out,
Array1DRef< const std::byte > in,
int inPos )
inline

Definition at line 78 of file VariableLengthLoad.h.

References rawspeed::Array1DRef< T >::begin(), rawspeed::Array1DRef< T >::getCrop(), rawspeed::getLE(), invariant, logicalRightShiftSafe(), rawspeed::Array1DRef< T >::size(), and rawspeed::T().

Referenced by rawspeed::variableLengthLoad().

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