raiigraph
C++ RAII for igraph data structures
|
Wrapper around igraph_matrix_*_t
objects with RAII behavior.
More...
#include <Matrix.hpp>
Classes | |
class | View |
View into a row/column of the matrix. More... | |
Public Types | |
typedef Ns_::igraph_type | igraph_type |
typedef Ns_::value_type | value_type |
typedef value_type & | reference |
typedef const value_type & | const_reference |
typedef igraph_integer_t | size_type |
typedef igraph_integer_t | difference_type |
typedef value_type * | iterator |
typedef const value_type * | const_iterator |
typedef std::reverse_iterator< iterator > | reverse_iterator |
typedef std::reverse_iterator< const_iterator > | reverse_const_iterator |
typedef Ns_::vector_type | vector_type |
Wrapper around igraph_matrix_*_t
objects with RAII behavior.
Ns_ | Structure-based namespace with static methods, internal use only. |
This class has ownership of the underlying igraph_matrix_*_t
object, handling both its initialization and destruction. Users should only pass instances of this class to igraph functions that accept an already-initialized matrix. Users should not attempt to destroy the matrix manually as this is done automatically when the Matrix
goes out of scope.
typedef const value_type* raiigraph::Matrix< Ns_ >::const_iterator |
Const iterator for the matrix contents.
typedef const value_type& raiigraph::Matrix< Ns_ >::const_reference |
Type of a const reference to values inside the matrix.
typedef igraph_integer_t raiigraph::Matrix< Ns_ >::difference_type |
Integer type for differences in positions within the matrix.
typedef Ns_::igraph_type raiigraph::Matrix< Ns_ >::igraph_type |
Type of the underlying igraph matrix.
typedef value_type* raiigraph::Matrix< Ns_ >::iterator |
Iterator for the matrix contents.
typedef value_type& raiigraph::Matrix< Ns_ >::reference |
Type of the reference to values inside the matrix.
typedef std::reverse_iterator<const_iterator> raiigraph::Matrix< Ns_ >::reverse_const_iterator |
Reverse const iterator for the matrix contents.
typedef std::reverse_iterator<iterator> raiigraph::Matrix< Ns_ >::reverse_iterator |
Reverse iterator for the matrix contents.
typedef igraph_integer_t raiigraph::Matrix< Ns_ >::size_type |
Integer type for the size of the matrix.
typedef Ns_::value_type raiigraph::Matrix< Ns_ >::value_type |
Type of the values inside the matrix.
typedef Ns_::vector_type raiigraph::Matrix< Ns_ >::vector_type |
The raiigraph vector class with the same value_type
as this matrix.
|
inline |
Default constructor, creates an initialized matrix with no rows or columns.
|
inline |
nr | Number of rows in the matrix. |
nc | Number of columns in the matrix. |
val | Value to use to fill the matrix. |
|
inline |
matrix | An initialized matrix to take ownership of. |
other | Matrix to be copy-constructed from. This constructor will make a deep copy. |
other | Matrix to be move-constructed from. This constructor will leave other in a valid but unspecified state. |
|
inline |
Destructor.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Clear this matrix, leaving it with a size of zero.
c | Column of interest. |
|
inline |
c | Column of interest. |
|
inline |
c | Column of interest. |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlineconstexpr |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
r | Row of interest. |
c | Column of interest. |
(r, c)
.
|
inline |
r | Row of interest. |
c | Column of interest. |
(r, c)
.
|
inline |
other | Matrix to be copy-assigned from. This constructor will make a deep copy. |
|
inline |
other | Matrix to be move-assigned from. This constructor will leave other in a valid but unspecified state. |
|
inline |
i | Index on the matrix. |
i
.
|
inline |
i | Index on the matrix. |
i
.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Resize the matrix to the specified number of rows and columns. Existing values are preserved by considering the original and new matrices as 1-dimensional arrays in column-major order; the contents of the original matrix are simply copied into the first size()
entries of the new matrix.
nr | New number of rows. |
nc | New number of columns. |
val | Value to use to fill the new elements, if nr * nc is greater than the current size() . |
r | Row of interest. |
|
inline |
r | Row of interest. |
|
inline |
r | Row of interest. |
|
inline |
Shrink the capacity of the matrix to fit the contents.
|
inline |
Swap two matrixs, maintaining the validity of existing pointers to each matrix and its elements.
other | Matrix to be swapped. |