17 #ifndef PM_CHAIN_PAIRING_H
18 #define PM_CHAIN_PAIRING_H
23 namespace persistence_matrix {
44 template <
class Master_matrix>
83 pairing1.barcode_.swap(pairing2.barcode_);
84 pairing1.indexToBar_.swap(pairing2.indexToBar_);
85 std::swap(pairing1.nextPosition_, pairing2.nextPosition_);
89 using dictionnary_type =
typename Master_matrix::bar_dictionnary_type;
90 using pos_index =
typename Master_matrix::pos_index;
93 dictionnary_type indexToBar_;
94 pos_index nextPosition_;
97 template <
class Master_matrix>
101 template <
class Master_matrix>
103 : barcode_(matrixToCopy.barcode_),
104 indexToBar_(matrixToCopy.indexToBar_),
105 nextPosition_(matrixToCopy.nextPosition_)
108 template <
class Master_matrix>
110 : barcode_(std::move(other.barcode_)),
111 indexToBar_(std::move(other.indexToBar_)),
112 nextPosition_(std::exchange(other.nextPosition_, 0))
115 template <
class Master_matrix>
122 template <
class Master_matrix>
125 barcode_.
swap(other.barcode_);
126 indexToBar_.swap(other.indexToBar_);
127 std::swap(nextPosition_, other.nextPosition_);
Class managing the barcode for Chain_matrix if the option was enabled.
Definition: chain_pairing.h:46
typename Master_matrix::dimension_type dimension_type
Definition: chain_pairing.h:49
friend void swap(Chain_pairing &pairing1, Chain_pairing &pairing2)
Swap operator.
Definition: chain_pairing.h:82
const barcode_type & get_current_barcode() const
Returns the current barcode which is maintained at any insertion, removal or vine swap.
Definition: chain_pairing.h:116
Chain_pairing()
Default constructor.
Definition: chain_pairing.h:98
typename Master_matrix::barcode_type barcode_type
Definition: chain_pairing.h:48
Chain_pairing & operator=(Chain_pairing other)
Assign operator.
Definition: chain_pairing.h:123
Gudhi namespace.
Definition: SimplicialComplexForAlpha.h:14
Empty structure. Inheritated instead of Chain_pairing, when the computation of the barcode was not en...
Definition: chain_pairing.h:32