27#ifndef _H_GRB_MATRIX_BASE
28#define _H_GRB_MATRIX_BASE
66 typename D,
enum Backend implementation,
78 RowIndexType, ColIndexType, NonzeroIndexType
117 std::forward_iterator_tag,
118 std::pair< std::pair< const size_t, const size_t >, const D >,
156 return std::pair< const size_t, const D >();
205 Matrix(
const size_t rows,
const size_t columns,
const size_t nz ) {
226 Matrix(
const size_t rows,
const size_t columns ) {
263 RowIndexType, ColIndexType, NonzeroIndexType
304 *
this = std::move( other );
This file contains a register of all backends that are either implemented, under implementation,...
A standard iterator for an ALP/GraphBLAS matrix.
Definition: matrix.hpp:120
bool operator!=(const const_iterator &other) const
Definition: matrix.hpp:138
std::pair< const size_t, const D > operator*() const
Dereferences the current position of this iterator.
Definition: matrix.hpp:155
bool operator==(const const_iterator &other) const
Standard equals operator.
Definition: matrix.hpp:130
const_iterator & operator++()
Advances the position of this iterator by one.
Definition: matrix.hpp:172
An ALP/GraphBLAS matrix.
Definition: matrix.hpp:71
self_type & operator=(self_type &&other) noexcept
Move-assignment.
Definition: matrix.hpp:303
Matrix(const size_t rows, const size_t columns)
ALP/GraphBLAS matrix constructor that sets a default initial capacity.
Definition: matrix.hpp:226
~Matrix()
Matrix destructor.
Definition: matrix.hpp:321
D value_type
The value type of elements stored in this matrix.
Definition: matrix.hpp:179
const_iterator begin() const
Same as cbegin().
Definition: matrix.hpp:358
const_iterator cbegin() const
Provides the only mechanism to extract data from a GraphBLAS matrix.
Definition: matrix.hpp:349
Matrix(const Matrix< D, implementation, RowIndexType, ColIndexType, NonzeroIndexType > &other)
Copy constructor.
Definition: matrix.hpp:260
Matrix< D, implementation, RowIndexType, ColIndexType, NonzeroIndexType > self_type
The type of this container.
Definition: matrix.hpp:79
const_iterator cend() const
Indicates the end to the elements in this container.
Definition: matrix.hpp:380
Matrix(self_type &&other)
Move constructor.
Definition: matrix.hpp:283
const_iterator end() const
Same as cend().
Definition: matrix.hpp:389
Matrix(const size_t rows, const size_t columns, const size_t nz)
ALP/GraphBLAS matrix constructor that sets an initial capacity.
Definition: matrix.hpp:205
Defines all ALP/GraphBLAS descriptors.
Backend
A collection of all backends.
Definition: backends.hpp:46
unsigned int ColIndexType
What data type should be used to store column indices.
Definition: base/config.hpp:384
unsigned int RowIndexType
What data type should be used to store row indices.
Definition: base/config.hpp:371
size_t NonzeroIndexType
What data type should be used to refer to an array containing nonzeroes.
Definition: base/config.hpp:397
The ALP/GraphBLAS namespace.
Definition: graphblas.hpp:450
Provides a set of standard binary operators.
Defines the ALP error codes.