Arcane  v3.15.0.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-2024 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-2024 */
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
17#include "arcane/ArcaneTypes.h"
18
19/*---------------------------------------------------------------------------*/
20/*---------------------------------------------------------------------------*/
21
22namespace Arcane
23{
24/*---------------------------------------------------------------------------*/
25/*---------------------------------------------------------------------------*/
30{
31 public:
32
33 explicit VariableResizeArgs(Int32 new_size)
34 : m_new_size(new_size)
35 {
36 }
37
39 : m_new_size(new_size)
40 , m_additional_capacity(additional_capacity)
41 {
42 }
43
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 private:
56
57 Int32 m_new_size = 0;
58 Int32 m_additional_capacity = 0;
59 bool m_is_use_no_init = false;
60};
61
62/*---------------------------------------------------------------------------*/
63/*---------------------------------------------------------------------------*/
68class ARCANE_CORE_EXPORT IVariableInternal
69{
70 public:
71
72 virtual ~IVariableInternal() = default;
73
74 public:
75
91 IData* sorted_data) = 0;
92
102
104 virtual void resize(const VariableResizeArgs& resize_args) = 0;
105};
106
107/*---------------------------------------------------------------------------*/
108/*---------------------------------------------------------------------------*/
109
110} // namespace Arcane
111
112/*---------------------------------------------------------------------------*/
113/*---------------------------------------------------------------------------*/
114
115#endif
Interface d'une donnée.
Definition IData.h:33
Interface d'un algorithme de hashage.
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.
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Definition Lima.cc:149
Arguments pour redimensionner une variable.
Options pour configurer les allocations.
Chaîne de caractères unicode.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-