Class managing the row access for the columns. More...
Public Types | |
using | index = typename Master_matrix::index |
using | id_index = typename Master_matrix::id_index |
using | Cell_type = typename Master_matrix::Cell_type |
using | Row_container_type = typename Master_matrix::row_container_type |
Public Member Functions | |
Row_access () | |
Default constructor. Sets the column index to -1 and the row container to nullptr. Should only be used by dummy columns. | |
Row_access (index columnIndex, Row_container_type *rows) | |
Constructor setting the column index and the row container by the given values. More... | |
Row_access (Row_access &&other) noexcept | |
Move constructor. More... | |
void | insert_cell (id_index rowIndex, Cell_type *cell) |
Inserts the given cell at the given row index. More... | |
void | unlink (Cell_type *cell) |
Removes the given cell from its row. More... | |
void | update_cell (const Cell_type &cell) |
If PersistenceMatrixOptions::has_intrusive_rows is false, updates the copy of the cell in its row. Otherwise does nothing. More... | |
index | get_column_index () const |
Returns the MatIdx column index. More... | |
Friends | |
void | swap (Row_access &r1, Row_access &r2) |
Swap operator. | |
Class managing the row access for the columns.
Master_matrix | An instanciation of Matrix from which all types and options are deduced. |
using Gudhi::persistence_matrix::Row_access< Master_matrix >::Cell_type = typename Master_matrix::Cell_type |
Cell.
using Gudhi::persistence_matrix::Row_access< Master_matrix >::id_index = typename Master_matrix::id_index |
IDIdx index type.
using Gudhi::persistence_matrix::Row_access< Master_matrix >::index = typename Master_matrix::index |
MatIdx index type.
using Gudhi::persistence_matrix::Row_access< Master_matrix >::Row_container_type = typename Master_matrix::row_container_type |
Type of the row container.
|
inline |
Constructor setting the column index and the row container by the given values.
columnIndex | Column index to store. |
rows | Pointer to the row container. |
|
inlinenoexcept |
Move constructor.
other | Column to move. |
|
inline |
|
inline |
Inserts the given cell at the given row index.
rowIndex | Row index of the cell. |
cell | Pointer to the cell to insert. |
|
inline |
Removes the given cell from its row.
cell | Pointer to the cell to remove. |
|
inline |
If PersistenceMatrixOptions::has_intrusive_rows is false, updates the copy of the cell in its row. Otherwise does nothing.
If the rows are intrusive, only a pointer of the cell is stored and therefore any update on the cell (value or column index) is automatically forwarded. But for non intrusive rows, any update has to be pushed explicitely.
cell | Cell to update. |