xgboost
Public Types | Public Member Functions | List of all members
xgboost::common::IterSpan< It > Class Template Reference

A simple custom Span type that uses general iterator instead of pointer. More...

#include <span.h>

Collaboration diagram for xgboost::common::IterSpan< It >:
Collaboration graph

Public Types

using value_type = typename std::iterator_traits< It >::value_type
 
using index_type = std::size_t
 
using iterator = It
 

Public Member Functions

 IterSpan ()=default
 
XGBOOST_DEVICE IterSpan (It it, index_type size)
 
XGBOOST_DEVICE IterSpan (common::Span< It, dynamic_extent > span)
 
XGBOOST_DEVICE index_type size () const noexcept
 
decltype(auto) XGBOOST_DEVICE operator[] (index_type i) const
 
decltype(auto) XGBOOST_DEVICE operator[] (index_type i)
 
XGBOOST_DEVICE bool empty () const noexcept
 
XGBOOST_DEVICE It data () const noexcept
 
XGBOOST_DEVICE IterSpan< It > subspan (index_type _offset, index_type _count=dynamic_extent) const
 
constexpr XGBOOST_DEVICE iterator begin () const noexcept
 
constexpr XGBOOST_DEVICE iterator end () const noexcept
 

Detailed Description

template<typename It>
class xgboost::common::IterSpan< It >

A simple custom Span type that uses general iterator instead of pointer.

Member Typedef Documentation

◆ index_type

template<typename It >
using xgboost::common::IterSpan< It >::index_type = std::size_t

◆ iterator

template<typename It >
using xgboost::common::IterSpan< It >::iterator = It

◆ value_type

template<typename It >
using xgboost::common::IterSpan< It >::value_type = typename std::iterator_traits<It>::value_type

Constructor & Destructor Documentation

◆ IterSpan() [1/3]

template<typename It >
xgboost::common::IterSpan< It >::IterSpan ( )
default

◆ IterSpan() [2/3]

template<typename It >
XGBOOST_DEVICE xgboost::common::IterSpan< It >::IterSpan ( It  it,
index_type  size 
)
inline

◆ IterSpan() [3/3]

template<typename It >
XGBOOST_DEVICE xgboost::common::IterSpan< It >::IterSpan ( common::Span< It, dynamic_extent span)
inlineexplicit

Member Function Documentation

◆ begin()

template<typename It >
constexpr XGBOOST_DEVICE iterator xgboost::common::IterSpan< It >::begin ( ) const
inlineconstexprnoexcept

◆ data()

template<typename It >
XGBOOST_DEVICE It xgboost::common::IterSpan< It >::data ( ) const
inlinenoexcept

◆ empty()

template<typename It >
XGBOOST_DEVICE bool xgboost::common::IterSpan< It >::empty ( ) const
inlinenoexcept

◆ end()

template<typename It >
constexpr XGBOOST_DEVICE iterator xgboost::common::IterSpan< It >::end ( ) const
inlineconstexprnoexcept

◆ operator[]() [1/2]

template<typename It >
decltype(auto) XGBOOST_DEVICE xgboost::common::IterSpan< It >::operator[] ( index_type  i)
inline

◆ operator[]() [2/2]

template<typename It >
decltype(auto) XGBOOST_DEVICE xgboost::common::IterSpan< It >::operator[] ( index_type  i) const
inline

◆ size()

template<typename It >
XGBOOST_DEVICE index_type xgboost::common::IterSpan< It >::size ( ) const
inlinenoexcept

◆ subspan()

template<typename It >
XGBOOST_DEVICE IterSpan<It> xgboost::common::IterSpan< It >::subspan ( index_type  _offset,
index_type  _count = dynamic_extent 
) const
inline

The documentation for this class was generated from the following file: