template<typename Item>
gemmi::Span struct

Public types

using iterator = Item*
using const_iterator = Item const *
using element_type = Item
using value_type = typename std::remove_cv<Item>::type

Constructors, destructors, conversion operators

Span() defaulted
Span(iterator begin, std::size_t n)
Span(const Span<value_type>& o)
operator bool() const explicit

Public functions

void set_begin(iterator begin)
void set_size(std::size_t n)
auto begin() const -> const_iterator
auto end() const -> const_iterator
auto begin() -> iterator
auto end() -> iterator
auto front() -> Item&
auto front() const -> const Item&
auto back() -> Item&
auto back() const -> const Item&
auto operator[](std::size_t i) const -> const Item&
auto operator[](std::size_t i) -> Item&
auto at(std::size_t i) -> Item&
auto at(std::size_t i) const -> const Item&
auto size() const -> std::size_t
auto empty() const -> bool
template<typename Iter>
auto sub(Iter first, Iter last) -> Span<Item>
template<typename F, typename V = Item>
auto subspan(F&& func) -> Span<V>
template<typename F>
auto subspan(F&& func) const -> Span<const value_type>

Public variables

friend Span< const value_type >
friend MutableVectorSpan< value_type >