Arcane  4.1.12.0
User documentation
Loading...
Searching...
No Matches
TemporaryVariableBuildInfo.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2026 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/* TemporaryVariableBuildInfo.h (C) 2000-2025 */
9/* */
10/* Information for building a temporary variable. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_CORE_TEMPORARYVARIABLEBUILDINFO_H
13#define ARCANE_CORE_TEMPORARYVARIABLEBUILDINFO_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arcane/core/VariableBuildInfo.h"
18#include "arcane/core/IVariableMng.h"
19#include "arcane/core/ISubDomain.h"
20#include "arcane/core/IModule.h"
21
22/*---------------------------------------------------------------------------*/
23/*---------------------------------------------------------------------------*/
24
25namespace Arcane
26{
27
28/*---------------------------------------------------------------------------*/
29/*---------------------------------------------------------------------------*/
30
31/*!
32 * \internal
33 * \brief Parameters required to build a temporary variable.
34 *
35 * A variable, even a temporary one, must be created with the same parameters
36 * on all sub-domains.
37 *
38 * \warning This class is not yet operational
39 */
40class ARCANE_CORE_EXPORT TemporaryVariableBuildInfo
41: public VariableBuildInfo
42{
43 public:
44
45 /*!
46 * \brief Constructs an initializer for a variable.
47 *
48 * \param name name of the variable
49 * \param m associated module
50 */
52
53 /*!
54 * \brief Constructs an initializer for a variable without associating it with
55 * a module.
56 *
57 * \param sub_domain sub-domain manager
58 * \param name name of the variable
59 */
60 TemporaryVariableBuildInfo(ISubDomain* sub_domain, const String& name);
61
62 /*!
63 * \brief Constructs an initializer for a variable.
64 *
65 * \param m associated module
66 * \param name name of the variable
67 * \param item_family_name name of the entity family
68 */
70 const String& item_family_name);
71
72 /*!
73 * \brief Constructs an initializer for a variable associated with a
74 * mesh.
75 *
76 * \param sub_domain sub-domain manager
77 * \param name name of the variable
78 */
79 TemporaryVariableBuildInfo(IMesh* mesh, const String& name);
80
81 /*!
82 * \brief Constructs an initializer for a variable associated with a
83 * mesh.
84 *
85 * \param sub_domain sub-domain manager
86 * \param name name of the variable
87 * \param item_family_name name of the entity family
88 */
89 TemporaryVariableBuildInfo(IMesh* mesh, const String& name,
90 const String& item_family_name);
91
92 protected:
93
94 static int property();
95 static String _generateName(IVariableMng* vm, const String& name);
96};
97
98/*---------------------------------------------------------------------------*/
99/*---------------------------------------------------------------------------*/
100
101} // namespace Arcane
102
103/*---------------------------------------------------------------------------*/
104/*---------------------------------------------------------------------------*/
105
106#endif
Interface of a module.
Definition IModule.h:40
Interface of the subdomain manager.
Definition ISubDomain.h:75
Variable manager interface.
TemporaryVariableBuildInfo(IModule *m, const String &name)
Constructs an initializer for a variable.
VariableBuildInfo(IModule *m, const String &name, int property=0)
Constructs an initializer for a variable.
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --