Arcane  v3.15.0.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
IMemoryRessourceMng.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2024 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/* IMemoryResourceMng.h (C) 2000-2024 */
9/* */
10/* Gestion des ressources mémoire pour les CPU et accélérateurs. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_UTILS_IMEMORYRESOURCEMNG_H
13#define ARCANE_UTILS_IMEMORYRESOURCEMNG_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
18
19/*---------------------------------------------------------------------------*/
20/*---------------------------------------------------------------------------*/
21
22namespace Arcane
23{
24class IMemoryRessourceMngInternal;
25
26/*---------------------------------------------------------------------------*/
27/*---------------------------------------------------------------------------*/
28/*!
29 * \internal
30 * \brief Gestion des ressources mémoire pour les CPU et accélérateurs.
31 */
32class ARCANE_UTILS_EXPORT IMemoryResourceMng
33{
34 public:
35
36 virtual ~IMemoryResourceMng() = default;
37
38 public:
39
40 /*!
41 * \brief Allocateur mémoire pour la ressource \a r.
42 *
43 * Lève une exception si aucun allocateur pour la ressource \a v existe.
44 */
45 virtual IMemoryAllocator* getAllocator(eMemoryResource r) = 0;
46
47 /*!
48 * \brief Allocateur mémoire pour la ressource \a r.
49 *
50 * Si aucun allocateur pour la ressoruce \a v existe, lève une
51 * exception si \a throw_if_not_found est vrai ou retourne \a nullptr
52 * si \a throw_if_not_found est faux.
53 */
54 virtual IMemoryAllocator* getAllocator(eMemoryResource r, bool throw_if_not_found) = 0;
55
56 public:
57
58 //! Interface interne
59 virtual IMemoryRessourceMngInternal* _internal() = 0;
60};
61
62/*---------------------------------------------------------------------------*/
63/*---------------------------------------------------------------------------*/
64
65} // End namespace Arcane
66
67/*---------------------------------------------------------------------------*/
68/*---------------------------------------------------------------------------*/
69
70#endif
Déclarations des types utilisés dans Arcane.
virtual IMemoryAllocator * getAllocator(eMemoryResource r, bool throw_if_not_found)=0
Allocateur mémoire pour la ressource r.
virtual IMemoryRessourceMngInternal * _internal()=0
Interface interne.
virtual IMemoryAllocator * getAllocator(eMemoryResource r)=0
Allocateur mémoire pour la ressource r.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-