RawSpeed
fast raw decoding library
Loading...
Searching...
No Matches
rawspeed::md5::MD5 Class Referencefinal

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

Collaboration diagram for rawspeed::md5::MD5:
[legend]

Public Member Functions

 MD5 () noexcept
 ~MD5 () noexcept
 MD5 (const MD5 &)=delete
 MD5 (MD5 &&) noexcept=delete
MD5operator= (const MD5 &)=delete
MD5operator= (MD5 &&) noexcept=delete
template<typename T>
requires std::is_same_v<T, uint8_t>
MD5take (const T *message, size_t len) noexcept
MD5Hasher::state_type flush () noexcept

Private Member Functions

void reset () noexcept
int bytesAvaliableInBlock () const noexcept RAWSPEED_READONLY
bool blockIsEmpty () const noexcept RAWSPEED_READONLY
bool blockIsFull () const noexcept RAWSPEED_READONLY
 __attribute__ ((always_inline)) inline void compressFullBlock() noexcept
template<typename T>
requires std::is_same_v<T, uint8_t>
MD5operator<< (const T &v) noexcept
template<typename T>
requires std::is_same_v<T, uint8_t>
MD5take_full_block (Array1DRef< const T > message) noexcept
template<typename T>
requires std::is_same_v<T, uint8_t>
MD5take_block (Array1DRef< const T > message) noexcept

Private Attributes

BufferCoalescer< MD5Hasher::block_sizebuffer
int bytes_total
MD5Hasher::state_type state

Static Private Attributes

static constexpr const MD5Hasher::state_type md5_init

Detailed Description

Definition at line 181 of file md5.h.

Constructor & Destructor Documentation

◆ MD5() [1/3]

rawspeed::md5::MD5::MD5 ( )
inlinenoexcept

Definition at line 224 of file md5.h.

References MD5(), and reset().

Referenced by MD5(), MD5(), MD5(), flush(), operator<<(), operator=(), operator=(), take(), take_block(), and take_full_block().

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

◆ ~MD5()

rawspeed::md5::MD5::~MD5 ( )
inlinenoexcept

Definition at line 225 of file md5.h.

References bytes_total, and invariant.

◆ MD5() [2/3]

rawspeed::md5::MD5::MD5 ( const MD5 & )
delete

References MD5().

Here is the call graph for this function:

◆ MD5() [3/3]

rawspeed::md5::MD5::MD5 ( MD5 && )
deletenoexcept

References MD5().

Here is the call graph for this function:

Member Function Documentation

◆ __attribute__()

rawspeed::md5::MD5::__attribute__ ( (always_inline) )
privatenoexcept

References rawspeed::T().

Referenced by flush().

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

◆ blockIsEmpty()

bool rawspeed::md5::MD5::blockIsEmpty ( ) const
inlinenodiscardprivatenoexcept

Definition at line 201 of file md5.h.

References buffer.

◆ blockIsFull()

bool rawspeed::md5::MD5::blockIsFull ( ) const
inlinenodiscardprivatenoexcept

Definition at line 205 of file md5.h.

References buffer.

Referenced by flush().

Here is the caller graph for this function:

◆ bytesAvaliableInBlock()

int rawspeed::md5::MD5::bytesAvaliableInBlock ( ) const
inlinenodiscardprivatenoexcept

Definition at line 197 of file md5.h.

References buffer.

◆ flush()

MD5Hasher::state_type rawspeed::md5::MD5::flush ( )
noexcept

References MD5(), __attribute__(), blockIsFull(), buffer, rawspeed::md5::MD5Hasher::compress(), flush(), invariant, and state.

Referenced by flush(), and TEST_P().

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

◆ operator<<()

template<typename T>
requires std::is_same_v<T, uint8_t>
MD5 & rawspeed::md5::MD5::operator<< ( const T & v)
privatenoexcept

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

Here is the call graph for this function:

◆ operator=() [1/2]

MD5 & rawspeed::md5::MD5::operator= ( const MD5 & )
delete

References MD5().

Here is the call graph for this function:

◆ operator=() [2/2]

MD5 & rawspeed::md5::MD5::operator= ( MD5 && )
deletenoexcept

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

Here is the call graph for this function:

◆ reset()

void rawspeed::md5::MD5::reset ( )
inlineprivatenoexcept

Definition at line 191 of file md5.h.

References buffer, bytes_total, md5_init, and state.

Referenced by MD5().

Here is the caller graph for this function:

◆ take()

template<typename T>
requires std::is_same_v<T, uint8_t>
MD5 & rawspeed::md5::MD5::take ( const T * message,
size_t len )
noexcept

References MD5(), rawspeed::T(), and take().

Referenced by take(), and TEST_P().

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

◆ take_block()

template<typename T>
requires std::is_same_v<T, uint8_t>
MD5 & rawspeed::md5::MD5::take_block ( Array1DRef< const T > message)
privatenoexcept

References MD5(), rawspeed::T(), and take_block().

Referenced by take_block().

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

◆ take_full_block()

template<typename T>
requires std::is_same_v<T, uint8_t>
MD5 & rawspeed::md5::MD5::take_full_block ( Array1DRef< const T > message)
privatenoexcept

References MD5(), rawspeed::T(), and take_full_block().

Referenced by take_full_block().

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

Member Data Documentation

◆ buffer

BufferCoalescer<MD5Hasher::block_size> rawspeed::md5::MD5::buffer
private

Definition at line 182 of file md5.h.

Referenced by blockIsEmpty(), blockIsFull(), bytesAvaliableInBlock(), flush(), and reset().

◆ bytes_total

int rawspeed::md5::MD5::bytes_total
private

Definition at line 183 of file md5.h.

Referenced by ~MD5(), and reset().

◆ md5_init

const MD5Hasher::state_type rawspeed::md5::MD5::md5_init
staticconstexprprivate
Initial value:
= {
{UINT32_C(0x67452301), UINT32_C(0xEFCDAB89), UINT32_C(0x98BADCFE),
UINT32_C(0x10325476)}}

Definition at line 187 of file md5.h.

Referenced by reset().

◆ state

MD5Hasher::state_type rawspeed::md5::MD5::state
private

Definition at line 185 of file md5.h.

Referenced by flush(), and reset().


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