xgboost
公共类型 | 公共成员函数 | 公共属性 | 保护属性 | 友元 | 所有成员列表
xgboost::common::detail::SpanIterator< SpanType, IsConst > 类模板参考

#include <span.h>

xgboost::common::detail::SpanIterator< SpanType, IsConst > 的协作图
Collaboration graph

公共类型

using iterator_category = std::random_access_iterator_tag
 
using value_type = typename SpanType::value_type
 
using difference_type = detail::ptrdiff_t
 
using reference = typename std::conditional< IsConst, const ElementType, ElementType >::type &
 
using pointer = typename std::add_pointer< reference >::type
 

公共成员函数

constexpr SpanIterator ()=default
 
constexpr XGBOOST_DEVICE SpanIterator (const SpanType *_span, typename SpanType::index_type _idx) __span_noexcept
 
template<bool B, typename std::enable_if_t<!B &&IsConst > * = nullptr>
constexpr XGBOOST_DEVICE SpanIterator (const SpanIterator< SpanType, B > &other_) __span_noexcept
 
XGBOOST_DEVICE reference operator* () const
 
XGBOOST_DEVICE reference operator[] (difference_type n) const
 
XGBOOST_DEVICE pointer operator-> () const
 
XGBOOST_DEVICE SpanIteratoroperator++ ()
 
XGBOOST_DEVICE SpanIterator operator++ (int)
 
XGBOOST_DEVICE SpanIteratoroperator-- ()
 
XGBOOST_DEVICE SpanIterator operator-- (int)
 
XGBOOST_DEVICE SpanIterator operator+ (difference_type n) const
 
XGBOOST_DEVICE SpanIteratoroperator+= (difference_type n)
 
XGBOOST_DEVICE difference_type operator- (SpanIterator rhs) const
 
XGBOOST_DEVICE SpanIterator operator- (difference_type n) const
 
XGBOOST_DEVICE SpanIteratoroperator-= (difference_type n)
 

公共属性

friend SpanIterator< SpanType, true >
 

保护属性

const SpanType * span_ { nullptr }
 
SpanType::index_type index_ { 0 }
 

友元

constexpr XGBOOST_DEVICE friend bool operator== (SpanIterator _lhs, SpanIterator _rhs) __span_noexcept
 
constexpr XGBOOST_DEVICE friend bool operator!= (SpanIterator _lhs, SpanIterator _rhs) __span_noexcept
 
constexpr XGBOOST_DEVICE friend bool operator< (SpanIterator _lhs, SpanIterator _rhs) __span_noexcept
 
constexpr XGBOOST_DEVICE friend bool operator<= (SpanIterator _lhs, SpanIterator _rhs) __span_noexcept
 
constexpr XGBOOST_DEVICE friend bool operator> (SpanIterator _lhs, SpanIterator _rhs) __span_noexcept
 
constexpr XGBOOST_DEVICE friend bool operator>= (SpanIterator _lhs, SpanIterator _rhs) __span_noexcept
 

成员类型定义文档

◆ difference_type

template<typename SpanType , bool IsConst>
using xgboost::common::detail::SpanIterator< SpanType, IsConst >::difference_type = detail::ptrdiff_t

◆ iterator_category

template<typename SpanType , bool IsConst>
using xgboost::common::detail::SpanIterator< SpanType, IsConst >::iterator_category = std::random_access_iterator_tag

◆ pointer

template<typename SpanType , bool IsConst>
using xgboost::common::detail::SpanIterator< SpanType, IsConst >::pointer = typename std::add_pointer<reference>::type

◆ reference

template<typename SpanType , bool IsConst>
using xgboost::common::detail::SpanIterator< SpanType, IsConst >::reference = typename std::conditional< IsConst, const ElementType, ElementType>::type&

◆ value_type

template<typename SpanType , bool IsConst>
using xgboost::common::detail::SpanIterator< SpanType, IsConst >::value_type = typename SpanType::value_type

构造函数 & 析构函数文档

◆ SpanIterator() [1/3]

template<typename SpanType , bool IsConst>
constexpr xgboost::common::detail::SpanIterator< SpanType, IsConst >::SpanIterator ( )
constexprdefault

◆ SpanIterator() [2/3]

template<typename SpanType , bool IsConst>
constexpr XGBOOST_DEVICE xgboost::common::detail::SpanIterator< SpanType, IsConst >::SpanIterator ( const SpanType *  _span,
typename SpanType::index_type  _idx 
)
inlineconstexpr

◆ SpanIterator() [3/3]

template<typename SpanType , bool IsConst>
template<bool B, typename std::enable_if_t<!B &&IsConst > * = nullptr>
constexpr XGBOOST_DEVICE xgboost::common::detail::SpanIterator< SpanType, IsConst >::SpanIterator ( const SpanIterator< SpanType, B > &  other_)
inlineconstexpr

成员函数文档

◆ operator*()

template<typename SpanType , bool IsConst>
XGBOOST_DEVICE reference xgboost::common::detail::SpanIterator< SpanType, IsConst >::operator* ( ) const
inline

◆ operator+()

template<typename SpanType , bool IsConst>
XGBOOST_DEVICE SpanIterator xgboost::common::detail::SpanIterator< SpanType, IsConst >::operator+ ( difference_type  n) const
inline

◆ operator++() [1/2]

template<typename SpanType , bool IsConst>
XGBOOST_DEVICE SpanIterator& xgboost::common::detail::SpanIterator< SpanType, IsConst >::operator++ ( )
inline

◆ operator++() [2/2]

template<typename SpanType , bool IsConst>
XGBOOST_DEVICE SpanIterator xgboost::common::detail::SpanIterator< SpanType, IsConst >::operator++ ( int  )
inline

◆ operator+=()

template<typename SpanType , bool IsConst>
XGBOOST_DEVICE SpanIterator& xgboost::common::detail::SpanIterator< SpanType, IsConst >::operator+= ( difference_type  n)
inline

◆ operator-() [1/2]

template<typename SpanType , bool IsConst>
XGBOOST_DEVICE SpanIterator xgboost::common::detail::SpanIterator< SpanType, IsConst >::operator- ( difference_type  n) const
inline

◆ operator-() [2/2]

template<typename SpanType , bool IsConst>
XGBOOST_DEVICE difference_type xgboost::common::detail::SpanIterator< SpanType, IsConst >::operator- ( SpanIterator< SpanType, IsConst >  rhs) const
inline

◆ operator--() [1/2]

template<typename SpanType , bool IsConst>
XGBOOST_DEVICE SpanIterator& xgboost::common::detail::SpanIterator< SpanType, IsConst >::operator-- ( )
inline

◆ operator--() [2/2]

template<typename SpanType , bool IsConst>
XGBOOST_DEVICE SpanIterator xgboost::common::detail::SpanIterator< SpanType, IsConst >::operator-- ( int  )
inline

◆ operator-=()

template<typename SpanType , bool IsConst>
XGBOOST_DEVICE SpanIterator& xgboost::common::detail::SpanIterator< SpanType, IsConst >::operator-= ( difference_type  n)
inline

◆ operator->()

template<typename SpanType , bool IsConst>
XGBOOST_DEVICE pointer xgboost::common::detail::SpanIterator< SpanType, IsConst >::operator-> ( ) const
inline

◆ operator[]()

template<typename SpanType , bool IsConst>
XGBOOST_DEVICE reference xgboost::common::detail::SpanIterator< SpanType, IsConst >::operator[] ( difference_type  n) const
inline

友元和相关函数文档

◆ operator!=

template<typename SpanType , bool IsConst>
constexpr XGBOOST_DEVICE friend bool operator!= ( SpanIterator< SpanType, IsConst >  _lhs,
SpanIterator< SpanType, IsConst >  _rhs 
)
friend

◆ operator<

template<typename SpanType , bool IsConst>
constexpr XGBOOST_DEVICE friend bool operator< ( SpanIterator< SpanType, IsConst >  _lhs,
SpanIterator< SpanType, IsConst >  _rhs 
)
friend

◆ operator<=

template<typename SpanType , bool IsConst>
constexpr XGBOOST_DEVICE friend bool operator<= ( SpanIterator< SpanType, IsConst >  _lhs,
SpanIterator< SpanType, IsConst >  _rhs 
)
friend

◆ operator==

template<typename SpanType , bool IsConst>
constexpr XGBOOST_DEVICE friend bool operator== ( SpanIterator< SpanType, IsConst >  _lhs,
SpanIterator< SpanType, IsConst >  _rhs 
)
friend

◆ 

template<typename SpanType , bool IsConst>
constexpr XGBOOST_DEVICE friend bool operator> ( SpanIterator< SpanType, IsConst >  _lhs,
SpanIterator< SpanType, IsConst >  _rhs 
)
friend

◆ operator>=

template<typename SpanType , bool IsConst>
constexpr XGBOOST_DEVICE friend bool operator>= ( SpanIterator< SpanType, IsConst >  _lhs,
SpanIterator< SpanType, IsConst >  _rhs 
)
friend

成员数据文档

◆ index_

template<typename SpanType , bool IsConst>
SpanType::index_type xgboost::common::detail::SpanIterator< SpanType, IsConst >::index_ { 0 }
protected

◆ span_

template<typename SpanType , bool IsConst>
const SpanType* xgboost::common::detail::SpanIterator< SpanType, IsConst >::span_ { nullptr }
protected

◆ SpanIterator< SpanType, true >

template<typename SpanType , bool IsConst>
friend xgboost::common::detail::SpanIterator< SpanType, IsConst >::SpanIterator< SpanType, true >

此类的文档由以下文件生成