12#ifndef ARCANE_UTILS_IHASHALGORITHM_H
13#define ARCANE_UTILS_IHASHALGORITHM_H
37 static constexpr Int32 MAX_SIZE = 64;
43 return { m_value.data(), m_size };
47 return { m_value.data(), m_size };
51 return {
reinterpret_cast<const Byte*
>(m_value.data()), m_size };
53 void setSize(
Int32 size);
57 std::array<std::byte, MAX_SIZE> m_value = {};
58 Int32 m_size = MAX_SIZE;
172 ARCANE_DEPRECATED_REASON(
"Y2023: Use computeHash64(Span<const std::byte> input,ByteArray& output) instead")
Types et fonctions associés aux classes SpanImpl, SmallSpan and Span.
Déclarations des types utilisés dans Arcane.
Valeur retournée par un algorithme de hashage.
Contexte pour calculer un hash de manière incrémentale.
virtual void updateHash(Span< const std::byte > input)=0
Ajoute le tableau input au hash calculé
virtual void reset()=0
Réinitialise l'instance pour calculer une nouvelle valeur de hash.
virtual void computeHashValue(HashAlgorithmValue &hash_value)=0
Calcule la valeur de hashage et la retourne dans hash_value.
Interface d'un algorithme de hashage.
virtual bool hasCreateContext() const
Indique si l'implémentation supporte un hash incrémental.
virtual String name() const
Nom de l'algorithme.
virtual void computeHash(Span< const std::byte > input, HashAlgorithmValue &value)
Calcule la valeur du hash pour le tableau input.
virtual void computeHash64(Span< const Byte > input, ByteArray &output)
Calcule la valeur du hash pour le tableau input.
virtual Int32 hashSize() const
Taille (en octet) de la clé de hash.
virtual Ref< IHashAlgorithmContext > createContext()
Créé un contexte pour calculer la valeur du hash de manière incrémentale.
Référence à une instance.
Vue d'un tableau d'éléments de type T.
Vue d'un tableau d'éléments de type T.
Chaîne de caractères unicode.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
Array< Byte > ByteArray
Tableau dynamique à une dimension de caractères.
ConstArrayView< Byte > ByteConstArrayView
Equivalent C d'un tableau à une dimension de caractères.
unsigned char Byte
Type d'un octet.
std::int32_t Int32
Type entier signé sur 32 bits.