Arcane  4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
SimpleTableInternalMng.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/* SimpleTableInternalMng.h (C) 2000-2022 */
9/* */
10/* Class allowing easy modification of a SimpleTableInternal. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_STD_SIMPLETABLEINTERNALMNG_H
13#define ARCANE_STD_SIMPLETABLEINTERNALMNG_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arcane/core/ISimpleTableInternalMng.h"
18#include "arcane/utils/FatalErrorException.h"
19
20/*---------------------------------------------------------------------------*/
21/*---------------------------------------------------------------------------*/
22
23namespace Arcane
24{
25
26/*---------------------------------------------------------------------------*/
27/*---------------------------------------------------------------------------*/
28
29class SimpleTableInternalMng
31{
32 public:
33
34 SimpleTableInternalMng(Ref<SimpleTableInternal> simple_table_internal)
35 : m_simple_table_internal(simple_table_internal)
36 {
37 if (simple_table_internal.isNull())
38 ARCANE_FATAL("La réference passée en paramètre est Null.");
39 }
40
41 SimpleTableInternalMng()
42 : m_simple_table_internal()
43 {
44 }
45
46 virtual ~SimpleTableInternalMng() = default;
47
48 public:
49
50 void clearInternal() override;
51
52 Integer addRow(const String& row_name) override;
53 Integer addRow(const String& row_name, ConstArrayView<Real> elements) override;
54 bool addRows(StringConstArrayView rows_names) override;
55
56 Integer addColumn(const String& column_name) override;
57 Integer addColumn(const String& column_name, ConstArrayView<Real> elements) override;
58 bool addColumns(StringConstArrayView columns_names) override;
59
60 bool addElementInRow(Integer position, Real element) override;
61 bool addElementInRow(const String& row_name, Real element, bool create_if_not_exist) override;
62 bool addElementInSameRow(Real element) override;
63
64 bool addElementsInRow(Integer position, ConstArrayView<Real> elements) override;
65 bool addElementsInRow(const String& row_name, ConstArrayView<Real> elements, bool create_if_not_exist) override;
66 bool addElementsInSameRow(ConstArrayView<Real> elements) override;
67
68 bool addElementInColumn(Integer position, Real element) override;
69 bool addElementInColumn(const String& column_name, Real element, bool create_if_not_exist) override;
70 bool addElementInSameColumn(Real element) override;
71
72 bool addElementsInColumn(Integer position, ConstArrayView<Real> elements) override;
73 bool addElementsInColumn(const String& column_name, ConstArrayView<Real> elements, bool create_if_not_exist) override;
74 bool addElementsInSameColumn(ConstArrayView<Real> elements) override;
75
76 bool editElementUp(Real element, bool update_last_position) override;
77 bool editElementDown(Real element, bool update_last_position) override;
78 bool editElementLeft(Real element, bool update_last_position) override;
79 bool editElementRight(Real element, bool update_last_position) override;
80
81 Real elementUp(bool update_last_position) override;
82 Real elementDown(bool update_last_position) override;
83 Real elementLeft(bool update_last_position) override;
84 Real elementRight(bool update_last_position) override;
85
86 bool editElement(Real element) override;
87 bool editElement(Integer position_x, Integer position_y, Real element) override;
88 bool editElement(const String& column_name, const String& row_name, Real element) override;
89
90 Real element() override;
91 Real element(Integer position_x, Integer position_y, bool update_last_position) override;
92 Real element(const String& column_name, const String& row_name, bool update_last_position) override;
93
94 RealUniqueArray row(Integer position) override;
95 RealUniqueArray column(Integer position) override;
96
97 RealUniqueArray row(const String& row_name) override;
98 RealUniqueArray column(const String& column_name) override;
99
100 Integer rowSize(Integer position) override;
101 Integer columnSize(Integer position) override;
102
103 Integer rowSize(const String& row_name) override;
104 Integer columnSize(const String& column_name) override;
105
106 Integer rowPosition(const String& row_name) override;
107 Integer columnPosition(const String& column_name) override;
108
109 Integer numberOfRows() override;
110 Integer numberOfColumns() override;
111
112 String rowName(Integer position) override;
113 String columnName(Integer position) override;
114
115 bool editRowName(Integer position, const String& new_name) override;
116 bool editRowName(const String& row_name, const String& new_name) override;
117
118 bool editColumnName(Integer position, const String& new_name) override;
119 bool editColumnName(const String& column_name, const String& new_name) override;
120
121 Integer addAverageColumn(const String& column_name) override;
122
124 void setInternal(const Ref<SimpleTableInternal>& simple_table_internal) override;
125
126 protected:
127
128 Ref<SimpleTableInternal> m_simple_table_internal;
129};
130
131/*---------------------------------------------------------------------------*/
132/*---------------------------------------------------------------------------*/
133
134} // End namespace Arcane
135
136/*---------------------------------------------------------------------------*/
137/*---------------------------------------------------------------------------*/
138
139#endif
#define ARCANE_FATAL(...)
Macro throwing a FatalErrorException.
Constant view of an array of type T.
Class interface representing a manager for SimpleTableInternal (aka STI).
bool isNull() const
Indicates if the counter references a non-null instance.
Reference to an instance.
bool editElementLeft(Real element, bool update_last_position) override
Method to edit an element to the left of the last element most recently manipulated (same row/column ...
bool addElementInRow(Integer position, Real element) override
Method to add an element to a row.
Ref< SimpleTableInternal > internal() override
Method allowing retrieval of a reference to the object SimpleTableInternal used.
Integer rowPosition(const String &row_name) override
Method allowing retrieval of the position of a row.
bool addElementInColumn(Integer position, Real element) override
Method to add an element to a column.
String columnName(Integer position) override
Method allowing retrieval of the name of a column from its position.
bool addElementsInColumn(Integer position, ConstArrayView< Real > elements) override
Method to add multiple elements to a column.
Integer numberOfRows() override
Method allowing retrieval of the number of rows in the table. This is, in a sense,...
RealUniqueArray column(Integer position) override
Method allowing retrieval of a copy of a column.
bool addElementsInSameColumn(ConstArrayView< Real > elements) override
Method to add multiple elements to the column most recently manipulated.
bool addRows(StringConstArrayView rows_names) override
Method to add multiple rows.
bool addElementsInSameRow(ConstArrayView< Real > elements) override
Method to add multiple elements to the row most recently manipulated.
Real elementDown(bool update_last_position) override
Method allowing retrieval of an element below the last element recently manipulated (row below/same c...
void clearInternal() override
Method to clear the content of the SimpleTableInternal.
void setInternal(const Ref< SimpleTableInternal > &simple_table_internal) override
Method allowing setting a reference to a SimpleTableInternal.
Real element() override
Method allowing retrieval of a copy of an element.
bool editElementDown(Real element, bool update_last_position) override
Method to edit an element below the last element most recently manipulated (row below/same column).
Integer addAverageColumn(const String &column_name) override
Method allowing creation of a column containing the average of elements of each row.
bool editColumnName(Integer position, const String &new_name) override
Method allowing changing the name of a column.
bool editRowName(Integer position, const String &new_name) override
Method allowing changing the name of a row.
bool addElementInSameColumn(Real element) override
Method to add an element to the column most recently manipulated.
String rowName(Integer position) override
Method allowing retrieval of the name of a row from its position.
Integer addColumn(const String &column_name) override
Method to add a column.
RealUniqueArray row(Integer position) override
Method allowing retrieval of a copy of a row.
Real elementUp(bool update_last_position) override
Method allowing retrieval of an element above the last element recently manipulated (row above/same c...
bool editElementRight(Real element, bool update_last_position) override
Method allowing editing an element to the right of the last element recently manipulated (same row/co...
bool addElementInSameRow(Real element) override
Method to add an element to the row most recently manipulated.
bool addElementsInRow(Integer position, ConstArrayView< Real > elements) override
Method to add multiple elements to a row.
Integer rowSize(Integer position) override
Method allowing retrieval of the size of a row. Including hypothetical 'gaps' in the row.
Integer columnSize(Integer position) override
Method allowing retrieval of the size of a column. Including hypothetical 'gaps' in the column.
bool editElement(Real element) override
Method allowing modification of an element in the table.
bool editElementUp(Real element, bool update_last_position) override
Method to edit an element above the last element most recently manipulated (row above/same column).
Integer numberOfColumns() override
Method allowing retrieval of the number of columns in the table. This is, in a sense,...
Integer columnPosition(const String &column_name) override
Method allowing retrieval of the position of a column.
Real elementRight(bool update_last_position) override
Method allowing retrieval of an element to the right of the last element recently manipulated (same r...
Integer addRow(const String &row_name) override
Method to add a row.
Real elementLeft(bool update_last_position) override
Method allowing retrieval of an element to the left of the last element recently manipulated (same ro...
bool addColumns(StringConstArrayView columns_names) override
Method to add multiple columns.
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --
ConstArrayView< String > StringConstArrayView
C equivalent of a 1D array of strings.
Definition UtilsTypes.h:492
Int32 Integer
Type representing an integer.
UniqueArray< Real > RealUniqueArray
Dynamic 1D array of reals.
Definition UtilsTypes.h:349
double Real
Type representing a real number.