Interface d'un service permettant de compresser/décompresser des données. Plus de détails...
#include <arcane/utils/IDataCompressor.h>
Fonctions membres publiques | |
virtual void | build ()=0 |
virtual String | name () const =0 |
Nom de l'algorithme. | |
virtual Int64 | minCompressSize () const =0 |
Taille minimale du tableau en dessous de laquelle il n'est pas utile de compresser. | |
virtual void | compress (Span< const std::byte > values, Array< std::byte > &compressed_values)=0 |
Compresse les données values et les stocke dans compressed_values. | |
virtual void | decompress (Span< const std::byte > compressed_values, Span< std::byte > values)=0 |
Décompresse les données compressed_values et les stocke dans values. | |
Interface d'un service permettant de compresser/décompresser des données.
Définition à la ligne 30 du fichier IDataCompressor.h.
|
pure virtual |
Compresse les données values et les stocke dans compressed_values.
Cette opération peut lever une exception de type IOException en cas d'erreur.
|
pure virtual |
Décompresse les données compressed_values et les stocke dans values.
values doit déjà avoir été allouée à la taille nécessaire pour contenir les données décompressées. Cette opération peut lever une exception de type IOException en cas d'erreur.
|
pure virtual |
Taille minimale du tableau en dessous de laquelle il n'est pas utile de compresser.
Cela peut être utilisé par l'appelant pour ne pas pas compresser/décompresser certains tableaux. Cette valeur n'est pas utilisée en interne par cette instance.
Si l'appelant utilise cette valeur, il faut garantir la cohérence à la fois en compression et décompression (i.e: ne pas appeler la décompression pour les tableaux dont la taille décompressée est inférieure à minCompressSize() si la méthode compress() n'a pas été appelée pour ce tableau.