Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
VariableFactoryRegisterer.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/* VariableFactoryRegisterer.h (C) 2000-2020 */
9/* */
10/* Singleton permettant d'enregister une fabrique de variable. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_VARIABLEFACTORYREGISTERER_H
13#define ARCANE_VARIABLEFACTORYREGISTERER_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arcane/VariableTypeInfo.h"
18
19/*---------------------------------------------------------------------------*/
20/*---------------------------------------------------------------------------*/
21
22namespace Arcane
23{
24
25/*---------------------------------------------------------------------------*/
26/*---------------------------------------------------------------------------*/
40class ARCANE_CORE_EXPORT VariableFactoryRegisterer
41{
42 public:
43
44 using VariableFactoryFunc = VariableFactoryVariableRefCreateFunc;
45
46 public:
47
50
51 public:
52
59 IVariableFactory* createFactory();
60
62 VariableFactoryRegisterer* previousVariableFactory() const { return m_previous; }
63
66
68 eItemKind itemKind() const { return m_variable_type_info.itemKind(); }
69
71 eDataType dataType() const { return m_variable_type_info.dataType(); }
72
74 Integer dimension() const { return m_variable_type_info.dimension(); }
75
77 Integer multiTag() const { return m_variable_type_info.multiTag(); }
78
80 bool isPartial() const { return m_variable_type_info.isPartial(); }
81
83 const VariableTypeInfo& variableTypeInfo() const { return m_variable_type_info; }
84
91
98
99 public:
100
101 static VariableFactoryRegisterer* firstVariableFactory();
102
103 private:
104
106 VariableFactoryFunc m_function;
107
110
113
116};
117
118/*---------------------------------------------------------------------------*/
119/*---------------------------------------------------------------------------*/
120
121} // End namespace Arcane
122
123/*---------------------------------------------------------------------------*/
124/*---------------------------------------------------------------------------*/
125
126#endif
127
Interface d'une fabrique de variables.
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Definition Lima.cc:120
Enregistreur d'une fabrique de variables.
VariableFactoryFunc m_function
Fonction de création du IVariableFactoryFactory.
Integer dimension() const
Dimension de la variable créée par cette fabrique.
VariableFactoryRegisterer * m_previous
VariableFactory précédent.
VariableFactoryRegisterer * previousVariableFactory() const
VariableFactory précédent (0 si le premier)
VariableFactoryRegisterer * m_next
VariableFactory suivant.
void setNextVariableFactory(VariableFactoryRegisterer *s)
Positionne le VariableFactory suivant.
Integer multiTag() const
Tag indiquant le type multiple (0 si non multiple, 1 si multiple, 2 si multiple deprecated)
VariableTypeInfo m_variable_type_info
Informations sur le type de la variable.
eDataType dataType() const
Type de données de la variable créée par cette fabrique.
bool isPartial() const
indique si la fabrique est pour une variable partielle.
eItemKind itemKind() const
Genre des variables de données de la variable créée par cette fabrique.
const VariableTypeInfo & variableTypeInfo() const
Informations sur le type de la variable.
void setPreviousVariableFactory(VariableFactoryRegisterer *s)
Positionne le VariableFactory précédent.
VariableFactoryRegisterer * nextVariableFactory() const
VariableFactory suivant (0 si le dernier)
Informations caractérisant le type d'une variable.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
eItemKind
Genre d'entité de maillage.
eDataType
Type d'une donnée.
Definition DataTypes.h:39