cuSBF
Loading...
Searching...
No Matches
device_span.cuh
Go to the documentation of this file.
1#pragma once
2
3#include <cuda/std/span>
4
5#include <cstddef>
6
7namespace cusbf {
8
18template <typename T>
19struct device_span : cuda::std::span<T> {
20 using cuda::std::span<T>::span;
21
24 template <typename U>
25 requires std::is_convertible_v<U (*)[], T (*)[]>
26 constexpr explicit device_span(device_span<U> other) noexcept
27 : cuda::std::span<T>(other.data(), other.size()) {
28 }
29};
30
31} // namespace cusbf
A span that is assumed to point to device-accessible memory.
constexpr device_span(device_span< U > other) noexcept
Implicit widening from device_span<U> where U* converts to T* (e.g.