26#ifndef _H_GRB_BASE_PINNEDVECTOR
27#define _H_GRB_BASE_PINNEDVECTOR
74 template<
typename IOType, enum Backend implementation >
82 static const constexpr bool
83 function_was_not_implemented_in_the_selected_backend =
false;
133 template<
typename Coord >
140 assert( function_was_not_implemented_in_the_selected_backend );
154 assert( function_was_not_implemented_in_the_selected_backend );
167 assert( function_was_not_implemented_in_the_selected_backend );
180 inline size_t size() const noexcept {
181 assert( function_was_not_implemented_in_the_selected_backend );
196 assert( function_was_not_implemented_in_the_selected_backend );
232 template<
typename OutputType >
234 const size_t k,
const OutputType one = OutputType()
237 assert( function_was_not_implemented_in_the_selected_backend );
261 assert( function_was_not_implemented_in_the_selected_backend );
286 assert( function_was_not_implemented_in_the_selected_backend );
287 return std::numeric_limits< size_t >::max();
This file contains a register of all backends that are either implemented, under implementation,...
Provides a mechanism to access ALP containers from outside of an ALP context.
Definition: pinnedvector.hpp:75
PinnedVector(const Vector< IOType, implementation, Coord > &vector, const IOMode mode)
Pins the contents of a given vector.
Definition: pinnedvector.hpp:134
size_t size() const noexcept
Definition: pinnedvector.hpp:180
PinnedVector()
Base constructor for this class.
Definition: pinnedvector.hpp:153
size_t nonzeroes() const noexcept
Definition: pinnedvector.hpp:195
IOType getNonzeroValue(const size_t k) const noexcept
Direct access variation of the general getNonzeroValue function.
Definition: pinnedvector.hpp:256
size_t getNonzeroIndex(const size_t k) const noexcept
Retrieves a nonzero index.
Definition: pinnedvector.hpp:282
~PinnedVector()
Destroys a grb::PinnedVector instance.
Definition: pinnedvector.hpp:166
OutputType getNonzeroValue(const size_t k, const OutputType one=OutputType()) const noexcept
Returns a requested nonzero of the pinned vector.
Definition: pinnedvector.hpp:233
A GraphBLAS vector.
Definition: vector.hpp:64
Defines the various I/O modes a user could employ with ALP data ingestion or extraction.
The ALP/GraphBLAS namespace.
Definition: graphblas.hpp:450
IOMode
The GraphBLAS input and output functionalities can either be used in a sequential or parallel fashion...
Definition: iomode.hpp:67
Specifies the ALP/GraphBLAS vector container.