RawSpeed
fast raw decoding library
Loading...
Searching...
No Matches
VariableLengthLoad.h File Reference
#include "adt/Array1DRef.h"
#include "adt/Bit.h"
#include "adt/Casts.h"
#include "adt/CroppedArray1DRef.h"
#include "adt/Invariant.h"
#include "io/Endianness.h"
#include <algorithm>
#include <climits>
#include <cstddef>
#include <cstdint>
#include <cstring>
#include <type_traits>
Include dependency graph for VariableLengthLoad.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  rawspeed::impl::zext< T >
struct  rawspeed::impl::zext< uint8_t >
struct  rawspeed::impl::zext< uint16_t >
struct  rawspeed::impl::zext< uint32_t >

Namespaces

namespace  rawspeed
namespace  rawspeed::impl

Concepts

concept  rawspeed::impl::CanZExt

Functions

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