RawSpeed
fast raw decoding library
Loading...
Searching...
No Matches
rawspeed::md5::BufferCoalescer< N > Class Template Referencefinal

#include "/__w/rawspeed/rawspeed/rawspeed/src/utilities/rstest/md5.h"

Inheritance diagram for rawspeed::md5::BufferCoalescer< N >:
[legend]
Collaboration diagram for rawspeed::md5::BufferCoalescer< N >:
[legend]

Classes

struct  NoBuffer
struct  FullBufferRef
struct  CoalescingBuffer

Public Member Functions

template<typename ArgTy>
void take_block_impl (ArgTy &arg, Array1DRef< const uint8_t > message) const =delete
 __attribute__ ((always_inline)) int bytesAvaliable() const noexcept
bool blockIsEmpty () const noexcept
bool blockIsFull () const noexcept
void reset () noexcept
 __attribute__ ((always_inline)) void take_block(Array1DRef< const uint8_t > message) noexcept
FullBufferRef getAsFullBufferRef () const

Private Member Functions

template<typename ArgTy>
requires std::same_as<ArgTy, NoBuffer>
void take_block_impl (NoBuffer &, Array1DRef< const uint8_t > message)
template<typename ArgTy>
requires std::same_as<ArgTy, CoalescingBuffer>
void take_block_impl (CoalescingBuffer &arg, Array1DRef< const uint8_t > message) const
 __attribute__ ((always_inline)) int length() const noexcept

Private Attributes

std::variant< NoBuffer, FullBufferRef, CoalescingBufferstate = NoBuffer()

Detailed Description

template<int N>
class rawspeed::md5::BufferCoalescer< N >

Definition at line 71 of file md5.h.

Member Function Documentation

◆ __attribute__() [1/3]

template<int N>
rawspeed::md5::BufferCoalescer< N >::__attribute__ ( (always_inline) ) const
inlinenodiscardnoexcept

Definition at line 133 of file md5.h.

◆ __attribute__() [2/3]

template<int N>
rawspeed::md5::BufferCoalescer< N >::__attribute__ ( (always_inline) ) const
inlinenodiscardprivatenoexcept

Definition at line 128 of file md5.h.

References state.

◆ __attribute__() [3/3]

template<int N>
rawspeed::md5::BufferCoalescer< N >::__attribute__ ( (always_inline) ) const
inlinenoexcept

Definition at line 148 of file md5.h.

References invariant, state, rawspeed::T(), and take_block_impl().

Here is the call graph for this function:

◆ blockIsEmpty()

template<int N>
bool rawspeed::md5::BufferCoalescer< N >::blockIsEmpty ( ) const
inlinenodiscardnoexcept

Definition at line 138 of file md5.h.

◆ blockIsFull()

template<int N>
bool rawspeed::md5::BufferCoalescer< N >::blockIsFull ( ) const
inlinenodiscardnoexcept

Definition at line 142 of file md5.h.

◆ getAsFullBufferRef()

template<int N>
FullBufferRef rawspeed::md5::BufferCoalescer< N >::getAsFullBufferRef ( ) const
inlinenodiscard

Definition at line 163 of file md5.h.

References rawspeed::md5::always_false_v, invariant, state, and rawspeed::T().

Here is the call graph for this function:

◆ reset()

template<int N>
void rawspeed::md5::BufferCoalescer< N >::reset ( )
inlinenoexcept

Definition at line 146 of file md5.h.

References state.

◆ take_block_impl() [1/3]

template<int N>
template<typename ArgTy>
void rawspeed::md5::BufferCoalescer< N >::take_block_impl ( ArgTy & arg,
Array1DRef< const uint8_t > message ) const
delete

Referenced by __attribute__(), and take_block_impl().

Here is the caller graph for this function:

◆ take_block_impl() [2/3]

template<int N>
template<typename ArgTy>
requires std::same_as<ArgTy, CoalescingBuffer>
void rawspeed::md5::BufferCoalescer< N >::take_block_impl ( CoalescingBuffer & arg,
Array1DRef< const uint8_t > message ) const
inlineprivate

Definition at line 114 of file md5.h.

References rawspeed::Array1DRef(), rawspeed::Array1DRef< T >::begin(), rawspeed::md5::BufferCoalescer< N >::CoalescingBuffer::block, rawspeed::md5::BufferCoalescer< N >::CoalescingBuffer::block_length, rawspeed::Array1DRef< T >::end(), rawspeed::implicit_cast(), invariant, and rawspeed::Array1DRef< T >::size().

Here is the call graph for this function:

◆ take_block_impl() [3/3]

template<int N>
template<typename ArgTy>
requires std::same_as<ArgTy, NoBuffer>
void rawspeed::md5::BufferCoalescer< N >::take_block_impl ( NoBuffer & ,
Array1DRef< const uint8_t > message )
inlineprivate

Definition at line 98 of file md5.h.

References rawspeed::buf, invariant, rawspeed::Array1DRef< T >::size(), state, and take_block_impl().

Here is the call graph for this function:

Member Data Documentation

◆ state

template<int N>
std::variant<NoBuffer, FullBufferRef, CoalescingBuffer> rawspeed::md5::BufferCoalescer< N >::state = NoBuffer()
private

Definition at line 88 of file md5.h.

Referenced by __attribute__(), __attribute__(), getAsFullBufferRef(), reset(), and take_block_impl().


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