Lines Matching refs:Span
30 class Span {
42 Span() = default;
43 Span(Iterator data, size_t size) : data_(data), size_(size) {}
44 constexpr Span(const Span &other) noexcept = default;
45 Span(Span &&other) noexcept = default;
46 ~Span() = default;
51 constexpr Span(U (&array)[N]) : Span(array, N)
55 Span(Iterator begin, Iterator end) : Span(begin, end - begin) {}
58 explicit Span(Vector &v) : Span(v.data(), v.size())
63 explicit Span(const Vector &v) : Span(v.data(), v.size())
67 constexpr Span &operator=(const Span &other) noexcept = default;
68 Span &operator=(Span &&other) noexcept = default;
166 Span First(size_t length) const
172 Span Last(size_t length) const
178 Span SubSpan(size_t position, size_t length) const
181 return Span(data_ + position, length); // NOLINT(cppcoreguidelines-pro-bounds-pointer-arithmetic)
184 Span SubSpan(size_t position) const
188 return Span(data_ + position, size_ - position);
192 Span<SubT> SubSpan(size_t position, size_t length) const
197 return Span<SubT>(reinterpret_cast<SubT *>(data_ + position), length);
202 return Span<const std::remove_const_t<T>>(data_, size_);
228 return MEMBER_OFFSET(Span<T>, data_);
232 return MEMBER_OFFSET(Span<T>, size_);
242 Span(U (&)[N])->Span<U>; // NOLINT(modernize-avoid-c-arrays)
245 Span(Vector &)->Span<typename Vector::value_type>;
248 Span(const Vector &)->Span<const typename Vector::value_type>;
252 Span<const std::byte> AsBytes(Span<T> s) noexcept
257 Span<std::byte> AsWritableBytes(Span<T> s) noexcept