12#ifndef ARCANE_IMPL_DATASTORAGEFACTORY_H
13#define ARCANE_IMPL_DATASTORAGEFACTORY_H
17#include "arcane/utils/Ref.h"
18#include "arcane/utils/ITraceMng.h"
20#include "arcane/IDataStorageFactory.h"
21#include "arcane/IData.h"
22#include "arcane/IDataFactory.h"
23#include "arcane/IDataFactoryMng.h"
37class ARCANE_IMPL_EXPORT AbstractDataStorageFactory
42 : m_storage_type_info(dsti){}
47 return m_storage_type_info;
59template<
typename DataType>
class DataStorageFactory
60:
public AbstractDataStorageFactory
65 : AbstractDataStorageFactory(dsti){}
72 IData* d =
new DataType(dsbi);
79 using DataContainerType = DataType;
82 const bool print_info =
false;
83 if (print_info && trace)
84 trace->
info() <<
"TYPE=" << t.basicDataType()
85 <<
" nb_basic=" << t.nbBasicElement()
86 <<
" dimension=" << t.dimension()
87 <<
" multi_tag=" << t.multiTag()
88 <<
" full_name=" << t.fullName()
DataStorageTypeInfo storageTypeInfo() override
Informations sur le type de conteneur créé
Informations pour construire une instance de 'IData'.
static void registerDataFactory(IDataFactoryMng *dfm)
Enregistre dans dfm une fabrique pour la donnée DataType.
Ref< IData > createSimpleDataRef(const DataStorageBuildInfo &dsbi) override
Créé une donnée d'un type simple.
Informations de type pour un conteneur de données.
Interface du gestionnaire de fabrique d'une donnée.
virtual ITraceMng * traceMng() const =0
Gestionnaire de trace associé
virtual void registerDataStorageFactory(Ref< IDataStorageFactory > factory)=0
Enregistre la fabrique factory.
Interface d'une fabrique de conteneur d'une donnée.
Interface du gestionnaire de traces.
virtual TraceMessage info()=0
Flot pour un message d'information.
Référence à une instance.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
auto makeRef(InstanceType *t) -> Ref< InstanceType >
Créé une référence sur un pointeur.