Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
QSpanPrivate::QSpanCommon< T > Class Template Reference

#include <qspan.h>

+ Inheritance diagram for QSpanPrivate::QSpanCommon< T >:
+ Collaboration diagram for QSpanPrivate::QSpanCommon< T >:

Classes

struct  is_compatible_range_helper
 
struct  is_compatible_range_helper< Range, std::void_t< QSpanPrivate::iterator_t< Range > > >
 

Protected Types

template<typename Iterator >
using is_compatible_iterator
 
template<typename Iterator , typename End >
using is_compatible_iterator_and_sentinel
 
template<typename Range >
using is_compatible_range
 
template<typename Iterator >
using if_compatible_iterator
 
template<typename Iterator , typename End >
using if_compatible_iterator_and_sentinel
 
template<typename Range >
using if_compatible_range = std::enable_if_t<is_compatible_range<Range>::value, bool>
 

Detailed Description

template<typename T>
class QSpanPrivate::QSpanCommon< T >

Definition at line 108 of file qspan.h.

Member Typedef Documentation

◆ if_compatible_iterator

template<typename T >
template<typename Iterator >
using QSpanPrivate::QSpanCommon< T >::if_compatible_iterator
protected
Initial value:
std::enable_if_t<
is_compatible_iterator<Iterator>::value
, bool>

Definition at line 145 of file qspan.h.

◆ if_compatible_iterator_and_sentinel

template<typename T >
template<typename Iterator , typename End >
using QSpanPrivate::QSpanCommon< T >::if_compatible_iterator_and_sentinel
protected
Initial value:
std::enable_if_t<
is_compatible_iterator_and_sentinel<Iterator, End>::value
, bool>

Definition at line 149 of file qspan.h.

◆ if_compatible_range

template<typename T >
template<typename Range >
using QSpanPrivate::QSpanCommon< T >::if_compatible_range = std::enable_if_t<is_compatible_range<Range>::value, bool>
protected

Definition at line 153 of file qspan.h.

◆ is_compatible_iterator

template<typename T >
template<typename Iterator >
using QSpanPrivate::QSpanCommon< T >::is_compatible_iterator
protected
Initial value:
std::conjunction<
std::is_base_of<
std::random_access_iterator_tag,
typename std::iterator_traits<Iterator>::iterator_category
>,
std::remove_reference_t<q20::iter_reference_t<Iterator>>,
T
>
>
std::is_convertible< From(*)[], To(*)[]> is_qualification_conversion
Definition qspan.h:75

Definition at line 111 of file qspan.h.

◆ is_compatible_iterator_and_sentinel

template<typename T >
template<typename Iterator , typename End >
using QSpanPrivate::QSpanCommon< T >::is_compatible_iterator_and_sentinel
protected
Initial value:
std::conjunction<
is_compatible_iterator<Iterator>,
std::negation<std::is_convertible<End, std::size_t>>
>

Definition at line 123 of file qspan.h.

◆ is_compatible_range

template<typename T >
template<typename Range >
using QSpanPrivate::QSpanCommon< T >::is_compatible_range
protected
Initial value:
std::conjunction<
std::negation<is_qspan<Range>>,
std::negation<is_std_span<Range>>,
std::negation<is_std_array<Range>>,
std::negation<std::is_array<q20::remove_cvref_t<Range>>>,
is_compatible_range_helper<Range>
>

Definition at line 134 of file qspan.h.


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