Arcane  v3.16.8.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
SimpleTableInternal.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2025 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/* SimpleTableInternal.h (C) 2000-2025 */
9/* */
10/* Fichier contenant la structure SimpleTableInternal décrivant un tableau */
11/* de valeurs simple. */
12/*---------------------------------------------------------------------------*/
13#ifndef ARCANE_CORE_SIMPLETABLEINTERNAL_H
14#define ARCANE_CORE_SIMPLETABLEINTERNAL_H
15/*---------------------------------------------------------------------------*/
16/*---------------------------------------------------------------------------*/
17
18#include "arcane/utils/Array.h"
19#include "arcane/utils/Array2.h"
20
21#include "arcane/core/IParallelMng.h"
23
24/*---------------------------------------------------------------------------*/
25/*---------------------------------------------------------------------------*/
26
27namespace Arcane
28{
29
30/*---------------------------------------------------------------------------*/
31/*---------------------------------------------------------------------------*/
32
33/**
34 * @brief Structure représentant un tableau simple.
35 *
36 * Un tableau simple ressemble à ça :
37 *
38 * NomTableau | C1 | C2 | C3
39 * L1 |Val1|Val2|Val3
40 * L2 |Val4|Val5|Val6
41 *
42 * Un nom de tableau, une liste de noms de lignes,
43 * une liste de noms de colonnes et une liste 2D
44 * de valeur (Real pour l'instant).
45 *
46 */
47struct ARCANE_CORE_EXPORT SimpleTableInternal
48{
49 SimpleTableInternal(IParallelMng* parallel_mng)
50 : m_parallel_mng(parallel_mng)
51 , m_values()
52 , m_row_names()
53 , m_column_names()
54 , m_table_name("")
55 , m_row_sizes()
56 , m_column_sizes()
57 , m_last_row(-1)
58 , m_last_column(-1)
59 {
60 }
61 ~SimpleTableInternal() = default;
62
63 void clear()
64 {
65 m_values.clear();
66 m_row_names.clear();
67 m_column_names.clear();
68 m_table_name = "";
69 m_row_sizes.clear();
70 m_column_sizes.clear();
71 m_last_row = -1;
72 m_last_column = -1;
73 }
74 IParallelMng* m_parallel_mng;
75
76 UniqueArray2<Real> m_values;
77
78 UniqueArray<String> m_row_names;
79 UniqueArray<String> m_column_names;
80
81 String m_table_name;
82
83 // Tailles des lignes/colonnes
84 // (et pas le nombre d'éléments, on compte les "trous" entre les éléments ici,
85 // mais sans le trou de fin).
86 // Ex. : {{"1", "2", "0", "3", "0", "0"},
87 // {"4", "5", "6", "0", "7", "8"},
88 // {"0", "0", "0", "0", "0", "0"}}
89
90 // m_row_sizes[0] = 4
91 // m_row_sizes[1] = 6
92 // m_row_sizes[2] = 0
93 // m_row_sizes.size() = 3
94
95 // m_column_sizes[3] = 1
96 // m_column_sizes[0; 1; 2; 4; 5] = 2
97 // m_column_sizes.size() = 6
98 UniqueArray<Integer> m_row_sizes;
99 UniqueArray<Integer> m_column_sizes;
100
101 // Position du dernier élement ajouté.
102 Integer m_last_row;
103 Integer m_last_column;
104};
105
106/*---------------------------------------------------------------------------*/
107/*---------------------------------------------------------------------------*/
108
109} // End namespace Arcane
110
111/*---------------------------------------------------------------------------*/
112/*---------------------------------------------------------------------------*/
113
114#endif
115
116/*---------------------------------------------------------------------------*/
117/*---------------------------------------------------------------------------*/
Déclarations de types sur les entités.
Interface du gestionnaire de parallélisme pour un sous-domaine.
Chaîne de caractères unicode.
Vecteur de données 2D avec sémantique par valeur (style STL).
Vecteur 1D de données avec sémantique par valeur (style STL).
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
Int32 Integer
Type représentant un entier.