template<typename Proxy, typename T>
xmol::proxy::ProxySpan class

Public types

class Iterator

Constructors, destructors, conversion operators

ProxySpan() defaulted
ProxySpan(const future::Span<T>& span) explicit
ProxySpan(T* b, T* e)
ProxySpan(T* b, size_t n)

Public functions

auto size() const -> size_t
auto empty() const -> size_t
auto operator[](size_t i) -> Proxy
auto begin() -> Iterator
auto end() -> Iterator

Protected functions

void rebase(T* from, T* to)
void intersect(const ProxySpan& rhs)
Precondition: rhs and this must point to same allocation.
template<typename Predicate>
auto internal_filter(Predicate&& p) -> std::vector<Proxy>
auto slice_impl(std::optional<size_t> start, std::optional<size_t> stop) -> future::Span<T>
auto slice_impl(std::optional<size_t> start, std::optional<size_t> stop, std::optional<size_t> step) -> std::vector<Proxy>

Protected variables

T* m_begin
T* m_end