|  | 
| template<class T , std::size_t X, class U , std::size_t Y> | 
| XGBOOST_DEVICE bool | operator== (Span< T, X > l, Span< U, Y > r) | 
|  | 
| template<class T , std::size_t X, class U , std::size_t Y> | 
| constexpr XGBOOST_DEVICE bool | operator!= (Span< T, X > l, Span< U, Y > r) | 
|  | 
| template<class T , std::size_t X, class U , std::size_t Y> | 
| constexpr XGBOOST_DEVICE bool | operator< (Span< T, X > l, Span< U, Y > r) | 
|  | 
| template<class T , std::size_t X, class U , std::size_t Y> | 
| constexpr XGBOOST_DEVICE bool | operator<= (Span< T, X > l, Span< U, Y > r) | 
|  | 
| template<class T , std::size_t X, class U , std::size_t Y> | 
| constexpr XGBOOST_DEVICE bool | operator> (Span< T, X > l, Span< U, Y > r) | 
|  | 
| template<class T , std::size_t X, class U , std::size_t Y> | 
| constexpr XGBOOST_DEVICE bool | operator>= (Span< T, X > l, Span< U, Y > r) | 
|  | 
| template<class T , std::size_t E> | 
| XGBOOST_DEVICE auto | as_bytes (Span< T, E > s) __span_noexcept -> Span< const byte, detail::ExtentAsBytesValue< T, E >::value > | 
|  | 
| template<class T , std::size_t E> | 
| XGBOOST_DEVICE auto | as_writable_bytes (Span< T, E > s) __span_noexcept -> Span< byte, detail::ExtentAsBytesValue< T, E >::value > | 
|  | 
| template<typename T > | 
|  | Span (std::vector< T > const &) -> Span< T const > | 
|  | 
| template<typename T > | 
|  | Span (std::vector< T > &) -> Span< T > | 
|  |