Argon 0.1.0
|
A SIMD vectorized view of a range of data. More...
#include <load_store.hpp>
Classes | |
struct | ConstIterator |
A const iterator for the vectorized view. More... | |
struct | Iterator |
An iterator for the vectorized view. More... |
Public Types | |
using | intrinsic_type = simd::Vec128_t<ScalarType> |
The SIMD vector type used for vectorization. | |
using | iterator = Iterator |
The iterator type for the vectorized view. | |
using | const_iterator = ConstIterator |
The const iterator type for the vectorized view. |
Public Member Functions | |
load_store (ScalarType *start, ScalarType *end) | |
Constructs a vectorized view from a pointer to the start of the range and the end of the range. | |
load_store (ScalarType *start, const size_t size) | |
Constructs a vectorized view from a pointer to the start of the range and the size of the range. | |
load_store (std::span< ScalarType > span) | |
Constructs a vectorized view from a span. | |
template<std::ranges::contiguous_range R> | |
load_store (R &&r) | |
Constructs a vectorized view from a range. | |
iterator | begin () const |
Returns an iterator to the beginning. | |
ScalarType * | end () const |
Returns an iterator to the end. | |
const_iterator | cbegin () const |
Returns a const iterator to the beginning of the range. | |
const ScalarType * | cend () const |
Returns a const iterator to the end of the range. | |
size_t | size () const |
Get the size of the view. |
Static Public Attributes | |
static constexpr size_t | lanes = sizeof(intrinsic_type) / sizeof(ScalarType) |
The number of lanes in the SIMD vector. |
A SIMD vectorized view of a range of data.
ScalarType | The type of the elements in the range. |
|
inline |
Constructs a vectorized view from a pointer to the start of the range and the end of the range.
start | A pointer to the start of the range. |
end | A pointer to the end of the range. |
|
inline |
Constructs a vectorized view from a pointer to the start of the range and the size of the range.
start | A pointer to the start of the range. |
size | The size of the range. |
|
inline |
Constructs a vectorized view from a span.
span | A span representing the range of data. |
|
inline |
Constructs a vectorized view from a range.
R | The type of the range. |
r | A range representing the range of data. |
|
inline |
Returns an iterator to the beginning.
|
inline |
Returns a const iterator to the beginning of the range.
|
inline |
Returns a const iterator to the end of the range.
|
inline |
Returns an iterator to the end.
|
inline |
Get the size of the view.