Lines Matching defs:Span
25 template <class T> struct Span { struct
26 Span() : begin_(nullptr), end_(nullptr) {} in Span() function
27 template <size_t N> Span(T (&a)[N]) : begin_(&a[0]), end_(&a[N]) {} in Span() function
28 template <class I> Span(I begin, I end) : begin_(&*begin), end_(&*end) {} in Span() argument
29 template <class I> Span(I begin, size_t size) : begin_(&*begin), end_(&begin[size]) {} in Span() argument
31 T* data() { return begin_; } in data()
32 const T* data() const { return begin_; } in data()
33 T* begin() { return begin_; } in begin()
34 T* end() { return end_; } in end()
35 const T* begin() const { return begin_; } in begin()
36 const T* end() const { return end_; } in end()
37 size_t size() const { return end_ - begin_; } in size()
43 T* end_;