Abstract hasher. More...
#include <StormByte/crypto/hasher/generic.hxx>


Public Member Functions | |
Construction | |
| Generic (const Generic &other)=default | |
| Copy constructor. | |
| Generic (Generic &&other) noexcept=default | |
| Move constructor. | |
| virtual | ~Generic () noexcept |
| Destructor. | |
| Generic & | operator= (const Generic &other)=default |
| Copy assignment. | |
| Generic & | operator= (Generic &&other) noexcept=default |
| Move assignment. | |
Hash | |
| bool | Hash (std::span< const std::byte > input, Buffer::WriteOnly &output) const noexcept |
| Hash a byte span into an output buffer. | |
| template<StormByte::Type::ByteInputRange Range> | |
| bool | Hash (const Range &input, Buffer::WriteOnly &output) const |
| Hash an input range of byte-convertible values. | |
| bool | Hash (const Buffer::ReadOnly &input, Buffer::WriteOnly &output) const noexcept |
| Hash a read-only buffer (copy). | |
| bool | Hash (Buffer::ReadOnly &input, Buffer::WriteOnly &output) const noexcept |
| Hash a buffer, consuming it. | |
| Buffer::Consumer | Hash (Buffer::Consumer consumer, ReadMode mode=ReadMode::Move) const noexcept |
| Hash a Consumer into another Consumer. | |
| enum Type | Type () const noexcept |
| Algorithm of this hasher. | |
Public Member Functions inherited from StormByte::Safe::Clonable< Generic > | |
| constexpr | Clonable ()=default |
| constexpr | Clonable (const Clonable &)=default |
| constexpr | Clonable (Clonable &&) noexcept=default |
| constexpr Clonable & | operator= (const Clonable &)=default |
| constexpr Clonable & | operator= (Clonable &&) noexcept=default |
| virtual constexpr | ~Clonable () noexcept=default |
| virtual PointerType | Clone () const =0 |
| virtual PointerType | Move ()=0 |
Protected Member Functions | |
| Generic (enum Type type) | |
| Construct with an algorithm. | |
Protected Attributes | |
| enum Type | m_type |
| Algorithm. | |
Additional Inherited Members | |
Public Types inherited from StormByte::Safe::Clonable< Generic > | |
| typedef SmartPointer | PointerType |
Static Public Member Functions inherited from StormByte::Safe::Clonable< Generic > | |
| static PointerType | MakePointer (Args &&... args) |
Abstract hasher.
Concrete algorithms derive from this.
Copy constructor.
| other | Hasher to copy. |
|
defaultnoexcept |
Move constructor.
| other | Hasher to move. |
|
virtualnoexcept |
Destructor.
Construct with an algorithm.
| type | Algorithm. |
|
inlinenoexcept |
Hash a Consumer into another Consumer.
| consumer | Input consumer. |
| mode | Copy or move. |
|
inlinenoexcept |
Hash a buffer, consuming it.
| input | Input buffer. |
| output | Destination buffer. |
|
inlinenoexcept |
Hash a read-only buffer (copy).
| input | Input buffer. |
| output | Destination buffer. |
|
inline |
Hash an input range of byte-convertible values.
| Range | Input range type. |
| input | Input values. |
| output | Destination buffer. |
|
inlinenoexcept |
Hash a byte span into an output buffer.
| input | Input bytes. |
| output | Destination buffer. |
|
default |
|
defaultnoexcept |
Algorithm of this hasher.