This reference describes unreleased code on main; no release documents it yet.

rlmesh::Span

classExperimental#include <rlmesh.hpp>[source]

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 Span

element_type

type alias[source]
using element_type = T

value_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 = default

Span<T>

constructor[source]
constexpr Span(T* data, size_t size) noexcept

Span<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 noexcept

size

method[source]
constexpr size_t size() const noexcept

empty

method[source]
constexpr bool empty() const noexcept

begin

method[source]
constexpr iterator begin() const noexcept

end

method[source]
constexpr iterator end() const noexcept

operator[]

operator[source]
constexpr T& operator[](size_t index) const noexcept