Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
DataFactoryMng.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2022 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/* DataFactoryMng.h (C) 2000-2021 */
9/* */
10/* Gestionnaire de fabriques de données. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_IMPL_DATAFACTORYMNG_H
13#define ARCANE_IMPL_DATAFACTORYMNG_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arcane/utils/TraceAccessor.h"
18
19#include "arcane/IDataFactoryMng.h"
20
21#include <map>
22
23/*---------------------------------------------------------------------------*/
24/*---------------------------------------------------------------------------*/
25
26namespace Arcane
27{
28
29class DataFactory;
30
31/*---------------------------------------------------------------------------*/
32/*---------------------------------------------------------------------------*/
43: public TraceAccessor
44, public IDataFactoryMng
45{
46 public:
47
49 ~DataFactoryMng() override;
50
51 public:
52
53 void build() override;
54 IApplication* application() { return m_application; }
55 ITraceMng* traceMng() const override;
57 Ref<IData> createSimpleDataRef(const String& storage_type,const DataStorageBuildInfo& build_info) override;
61 Integer nb_dim,Int64 nb_element,
63 Int64ConstArrayView extents) override;
64
66 IDataFactory* deprecatedOldFactory() const override { return m_old_factory; }
67
68 private:
69
70 IApplication* m_application;
71 IDataFactory* m_old_factory;
72 std::map<String,Ref<IDataStorageFactory>> m_factories;
73};
74
75/*---------------------------------------------------------------------------*/
76/*---------------------------------------------------------------------------*/
77
78} // End namespace Arcane
79
80/*---------------------------------------------------------------------------*/
81/*---------------------------------------------------------------------------*/
82
83#endif
84
Gestionnaire de fabrique d'une donnée.
Ref< ISerializedData > createEmptySerializedDataRef() override
Créé des données sérialisées.
void registerDataStorageFactory(Ref< IDataStorageFactory > factory) override
Enregistre la fabrique factory.
IDataFactory * deprecatedOldFactory() const override
Récupère l'ancienne fabrique (obsolète)
Ref< ISerializedData > createSerializedDataRef(eDataType data_type, Int64 memory_size, Integer nb_dim, Int64 nb_element, Int64 nb_base_element, bool is_multi_size, Int64ConstArrayView extents) override
Créé des données sérialisées.
void build() override
Construit l'instance.
IDataOperation * createDataOperation(Parallel::eReduceType rt) override
Créé une opération effectuant une réduction de type rt.
ITraceMng * traceMng() const override
Gestionnaire de trace associé
Informations pour construire une instance de 'IData'.
Interface de l'application.
Interface du gestionnaire de fabrique d'une donnée.
Interface d'une fabrique d'une donnée.
Interface d'une opération sur une donnée.
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Definition Lima.cc:120
Vue constante d'un tableau de type T.
Interface du gestionnaire de traces.
Chaîne de caractères unicode.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
eDataType
Type d'une donnée.
Definition DataTypes.h:39
eReduceType
Types des réductions supportées.