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