Arcane  4.2.3.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
IVariableInternal.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/* IVariableInternal.h (C) 2000-2026 */
9/* */
10/* Partie interne à Arcane de IVariable. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_CORE_INTERNAL_IVARIABLEINTERNAL_H
13#define ARCANE_CORE_INTERNAL_IVARIABLEINTERNAL_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
18
19/*---------------------------------------------------------------------------*/
20/*---------------------------------------------------------------------------*/
21
22namespace Arcane
23{
24/*---------------------------------------------------------------------------*/
25/*---------------------------------------------------------------------------*/
29class VariableResizeArgs
30{
31 public:
32
33 explicit VariableResizeArgs(Int32 new_size)
34 : m_new_size(new_size)
35 {
36 }
37
38 explicit VariableResizeArgs(Int32 new_size, Int32 additional_capacity)
39 : m_new_size(new_size)
40 , m_additional_capacity(additional_capacity)
41 {
42 }
43
44 explicit VariableResizeArgs(Int32 new_size, Int32 additional_capacity, bool use_no_init)
45 : m_new_size(new_size)
46 , m_additional_capacity(additional_capacity)
47 , m_is_use_no_init(use_no_init)
48 {
49 }
50
51 Int32 newSize() const { return m_new_size; }
52 Int32 nbAdditionalCapacity() const { return m_additional_capacity; }
53 bool isUseNoInit() const { return m_is_use_no_init; }
54
55 void setNewSizeDim2(Int32 dim2){m_new_size_dim2 = dim2;}
56 Int32 newSizeDim2() const { return m_new_size_dim2; }
57
58 private:
59
60 Int32 m_new_size = 0;
61 Int32 m_new_size_dim2 = -1;
62 Int32 m_additional_capacity = 0;
63 bool m_is_use_no_init = false;
64};
65
66/*---------------------------------------------------------------------------*/
67/*---------------------------------------------------------------------------*/
72class ARCANE_CORE_EXPORT IVariableInternal
73{
74 public:
75
76 virtual ~IVariableInternal() = default;
77
78 public:
79
95 IData* sorted_data) = 0;
96
105 virtual void changeAllocator(const MemoryAllocationOptions& alloc_info) = 0;
106
108 virtual void resize(const VariableResizeArgs& resize_args) = 0;
109
112
118 virtual IParallelMng* replicaParallelMng() const= 0;
119};
120
121/*---------------------------------------------------------------------------*/
122/*---------------------------------------------------------------------------*/
123
124} // namespace Arcane
125
126/*---------------------------------------------------------------------------*/
127/*---------------------------------------------------------------------------*/
128
129#endif
Déclarations des types généraux de Arcane.
Interface d'une donnée.
Definition IData.h:33
Interface d'un algorithme de hashage.
Interface du gestionnaire de parallélisme pour un sous-domaine.
Partie interne de Ivariable.
virtual String computeComparisonHashCollective(IHashAlgorithm *hash_algo, IData *sorted_data)=0
Calcule de Hash de comparaison pour la variable.
virtual void resize(const VariableResizeArgs &resize_args)=0
Redimensionne la variable en ajoutant une capacité additionnelle.
virtual void changeAllocator(const MemoryAllocationOptions &alloc_info)=0
Change l'allocateur de la variable.
virtual VariableComparerResults compareVariable(const VariableComparerArgs &compare_args)=0
Applique la méthode de comparaison spécifiée par compare_args.
virtual IParallelMng * replicaParallelMng() const =0
Retourne le IParallelMng du replica du maillage associé à la variable.
Chaîne de caractères unicode.
Arguments des méthodes de VariableComparer.
Résultats d'une opération de comparaison.
Arguments pour redimensionner une variable.
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --
std::int32_t Int32
Type entier signé sur 32 bits.