rlmesh::Span
A borrowed contiguous view. The caller keeps the underlying storage alive. This type has the same representation in C++17 and C++20.
template <class T> class SpanTypes
Constructors
Methods
- Span<T>()
template <class U, std::enable_if_t<std::is_convertible_v<U (*)[], T (*)[]>, int> = 0> constexpr Span(Span<U> view) noexcept : data_(view.data()), size_(view.size()) - Span<T>()
template <class R, std::enable_if_t<!detail::IsSpan<std::remove_cv_t<std::remove_reference_t<R>>>::value && std::is_convertible_v<decltype(std::data(std::declval<R&>())), T*>, int> = 0, class = decltype(std::size(std::declval<R&>()))> constexpr Span(R&& values) noexcept(noexcept(std::data(values)) && noexcept(std::size(values))) : data_(std::data(values)), size_(std::size(values)) - data()
constexpr T* data() const noexcept - size()
constexpr size_t size() const noexcept - empty()
constexpr bool empty() const noexcept - begin()
constexpr iterator begin() const noexcept - end()
constexpr iterator end() const noexcept
Operators
element_type
type alias[source]using element_type = Tvalue_type
type alias[source]using value_type = std::remove_cv_t<T>iterator
type alias[source]using iterator = T*Span<T>
constructor[source]constexpr Span() noexcept = defaultSpan<T>
constructor[source]constexpr Span(T* data, size_t size) noexceptSpan<T>
method[source]template <class U, std::enable_if_t<std::is_convertible_v<U (*)[], T (*)[]>, int> = 0> constexpr Span(
Span<U> view
) noexcept : data_(view.data()), size_(view.size())Span<T>
method[source]template <class R, std::enable_if_t<!detail::IsSpan<std::remove_cv_t<std::remove_reference_t<R>>>::value && std::is_convertible_v<decltype(std::data(std::declval<R&>())), T*>, int> = 0, class = decltype(std::size(std::declval<R&>()))> constexpr Span(
R&& values
) noexcept(noexcept(std::data(values)) && noexcept(std::size(values))) : data_(std::data(values)), size_(std::size(values))data
method[source]constexpr T* data() const noexceptsize
method[source]constexpr size_t size() const noexceptempty
method[source]constexpr bool empty() const noexceptbegin
method[source]constexpr iterator begin() const noexceptend
method[source]constexpr iterator end() const noexceptoperator[]
operator[source]constexpr T& operator[](size_t index) const noexcept