Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
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 112 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<
, bool>
std::conjunction< std::is_base_of< std::random_access_iterator_tag, typename std::iterator_traits< Iterator >::iterator_category >, is_qualification_conversion< std::remove_reference_t< q20::iter_reference_t< Iterator > >, T > > is_compatible_iterator
Definition qspan.h:115

Definition at line 149 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<
, bool>
std::conjunction< is_compatible_iterator< Iterator >, std::negation< std::is_convertible< End, std::size_t > > > is_compatible_iterator_and_sentinel
Definition qspan.h:127

Definition at line 153 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 157 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:79

Definition at line 115 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<
std::negation<std::is_convertible<End, std::size_t>>
>

Definition at line 127 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>>>,
>

Definition at line 138 of file qspan.h.


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