Lines Matching refs:SkSpan
26 class SkSpan {
28 constexpr SkSpan() : fPtr{nullptr}, fSize{0} {} in SkSpan() function
29 constexpr SkSpan(T* ptr, size_t size) : fPtr{ptr}, fSize{size} {} in SkSpan() function
31 constexpr SkSpan(const SkSpan<U>& that) : fPtr(that.data()), fSize{that.size()} {} in SkSpan() function
32 constexpr SkSpan(const SkSpan& o) = default;
34 constexpr SkSpan& operator=(const SkSpan& that) {
53 constexpr SkSpan<T> first(size_t prefixLen) const { in first()
55 return SkSpan{fPtr, prefixLen}; in first()
57 constexpr SkSpan<T> last(size_t postfixLen) const { in last()
59 return SkSpan{fPtr + (this->size() - postfixLen), postfixLen}; in last()
61 constexpr SkSpan<T> subspan(size_t offset, size_t count) const { in subspan()
64 return SkSpan{fPtr + offset, count}; in subspan()
72 template <typename T, typename S> inline constexpr SkSpan<T> SkMakeSpan(T* p, S s) { in SkMakeSpan()
73 return SkSpan<T>{p, SkTo<size_t>(s)}; in SkMakeSpan()
76 template <size_t N, typename T> inline constexpr SkSpan<T> SkMakeSpan(T (&a)[N]) { in SkMakeSpan()
77 return SkSpan<T>{a, N}; in SkMakeSpan()
82 -> SkSpan<typename std::remove_reference<decltype(*(c.data()))>::type> {