Arcane  4.1.12.0
User documentation
Loading...
Searching...
No Matches
ISimpleTableInternalMng.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/* ISimpleTableInternalMng.h (C) 2000-2025 */
9/* */
10/* Interface representing a manager for SimpleTableInternal. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_CORE_ISIMPLETABLEINTERNALMNG_H
13#define ARCANE_CORE_ISIMPLETABLEINTERNALMNG_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arcane/utils/Array.h"
18#include "arcane/utils/Array2.h"
19
20#include "arcane/core/SimpleTableInternal.h"
21#include "arcane/core/ISubDomain.h"
23
24/*---------------------------------------------------------------------------*/
25/*---------------------------------------------------------------------------*/
26
27namespace Arcane
28{
29
30/*---------------------------------------------------------------------------*/
31/*---------------------------------------------------------------------------*/
32
33/**
34 * \brief Class interface representing a manager
35 * for SimpleTableInternal (aka STI).
36 *
37 * This manager allows for several types of operations
38 * on the STI: adding rows, columns, values, etc.
39 *
40 * There are two modes of operation (which can be mixed):
41 * - using the names or positions of rows/columns,
42 * - using a position pointer within the array.
43 *
44 * The first mode is the easiest to use and is sufficient
45 * for most users. You provide a name (or position)
46 * of a row or column and a value, and this value is placed
47 * after the other values in the row or column.
48 *
49 * The second mode is more advanced and is mainly used to replace
50 * elements already present or to optimize performance (if there are
51 * 40 rows, 40 values to add sequentially, and you use the
52 * column names 40 times, this results in 40 String searches in a
53 * StringUniqueArray, which is not optimal performance).
54 * A pointer representing the last added element is present in
55 * STI. You can modify elements around this pointer (top, bottom,
56 * left, right) using the available methods.
57 * This pointer can be placed anywhere using the element() methods.
58 * This pointer is not read by the methods of the first mode but is
59 * updated by them.
60 */
61class ARCANE_CORE_EXPORT ISimpleTableInternalMng
62{
63 public:
64
65 virtual ~ISimpleTableInternalMng() = default;
66
67 public:
68
69 /*---------------------------------------------------------------------------*/
70 /*---------------------------------------------------------------------------*/
71
72 /**
73 * \brief Method to clear the content
74 * of the SimpleTableInternal.
75 */
76 virtual void clearInternal() = 0;
77
78 /*---------------------------------------------------------------------------*/
79 /*---------------------------------------------------------------------------*/
80
81 /**
82 * \brief Method to add a row.
83 *
84 * \param row_name The name of the row. Must not be empty.
85 * \return Integer The position of the row in the array
86 * (-1 if the given name is incorrect).
87 */
88 virtual Integer addRow(const String& row_name) = 0;
89
90 /**
91 * \brief Method to add a row.
92 *
93 * If the number of elements in 'elements' is greater than the
94 * number of columns, the addition still takes place (but the
95 * extra elements will not be added).
96 *
97 * \param row_name The name of the row. Must not be empty.
98 * \param elements The elements to insert into the row.
99 * \return Integer The position of the row in the array.
100 * (-1 if the given name is incorrect).
101 */
102 virtual Integer addRow(const String& row_name, ConstArrayView<Real> elements) = 0;
103
104 /**
105 * \brief Method to add multiple rows.
106 *
107 * \param rows_names The names of the rows. Each name must not be empty.
108 * \return true If all rows were created.
109 * \return false If not all rows were created.
110 */
111 virtual bool addRows(StringConstArrayView rows_names) = 0;
112
113 /*---------------------------------------------------------------------------*/
114 /*---------------------------------------------------------------------------*/
115
116 /**
117 * \brief Method to add a column.
118 *
119 * \param column_name The name of the column. Must not be empty.
120 * \return Integer The position of the column in the array.
121 * (-1 if the given name is incorrect).
122 */
123 virtual Integer addColumn(const String& column_name) = 0;
124
125 /**
126 * \brief Method to add a column.
127 *
128 * If the number of elements in 'elements' is greater than the
129 * number of rows, the addition still takes place (but the
130 * extra elements will not be added).
131 *
132 * \param column_name The name of the column. Must not be empty.
133 * \param elements The elements to add to the column.
134 * \return Integer The position of the column in the array.
135 * (-1 if the given name is incorrect).
136 */
137 virtual Integer addColumn(const String& column_name, ConstArrayView<Real> elements) = 0;
138
139 /**
140 * \brief Method to add multiple columns.
141 *
142 * \param rows_names The names of the columns. Each name must not be empty.
143 * \return true If all columns were created.
144 * \return false If not all columns were created.
145 */
146 virtual bool addColumns(StringConstArrayView columns_names) = 0;
147
148 /*---------------------------------------------------------------------------*/
149 /*---------------------------------------------------------------------------*/
150
151 /**
152 * \brief Method to add an element to a row.
153 *
154 * \param position The position of the row.
155 * \param element The element to add.
156 * \return true If the element was successfully added.
157 * \return false If the element could not be added.
158 */
159 virtual bool addElementInRow(Integer position, Real element) = 0;
160
161 /**
162 * \brief Method to add an element to a row.
163 *
164 * \param row_name The name of the row.
165 * \param element The element to add.
166 * \param create_if_not_exist To specify whether the row should be created
167 * if it does not already exist.
168 * \return true If the element was successfully added.
169 * \return false If the element could not be added.
170 */
171 virtual bool addElementInRow(const String& row_name, Real element, bool create_if_not_exist = true) = 0;
172
173 /**
174 * \brief Method to add an element to the row
175 * most recently manipulated.
176 *
177 * This method differs from 'editElementRight()' because here, an element is added
178 * to the end of the row, not necessarily after the
179 * last added element.
180 *
181 * \param element The element to add.
182 * \return true If the element was added.
183 * \return false If the element could not be added.
184 */
186
187 /*---------------------------------------------------------------------------*/
188 /*---------------------------------------------------------------------------*/
189
190 /**
191 * \brief Method to add multiple elements to a row.
192 *
193 * If the number of elements in 'elements' is greater than the
194 * number of available columns, the addition still takes place (but the
195 * extra elements will not be added) and a return value of false will be returned.
196 *
197 * \param position The position of the row.
198 * \param elements The array of elements to add.
199 * \return true If all elements were added.
200 * \return false If [0;len(elements)[ elements were added.
201 */
202 virtual bool addElementsInRow(Integer position, ConstArrayView<Real> elements) = 0;
203
204 /**
205 * \brief Method to add multiple elements to a row.
206 *
207 * If the number of elements in 'elements' is greater than the
208 * number of available columns, the addition still takes place (but the
209 * extra elements will not be added) and a return value of false will be returned.
210 *
211 * \param row_name The name of the row.
212 * \param elements The array of elements to add.
213 * \param create_if_not_exist To specify whether the row should be created
214 * if it does not already exist.
215 * \return true If all elements were added.
216 * \return false If [0;len(elements)[ elements were added.
217 */
218 virtual bool addElementsInRow(const String& row_name, ConstArrayView<Real> elements, bool create_if_not_exist = true) = 0;
219
220 /**
221 * \brief Method to add multiple elements to the
222 * row most recently manipulated.
223 *
224 * If the number of elements in 'elements' is greater than the
225 * number of available columns, the addition still takes place (but the
226 * extra elements will not be added) and a return value of false will be returned.
227 *
228 * Apart from the fact that we are manipulating an array here, this method differs
229 * from 'editElementRight()' because here, elements are added to the end of the row,
230 * not necessarily after the last added element.
231 *
232 * \param elements The array of elements to add.
233 * \return true If all elements were added.
234 * \return false If [0;len(elements)[ elements were added.
235 */
236 virtual bool addElementsInSameRow(ConstArrayView<Real> elements) = 0;
237
238 /*---------------------------------------------------------------------------*/
239 /*---------------------------------------------------------------------------*/
240
241 /**
242 * \brief Method to add an element to a column.
243 *
244 * \param position The position of the column.
245 * \param element The element to add.
246 * \return true If the element was successfully added.
247 * \return false If the element could not be added.
248 */
249 virtual bool addElementInColumn(Integer position, Real element) = 0;
250
251 /**
252 * \brief Method to add an element to a column.
253 *
254 * \param column_name The name of the column.
255 * \param element The element to add.
256 * \param create_if_not_exist To specify whether the column should be created
257 * if it does not already exist.
258 * \return true If the element was successfully added.
259 * \return false If the element could not be added.
260 */
261 virtual bool addElementInColumn(const String& column_name, Real element, bool create_if_not_exist = true) = 0;
262
263 /**
264 * \brief Method to add an element to the column
265 * most recently manipulated.
266 *
267 * This method differs from 'editElementDown()' because here, an element is added
268 * to the end of the column, not necessarily after the last added element.
269 *
270 * \param element The element to add.
271 * \return true If the element was added.
272 * \return false If the element could not be added.
273 */
275
276 /*---------------------------------------------------------------------------*/
277 /*---------------------------------------------------------------------------*/
278
279 /**
280 * \brief Method to add multiple elements to a column.
281 *
282 * If the number of elements in 'elements' is greater than the
283 * number of available rows, the addition still takes place (but the
284 * extra elements will not be added) and a return value of false will be returned.
285 *
286 * \param position The position of the column.
287 * \param elements The array of elements to add.
288 * \return true If all elements were added.
289 * \return false If [0;len(elements)[ elements were added.
290 */
291 virtual bool addElementsInColumn(Integer position, ConstArrayView<Real> elements) = 0;
292
293 /**
294 * \brief Method to add multiple elements to a column.
295 *
296 * If the number of elements in 'elements' is greater than the
297 * number of available rows, the addition still takes place (but the
298 * extra elements will not be added) and a return value of false will be returned.
299 *
300 * \param column_name The name of the column.
301 * \param elements The array of elements to add.
302 * \param create_if_not_exist To specify whether the column should be created if
303 * it does not already exist.
304 * \return true If all elements were added.
305 * \return false If [0;len(elements)[ elements were added.
306 */
307 virtual bool addElementsInColumn(const String& column_name, ConstArrayView<Real> elements, bool create_if_not_exist = true) = 0;
308
309 /**
310 * \brief Method to add multiple elements to the
311 * column most recently manipulated.
312 *
313 * If the number of elements in 'elements' is greater than the
314 * number of available rows, the addition still takes place (but the
315 * extra elements will not be added) and a return value of false will be returned.
316 *
317 * Apart from the fact that we are manipulating an array here, this method differs
318 * from 'editElementDown()' because here, elements are added to the end of the column,
319 * not necessarily after the last added element.
320 *
321 * \param elements The array of elements to add.
322 * \return true If all elements were added.
323 * \return false If [0;len(elements)[ elements were added.
324 */
326
327 /*---------------------------------------------------------------------------*/
328 /*---------------------------------------------------------------------------*/
329
330 /**
331 * \brief Method to edit an element above the last
332 * element most recently manipulated (row above/same column).
333 *
334 * The element being modified thus becomes the last modified element
335 * at the end of this method (if update_last_position = true).
336 *
337 * \param element The element to modify.
338 * \param update_last_position Should the "last modified element" cursor be moved?
339 * \return true If the element was modified.
340 * \return false If the element could not be modified.
341 */
342 virtual bool editElementUp(Real element, bool update_last_position = true) = 0;
343
344 /**
345 * \brief Method to edit an element below the last
346 * element most recently manipulated (row below/same column).
347 *
348 * The element being modified thus becomes the last modified element
349 * at the end of this method (if update_last_position = true).
350 *
351 * This method differs from 'addElementInSameColumn()' because here, an element is added
352 * (or modified) below the last manipulated element, which is not
353 * necessarily at the end of the column.
354 *
355 * \param element The element to modify.
356 * \param update_last_position Should the "last modified element" cursor be moved?
357 * \return true If the element was modified.
358 * \return false If the element could not be modified.
359 */
360 virtual bool editElementDown(Real element, bool update_last_position = true) = 0;
361
362 /**
363 * \brief Method to edit an element to the left of the last
364 * element most recently manipulated (same row/column to the left).
365 *
366 * The element being modified thus becomes the last modified element
367 * at the end of this method (if update_last_position = true).
368 *
369 * \param element The element to modify.
370 * \param update_last_position Should the "last modified element" cursor be moved?
371 * \return true If the element was modified.
372 * \return false If the element could not be modified.
373 */
374 virtual bool editElementLeft(Real element, bool update_last_position = true) = 0;
375
376 /**
377 * \brief Method allowing editing an element to the right of the last
378 * element recently manipulated (same row/column to the right).
379 *
380 * The element being modified thus becomes the last modified element
381 * at the end of this method (if update_last_position = true).
382 *
383 * This method differs from 'addElementInSameRow()' because here, we add
384 * (or modify) an element to the right of the last manipulated element,
385 * which is not necessarily at the end of the column.
386 *
387 * \param element The element to modify.
388 * \param update_last_position Should the "last modified element" cursor be moved?
389 * \return true If the element was modified.
390 * \return false If the element could not be modified.
391 */
392 virtual bool editElementRight(Real element, bool update_last_position = true) = 0;
393
394 /*---------------------------------------------------------------------------*/
395 /*---------------------------------------------------------------------------*/
396
397 /**
398 * \brief Method allowing retrieval of an element above the last
399 * element recently manipulated (row above/same column).
400 *
401 * The element retrieved thus becomes the last "modified" element
402 * at the end of this method (if update_last_position = true).
403 *
404 * \param update_last_position Should the "last modified element" cursor be moved?
405 * \return Real The found element (0 if not found).
406 */
407 virtual Real elementUp(bool update_last_position = false) = 0;
408
409 /**
410 * \brief Method allowing retrieval of an element below the last
411 * element recently manipulated (row below/same column).
412 *
413 * The element retrieved thus becomes the last "modified" element
414 * at the end of this method (if update_last_position = true).
415 *
416 * \param update_last_position Should the "last modified element" cursor be moved?
417 * \return Real The found element (0 if not found).
418 */
419 virtual Real elementDown(bool update_last_position = false) = 0;
420
421 /**
422 * \brief Method allowing retrieval of an element to the left of the last
423 * element recently manipulated (same row/column to the left).
424 *
425 * The element retrieved thus becomes the last "modified" element
426 * at the end of this method (if update_last_position = true).
427 *
428 * \param update_last_position Should the "last modified element" cursor be moved?
429 * \return Real The found element (0 if not found).
430 */
431 virtual Real elementLeft(bool update_last_position = false) = 0;
432
433 /**
434 * \brief Method allowing retrieval of an element to the right of the last
435 * element recently manipulated (same row/column to the right).
436 *
437 * The element retrieved thus becomes the last "modified" element
438 * at the end of this method (if update_last_position = true).
439 *
440 * \param update_last_position Should the "last modified element" cursor be moved?
441 * \return Real The found element (0 if not found).
442 */
443 virtual Real elementRight(bool update_last_position = false) = 0;
444
445 /*---------------------------------------------------------------------------*/
446 /*---------------------------------------------------------------------------*/
447
448 /**
449 * \brief Method allowing modification of an element in the table.
450 *
451 * The x and y positions correspond to the location of the last
452 * manipulated element.
453 *
454 * This method is useful after using
455 * 'elemUDLR(true)', for example.
456 *
457 * \param element The replacement element.
458 * \return true If the element was successfully replaced.
459 * \return false If the element was not replaced.
460 */
461 virtual bool editElement(Real element) = 0;
462
463 /**
464 * \brief Method allowing modification of an element in the table.
465 *
466 * \param position_x The position of the column to modify.
467 * \param position_y The position of the row to modify.
468 * \param element The replacement element.
469 * \return true If the element was successfully replaced.
470 * \return false If the element was not replaced.
471 */
472 virtual bool editElement(Integer position_x, Integer position_y, Real element) = 0;
473
474 /**
475 * \brief Method allowing modification of an element in the table.
476 *
477 * \param column_name The name of the column where the element is located.
478 * \param row_name The name of the row where the element is located.
479 * \param element The replacement element.
480 * \return true If the element was successfully replaced.
481 * \return false If the element could not be replaced.
482 */
483 virtual bool editElement(const String& column_name, const String& row_name, Real element) = 0;
484
485 /*---------------------------------------------------------------------------*/
486 /*---------------------------------------------------------------------------*/
487
488 /**
489 * \brief Method allowing retrieval of a copy of an element.
490 *
491 * The x and y positions correspond to the location of the last manipulated element.
492 *
493 * \return Real The found element (0 if not found).
494 */
495 virtual Real element() = 0;
496
497 /**
498 * \brief Method allowing retrieval of a copy of an element.
499 *
500 * \param position_x The position of the column where the element is located.
501 * \param position_y The position of the row where the element is located.
502 * \param update_last_position Should the "last modified element" cursor be moved?
503 * \return Real The found element (0 if not found).
504 */
505 virtual Real element(Integer position_x, Integer position_y, bool update_last_position = false) = 0;
506
507 /**
508 * \brief Method allowing retrieval of a copy of an element.
509 *
510 * \param column_name The name of the column where the element is located.
511 * \param row_name The name of the row where the element is located.
512 * \param update_last_position Should the "last modified element" cursor be moved?
513 * \return Real The found element (0 if not found).
514 */
515 virtual Real element(const String& column_name, const String& row_name, bool update_last_position = false) = 0;
516
517 /*---------------------------------------------------------------------------*/
518 /*---------------------------------------------------------------------------*/
519
520 /**
521 * \brief Method allowing retrieval of a copy of a row.
522 *
523 * \param position The position of the row.
524 * \return RealUniqueArray The copy of the row (empty array if not found).
525 */
526 virtual RealUniqueArray row(Integer position) = 0;
527
528 /**
529 * \brief Method allowing retrieval of a copy of a row.
530 *
531 * \param row_name The name of the row.
532 * \return RealUniqueArray The copy of the row (empty array if not found).
533 */
534 virtual RealUniqueArray row(const String& row_name) = 0;
535
536 /**
537 * \brief Method allowing retrieval of a copy of a column.
538 *
539 * \param position The position of the column.
540 * \return RealUniqueArray The copy of the column (empty array if not found).
541 */
542 virtual RealUniqueArray column(Integer position) = 0;
543
544 /**
545 * \brief Method allowing retrieval of a copy of a column.
546 *
547 * \param column_name The name of the column.
548 * \return RealUniqueArray The copy of the column (empty array if not found).
549 */
550 virtual RealUniqueArray column(const String& column_name) = 0;
551
552 /*---------------------------------------------------------------------------*/
553 /*---------------------------------------------------------------------------*/
554
555 /**
556 * \brief Method allowing retrieval of the size of a row.
557 * Including hypothetical 'gaps' in the row.
558 *
559 * \param position The position of the row.
560 * \return Integer The size of the row (0 if not found).
561 */
562 virtual Integer rowSize(Integer position) = 0;
563
564 /**
565 * \brief Method allowing retrieval of the size of a row.
566 * Including hypothetical 'gaps' in the row.
567 *
568 * \param position The name of the row.
569 * \return Integer The size of the row (0 if not found).
570 */
571 virtual Integer rowSize(const String& row_name) = 0;
572
573 /**
574 * \brief Method allowing retrieval of the size of a column.
575 * Including hypothetical 'gaps' in the column.
576 *
577 * \param position The position of the column.
578 * \return Integer The size of the column (0 if not found).
579 */
580 virtual Integer columnSize(Integer position) = 0;
581
582 /**
583 * \brief Method allowing retrieval of the size of a column.
584 * Including hypothetical 'gaps' in the column.
585 *
586 * \param position The name of the column.
587 * \return Integer The size of the column (0 if not found).
588 */
589 virtual Integer columnSize(const String& column_name) = 0;
590
591 /*---------------------------------------------------------------------------*/
592 /*---------------------------------------------------------------------------*/
593
594 /**
595 * \brief Method allowing retrieval of the position of a row.
596 *
597 * \param row_name The name of the row.
598 * \return Integer The position of the row (-1 if not found).
599 */
600 virtual Integer rowPosition(const String& row_name) = 0;
601
602 /**
603 * \brief Method allowing retrieval of the position of a column.
604 *
605 * \param row_name The name of the column.
606 * \return Integer The position of the column (-1 if not found).
607 */
608 virtual Integer columnPosition(const String& column_name) = 0;
609
610 /*---------------------------------------------------------------------------*/
611 /*---------------------------------------------------------------------------*/
612
613 /**
614 * \brief Method allowing retrieval of the number of rows in the table.
615 * This is, in a sense, the maximum number of elements a column can contain.
616 *
617 * \return Integer The number of rows in the table.
618 */
619 virtual Integer numberOfRows() = 0;
620
621 /**
622 * \brief Method allowing retrieval of the number of columns in the table.
623 * This is, in a sense, the maximum number of elements a row can contain.
624 *
625 * \return Integer The number of columns in the table.
626 */
628
629 /*---------------------------------------------------------------------------*/
630 /*---------------------------------------------------------------------------*/
631
632 /**
633 * \brief Method allowing retrieval of the name of a row
634 * from its position.
635 *
636 * \param position The position of the row.
637 * \return String The name of the row
638 * (empty string if the row was not found).
639 */
640 virtual String rowName(Integer position) = 0;
641
642 /**
643 * \brief Method allowing retrieval of the name of a column
644 * from its position.
645 *
646 * \param position The position of the column.
647 * \return String The name of the column
648 * (empty string if the column was not found).
649 */
650 virtual String columnName(Integer position) = 0;
651
652 /*---------------------------------------------------------------------------*/
653 /*---------------------------------------------------------------------------*/
654
655 /**
656 * \brief Method allowing changing the name of a row.
657 *
658 * \param position The position of the row.
659 * \param new_name The new name of the row. Must not be empty.
660 * \return true If the change occurred.
661 * \return false If the change did not occur.
662 */
663 virtual bool editRowName(Integer position, const String& new_name) = 0;
664
665 /**
666 * \brief Method allowing changing the name of a row.
667 *
668 * \param row_name The current name of the row.
669 * \param new_name The new name of the row. Must not be empty.
670 * \return true If the change occurred.
671 * \return false If the change did not occur.
672 */
673 virtual bool editRowName(const String& row_name, const String& new_name) = 0;
674
675 /**
676 * \brief Method allowing changing the name of a column.
677 *
678 * \param position The position of the column.
679 * \param new_name The new name of the column. Must not be empty.
680 * \return true If the change occurred.
681 * \return false If the change did not occur.
682 */
683 virtual bool editColumnName(Integer position, const String& new_name) = 0;
684
685 /**
686 * \brief Method allowing changing the name of a column.
687 *
688 * \param column_name The current name of the column.
689 * \param new_name The new name of the column. Must not be empty.
690 * \return true If the change occurred.
691 * \return false If the change did not occur.
692 */
693 virtual bool editColumnName(const String& column_name, const String& new_name) = 0;
694
695 /*---------------------------------------------------------------------------*/
696 /*---------------------------------------------------------------------------*/
697
698 /**
699 * \brief Method allowing creation of a column containing the average of
700 * elements of each row.
701 *
702 * \param column_name The name of the new column. Must not be empty.
703 * \return Integer The position of the column.
704 */
705 virtual Integer addAverageColumn(const String& column_name) = 0;
706
707 /**
708 * \brief Method allowing retrieval of a reference to the object
709 * SimpleTableInternal used.
710 *
711 * \return Ref<SimpleTableInternal> A copy of the reference.
712 */
714
715 /**
716 * \brief Method allowing setting a reference to a
717 * SimpleTableInternal.
718 *
719 * \param simple_table_internal The reference to a SimpleTableInternal.
720 */
721 virtual void setInternal(const Ref<SimpleTableInternal>& simple_table_internal) = 0;
722};
723
724/*---------------------------------------------------------------------------*/
725/*---------------------------------------------------------------------------*/
726
727} // End namespace Arcane
728
729/*---------------------------------------------------------------------------*/
730/*---------------------------------------------------------------------------*/
731
732#endif
Declarations of types on entities.
Constant view of an array of type T.
Class interface representing a manager for SimpleTableInternal (aka STI).
virtual bool editElementRight(Real element, bool update_last_position=true)=0
Method allowing editing an element to the right of the last element recently manipulated (same row/co...
virtual Integer rowSize(const String &row_name)=0
Method allowing retrieval of the size of a row. Including hypothetical 'gaps' in the row.
virtual bool addElementsInRow(Integer position, ConstArrayView< Real > elements)=0
Method to add multiple elements to a row.
virtual Integer columnSize(Integer position)=0
Method allowing retrieval of the size of a column. Including hypothetical 'gaps' in the column.
virtual bool editElement(Real element)=0
Method allowing modification of an element in the table.
virtual RealUniqueArray column(Integer position)=0
Method allowing retrieval of a copy of a column.
virtual bool addColumns(StringConstArrayView columns_names)=0
Method to add multiple columns.
virtual bool addElementInColumn(const String &column_name, Real element, bool create_if_not_exist=true)=0
Method to add an element to a column.
virtual Integer addAverageColumn(const String &column_name)=0
Method allowing creation of a column containing the average of elements of each row.
virtual Integer numberOfRows()=0
Method allowing retrieval of the number of rows in the table. This is, in a sense,...
virtual bool editElement(Integer position_x, Integer position_y, Real element)=0
Method allowing modification of an element in the table.
virtual bool editElementUp(Real element, bool update_last_position=true)=0
Method to edit an element above the last element most recently manipulated (row above/same column).
virtual bool editElementLeft(Real element, bool update_last_position=true)=0
Method to edit an element to the left of the last element most recently manipulated (same row/column ...
virtual Integer addColumn(const String &column_name)=0
Method to add a column.
virtual bool editColumnName(Integer position, const String &new_name)=0
Method allowing changing the name of a column.
virtual RealUniqueArray row(const String &row_name)=0
Method allowing retrieval of a copy of a row.
virtual bool addElementInRow(Integer position, Real element)=0
Method to add an element to a row.
virtual Integer rowPosition(const String &row_name)=0
Method allowing retrieval of the position of a row.
virtual Real element()=0
Method allowing retrieval of a copy of an element.
virtual Real elementRight(bool update_last_position=false)=0
Method allowing retrieval of an element to the right of the last element recently manipulated (same r...
virtual String columnName(Integer position)=0
Method allowing retrieval of the name of a column from its position.
virtual Real elementUp(bool update_last_position=false)=0
Method allowing retrieval of an element above the last element recently manipulated (row above/same c...
virtual bool addElementsInRow(const String &row_name, ConstArrayView< Real > elements, bool create_if_not_exist=true)=0
Method to add multiple elements to a row.
virtual bool addElementsInSameRow(ConstArrayView< Real > elements)=0
Method to add multiple elements to the row most recently manipulated.
virtual bool editRowName(const String &row_name, const String &new_name)=0
Method allowing changing the name of a row.
virtual Integer rowSize(Integer position)=0
Method allowing retrieval of the size of a row. Including hypothetical 'gaps' in the row.
virtual Integer addRow(const String &row_name)=0
Method to add a row.
virtual RealUniqueArray row(Integer position)=0
Method allowing retrieval of a copy of a row.
virtual Real elementLeft(bool update_last_position=false)=0
Method allowing retrieval of an element to the left of the last element recently manipulated (same ro...
virtual String rowName(Integer position)=0
Method allowing retrieval of the name of a row from its position.
virtual bool addRows(StringConstArrayView rows_names)=0
Method to add multiple rows.
virtual Integer addRow(const String &row_name, ConstArrayView< Real > elements)=0
Method to add a row.
virtual Real elementDown(bool update_last_position=false)=0
Method allowing retrieval of an element below the last element recently manipulated (row below/same c...
virtual RealUniqueArray column(const String &column_name)=0
Method allowing retrieval of a copy of a column.
virtual bool addElementInSameColumn(Real element)=0
Method to add an element to the column most recently manipulated.
virtual bool editColumnName(const String &column_name, const String &new_name)=0
Method allowing changing the name of a column.
virtual void setInternal(const Ref< SimpleTableInternal > &simple_table_internal)=0
Method allowing setting a reference to a SimpleTableInternal.
virtual bool addElementInSameRow(Real element)=0
Method to add an element to the row most recently manipulated.
virtual Real element(Integer position_x, Integer position_y, bool update_last_position=false)=0
Method allowing retrieval of a copy of an element.
virtual Integer numberOfColumns()=0
Method allowing retrieval of the number of columns in the table. This is, in a sense,...
virtual bool addElementsInSameColumn(ConstArrayView< Real > elements)=0
Method to add multiple elements to the column most recently manipulated.
virtual bool editRowName(Integer position, const String &new_name)=0
Method allowing changing the name of a row.
virtual Ref< SimpleTableInternal > internal()=0
Method allowing retrieval of a reference to the object SimpleTableInternal used.
virtual bool editElement(const String &column_name, const String &row_name, Real element)=0
Method allowing modification of an element in the table.
virtual bool addElementsInColumn(Integer position, ConstArrayView< Real > elements)=0
Method to add multiple elements to a column.
virtual Real element(const String &column_name, const String &row_name, bool update_last_position=false)=0
Method allowing retrieval of a copy of an element.
virtual bool editElementDown(Real element, bool update_last_position=true)=0
Method to edit an element below the last element most recently manipulated (row below/same column).
virtual Integer columnPosition(const String &column_name)=0
Method allowing retrieval of the position of a column.
virtual bool addElementInRow(const String &row_name, Real element, bool create_if_not_exist=true)=0
Method to add an element to a row.
virtual Integer addColumn(const String &column_name, ConstArrayView< Real > elements)=0
Method to add a column.
virtual bool addElementsInColumn(const String &column_name, ConstArrayView< Real > elements, bool create_if_not_exist=true)=0
Method to add multiple elements to a column.
virtual bool addElementInColumn(Integer position, Real element)=0
Method to add an element to a column.
virtual Integer columnSize(const String &column_name)=0
Method allowing retrieval of the size of a column. Including hypothetical 'gaps' in the column.
virtual void clearInternal()=0
Method to clear the content of the SimpleTableInternal.
Reference to an instance.
-- 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.