Arcane  v3.15.3.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
IDeflateService.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2023 CEA (www.cea.fr) IFPEN (www.ifpenergiesnouvelles.com)
4// See the top-level COPYRIGHT file for details.
5// SPDX-License-Identifier: Apache-2.0
6//-----------------------------------------------------------------------------
7/*---------------------------------------------------------------------------*/
8/* IDeflateService.h (C) 2000-2023 */
9/* */
10/* Interface d'un service permettant de compresser/décompresser des données. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_IDEFLATESERVICE_H
13#define ARCANE_IDEFLATESERVICE_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arcane/ArcaneTypes.h"
18
19/*---------------------------------------------------------------------------*/
20/*---------------------------------------------------------------------------*/
21
22namespace Arcane
23{
24
25/*---------------------------------------------------------------------------*/
26/*---------------------------------------------------------------------------*/
27
28// Taille minimale (en octet) pour qu'un tableau soit compressé.
29// En dessous de cette taille il n'est pas compressé.
30// Si cette taille change, il faut changer la taille correspondante
31// dans le VariableComparer en C#.
32static const Integer DEFLATE_MIN_SIZE = 512;
33
34/*---------------------------------------------------------------------------*/
35/*---------------------------------------------------------------------------*/
36/*!
37 * \brief Interface d'un service permettant de compresser/décompresser des données.
38 *
39 * \deprecated Utiliser IDataCompressor à la place
40 */
41class ARCANE_CORE_EXPORT IDeflateService
42{
43 public:
44
45 virtual ~IDeflateService() = default;
46
47 public:
48
49 virtual void build() = 0;
50
51 public:
52
53 /*!
54 * \brief Compresse les données \a values et les stocke dans \a compressed_values.
55 *
56 * Cette opération peut lever une exception de type IOException en cas d'erreur.
57 */
58 ARCANE_DEPRECATED_REASON("Y2023: This interface is deprecated. Use IDataCompressor instead")
60
61 /*!
62 * \brief Compresse les données \a values et les stocke dans \a compressed_values.
63 *
64 * Cette opération peut lever une exception de type IOException en cas d'erreur.
65 */
66 ARCANE_DEPRECATED_REASON("Y2023: This interface is deprecated. Use IDataCompressor instead")
67 virtual void compress(Span<const Byte> values, ByteArray& compressed_values);
68
69 /*!
70 * \brief Décompresse les données \a compressed_values et les stocke dans \a values.
71 *
72 * \a values doit déjà avoir été alloué à la taille nécessaire pour contenir
73 * les données décompressées.
74 * Cette opération peut lever une exception de type IOException en cas d'erreur.
75 */
76 ARCANE_DEPRECATED_REASON("Y2023: This interface is deprecated. Use IDataCompressor instead")
78
79 /*!
80 * \brief Décompresse les données \a compressed_values et les stocke dans \a values.
81 *
82 * \a values doit déjà avoir été alloué à la taille nécessaire pour contenir
83 * les données décompressées.
84 * Cette opération peut lever une exception de type IOException en cas d'erreur.
85 */
86 ARCANE_DEPRECATED_REASON("Y2023: This interface is deprecated. Use IDataCompressor instead")
87 virtual void decompress(Span<const Byte> compressed_values, Span<Byte> values);
88};
89
90/*---------------------------------------------------------------------------*/
91/*---------------------------------------------------------------------------*/
92
93} // End namespace Arcane
94
95/*---------------------------------------------------------------------------*/
96/*---------------------------------------------------------------------------*/
97
98#endif
Interface d'un service permettant de compresser/décompresser des données.
Interface d'un service permettant de compresser/décompresser des données.
Vue modifiable d'un tableau d'un type T.
Classe de base des vecteurs 1D de données.
Vue constante d'un tableau de type T.
Référence à une instance.
Vue d'un tableau d'éléments de type T.
Definition Span.h:510
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
Int32 Integer
Type représentant un entier.