Arcane  v4.1.2.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
IMemoryPool.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2025 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/* IMemoryPool.h (C) 2000-2025 */
9/* */
10/* Interface d'un pool mémoire. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCCORE_COMMON_IMEMORYPOOL_H
13#define ARCCORE_COMMON_IMEMORYPOOL_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arccore/common/CommonGlobal.h"
18
19/*---------------------------------------------------------------------------*/
20/*---------------------------------------------------------------------------*/
21
22namespace Arcane
23{
24
25/*---------------------------------------------------------------------------*/
26/*---------------------------------------------------------------------------*/
27/*!
28 * \brief Interface d'un pool mémoire.
29 */
30class ARCCORE_COMMON_EXPORT IMemoryPool
31{
32 public:
33
34 virtual ~IMemoryPool() = default;
35
36 public:
37
38 /*!
39 * \brief Positionne la taille en octet à partir de laquelle
40 * on ne conserve pas un bloc dans le cache.
41 *
42 * Cette méthode ne peut être appelée que s'il n'y a aucun bloc dans le
43 * cache.
44 */
45 virtual void setMaxCachedBlockSize(Int32 v) = 0;
46
47 //! Libère la mémoire dans le cache
48 virtual void freeCachedMemory() = 0;
49
50 //! Taille totale (en octet) allouée dans le pool mémoire
51 virtual size_t totalAllocated() const = 0;
52
53 //! Taille totale (en octet) dans le cache
54 virtual size_t totalCached() const = 0;
55};
56
57/*---------------------------------------------------------------------------*/
58/*---------------------------------------------------------------------------*/
59
60} // namespace Arcane::impl
61
62/*---------------------------------------------------------------------------*/
63/*---------------------------------------------------------------------------*/
64
65#endif
Interface d'un pool mémoire.
Definition IMemoryPool.h:31
virtual void setMaxCachedBlockSize(Int32 v)=0
Positionne la taille en octet à partir de laquelle on ne conserve pas un bloc dans le cache.
virtual size_t totalAllocated() const =0
Taille totale (en octet) allouée dans le pool mémoire.
virtual size_t totalCached() const =0
Taille totale (en octet) dans le cache.
virtual void freeCachedMemory()=0
Libère la mémoire dans le cache.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
std::int32_t Int32
Type entier signé sur 32 bits.