18#ifndef PM_COLUMN_DIM_HOLDER_H 
   19#define PM_COLUMN_DIM_HOLDER_H 
   24namespace persistence_matrix {
 
   35  template <
typename Dimension>
 
   49template <
class Master_matrix>
 
   52  using Dimension = 
typename Master_matrix::Dimension;  
 
   59      : dim_(Master_matrix::Option_list::is_of_boundary_type ? 0
 
   60                                                             : Master_matrix::template get_null_value<
Dimension>()) {}
 
   79      : dim_(
std::exchange(col.dim_, Master_matrix::template get_null_value<
Dimension>())) {}
 
Gudhi namespace.
Definition: SimplicialComplexForAlpha.h:14
 
Class managing the dimension access of a column.
Definition: column_dimension_holder.h:51
 
Column_dimension_holder & operator=(const Column_dimension_holder &other)
Assign operator.
Definition: column_dimension_holder.h:91
 
typename Master_matrix::Dimension Dimension
Definition: column_dimension_holder.h:52
 
friend void swap(Column_dimension_holder &col1, Column_dimension_holder &col2)
Swap operator.
Definition: column_dimension_holder.h:98
 
Column_dimension_holder(const Column_dimension_holder &col)
Copy constructor.
Definition: column_dimension_holder.h:72
 
Column_dimension_holder(Column_dimension_holder &&col)
Move constructor.
Definition: column_dimension_holder.h:78
 
Column_dimension_holder()
Default constructor. Sets the dimension to 0 for boundary matrices and to null index for chain matric...
Definition: column_dimension_holder.h:58
 
Dimension get_dimension() const
Returns the dimension of the column.
Definition: column_dimension_holder.h:86
 
Column_dimension_holder(Dimension dim)
Constructor setting the dimension to the given value.
Definition: column_dimension_holder.h:66
 
Empty structure. Inherited instead of Column_dimension_holder, when the columns are not storing a dim...
Definition: column_dimension_holder.h:33