All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
Gudhi::persistence_matrix::Row_access< Master_matrix > Class Template Reference

Class managing the row access for the columns. More...

#include <gudhi/Persistence_matrix/columns/row_access.h>

Public Types

using Index = typename Master_matrix::Index
 
using ID_index = typename Master_matrix::ID_index
 
using Matrix_entry = typename Master_matrix::Matrix_entry
 
using Row_container = typename Master_matrix::Row_container
 

Public Member Functions

 Row_access ()
 Default constructor. Sets the column index to null index and the row container to nullptr. Should only be used by dummy columns.
 
 Row_access (Index columnIndex, Row_container *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_entry (ID_index rowIndex, Matrix_entry *entry)
 Inserts the given entry at the given row index. More...
 
void unlink (Matrix_entry *entry)
 Removes the given entry from its row. More...
 
void update_entry (const Matrix_entry &entry)
 If PersistenceMatrixOptions::has_intrusive_rows is false, updates the copy of the entry 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.
 

Detailed Description

template<class Master_matrix>
class Gudhi::persistence_matrix::Row_access< Master_matrix >

Class managing the row access for the columns.

Template Parameters
Master_matrixAn instantiation of Matrix from which all types and options are deduced.

Member Typedef Documentation

◆ ID_index

template<class Master_matrix >
using Gudhi::persistence_matrix::Row_access< Master_matrix >::ID_index = typename Master_matrix::ID_index

IDIdx index type.

◆ Index

template<class Master_matrix >
using Gudhi::persistence_matrix::Row_access< Master_matrix >::Index = typename Master_matrix::Index

MatIdx index type.

◆ Matrix_entry

template<class Master_matrix >
using Gudhi::persistence_matrix::Row_access< Master_matrix >::Matrix_entry = typename Master_matrix::Matrix_entry

◆ Row_container

template<class Master_matrix >
using Gudhi::persistence_matrix::Row_access< Master_matrix >::Row_container = typename Master_matrix::Row_container

Type of the row container.

Constructor & Destructor Documentation

◆ Row_access() [1/2]

template<class Master_matrix >
Gudhi::persistence_matrix::Row_access< Master_matrix >::Row_access ( Index  columnIndex,
Row_container rows 
)
inline

Constructor setting the column index and the row container by the given values.

Parameters
columnIndexColumn index to store.
rowsPointer to the row container.

◆ Row_access() [2/2]

template<class Master_matrix >
Gudhi::persistence_matrix::Row_access< Master_matrix >::Row_access ( Row_access< Master_matrix > &&  other)
inlinenoexcept

Move constructor.

Parameters
otherColumn to move.

Member Function Documentation

◆ get_column_index()

template<class Master_matrix >
Row_access< Master_matrix >::Index Gudhi::persistence_matrix::Row_access< Master_matrix >::get_column_index
inline

Returns the MatIdx column index.

Returns
The MatIdx column index.

◆ insert_entry()

template<class Master_matrix >
void Gudhi::persistence_matrix::Row_access< Master_matrix >::insert_entry ( ID_index  rowIndex,
Matrix_entry entry 
)
inline

Inserts the given entry at the given row index.

Parameters
rowIndexRow index of the entry.
entryPointer to the entry to insert.

◆ unlink()

template<class Master_matrix >
void Gudhi::persistence_matrix::Row_access< Master_matrix >::unlink ( Matrix_entry entry)
inline

Removes the given entry from its row.

Parameters
entryPointer to the entry to remove.

◆ update_entry()

template<class Master_matrix >
void Gudhi::persistence_matrix::Row_access< Master_matrix >::update_entry ( const Matrix_entry entry)
inline

If PersistenceMatrixOptions::has_intrusive_rows is false, updates the copy of the entry in its row. Otherwise does nothing.

If the rows are intrusive, only a pointer of the entry is stored and therefore any update on the entry (value or column index) is automatically forwarded. But for non intrusive rows, any update has to be pushed explicitly.

Parameters
entryEntry to update.

The documentation for this class was generated from the following file: