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::QSpanBase< T, E > Class Template Reference

#include <qspan.h>

+ Inheritance diagram for QSpanPrivate::QSpanBase< T, E >:
+ Collaboration diagram for QSpanPrivate::QSpanBase< T, E >:

Public Member Functions

template<std::size_t E2 = E, std::enable_if_t< E2==0, bool > = true>
Q_IMPLICIT constexpr QSpanBase () noexcept
 
template<typename It , typename Base::template if_compatible_iterator< It > = true>
constexpr QSpanBase (It first, qsizetype count)
 
template<typename It , typename End , typename Base::template if_compatible_iterator_and_sentinel< It, End > = true>
constexpr QSpanBase (It first, End last)
 
template<size_t N, std::enable_if_t< N==E, bool > = true>
Q_IMPLICIT constexpr QSpanBase (q20::type_identity_t< T >(&arr)[N]) noexcept
 
template<typename S , size_t N, if_compatible_array< S, N > = true>
Q_IMPLICIT constexpr QSpanBase (std::array< S, N > &arr) noexcept
 
template<typename S , size_t N, if_compatible_array< S, N > = true>
Q_IMPLICIT constexpr QSpanBase (const std::array< S, N > &arr) noexcept
 
template<typename Range , typename Base::template if_compatible_range< Range > = true>
Q_IMPLICIT constexpr QSpanBase (Range &&r)
 
template<typename S , if_qualification_conversion< S > = true>
Q_IMPLICIT constexpr QSpanBase (QSpan< S, E > other) noexcept
 
template<typename S , if_qualification_conversion< S > = true>
Q_IMPLICIT constexpr QSpanBase (QSpan< S > other)
 
template<typename U = T, std::enable_if_t< std::is_const_v< U >, bool > = true>
Q_IMPLICIT constexpr QSpanBase (std::initializer_list< std::remove_cv_t< T > > il)
 

Protected Types

using Base = QSpanCommon<T>
 
- Protected Types inherited from QSpanPrivate::QSpanCommon< T >
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>
 

Protected Attributes

T * m_data
 

Static Protected Attributes

static constexpr qsizetype m_size = qsizetype(E)
 

Detailed Description

template<typename T, std::size_t E>
class QSpanPrivate::QSpanBase< T, E >

Definition at line 157 of file qspan.h.

Member Typedef Documentation

◆ Base

template<typename T , std::size_t E>
using QSpanPrivate::QSpanBase< T, E >::Base = QSpanCommon<T>
protected

Definition at line 175 of file qspan.h.

Constructor & Destructor Documentation

◆ QSpanBase() [1/10]

template<typename T , std::size_t E>
template<std::size_t E2 = E, std::enable_if_t< E2==0, bool > = true>
Q_IMPLICIT constexpr QSpanPrivate::QSpanBase< T, E >::QSpanBase ( )
inlineconstexprnoexcept

Definition at line 187 of file qspan.h.

◆ QSpanBase() [2/10]

template<typename T , std::size_t E>
template<typename It , typename Base::template if_compatible_iterator< It > = true>
constexpr QSpanPrivate::QSpanBase< T, E >::QSpanBase ( It first,
qsizetype count )
inlineexplicitconstexpr

Definition at line 190 of file qspan.h.

References QSpanPrivate::QSpanBase< T, E >::m_size, and Q_ASSERT.

◆ QSpanBase() [3/10]

template<typename T , std::size_t E>
template<typename It , typename End , typename Base::template if_compatible_iterator_and_sentinel< It, End > = true>
constexpr QSpanPrivate::QSpanBase< T, E >::QSpanBase ( It first,
End last )
inlineexplicitconstexpr

Definition at line 197 of file qspan.h.

◆ QSpanBase() [4/10]

template<typename T , std::size_t E>
template<size_t N, std::enable_if_t< N==E, bool > = true>
Q_IMPLICIT constexpr QSpanPrivate::QSpanBase< T, E >::QSpanBase ( q20::type_identity_t< T >(&) arr[N])
inlineconstexprnoexcept

Definition at line 201 of file qspan.h.

◆ QSpanBase() [5/10]

template<typename T , std::size_t E>
template<typename S , size_t N, if_compatible_array< S, N > = true>
Q_IMPLICIT constexpr QSpanPrivate::QSpanBase< T, E >::QSpanBase ( std::array< S, N > & arr)
inlineconstexprnoexcept

Definition at line 205 of file qspan.h.

◆ QSpanBase() [6/10]

template<typename T , std::size_t E>
template<typename S , size_t N, if_compatible_array< S, N > = true>
Q_IMPLICIT constexpr QSpanPrivate::QSpanBase< T, E >::QSpanBase ( const std::array< S, N > & arr)
inlineconstexprnoexcept

Definition at line 209 of file qspan.h.

◆ QSpanBase() [7/10]

template<typename T , std::size_t E>
template<typename Range , typename Base::template if_compatible_range< Range > = true>
Q_IMPLICIT constexpr QSpanPrivate::QSpanBase< T, E >::QSpanBase ( Range && r)
inlineconstexpr

Definition at line 213 of file qspan.h.

◆ QSpanBase() [8/10]

template<typename T , std::size_t E>
template<typename S , if_qualification_conversion< S > = true>
Q_IMPLICIT constexpr QSpanPrivate::QSpanBase< T, E >::QSpanBase ( QSpan< S, E > other)
inlineconstexprnoexcept

Definition at line 219 of file qspan.h.

◆ QSpanBase() [9/10]

template<typename T , std::size_t E>
template<typename S , if_qualification_conversion< S > = true>
Q_IMPLICIT constexpr QSpanPrivate::QSpanBase< T, E >::QSpanBase ( QSpan< S > other)
inlineconstexpr

Definition at line 224 of file qspan.h.

◆ QSpanBase() [10/10]

template<typename T , std::size_t E>
template<typename U = T, std::enable_if_t< std::is_const_v< U >, bool > = true>
Q_IMPLICIT constexpr QSpanPrivate::QSpanBase< T, E >::QSpanBase ( std::initializer_list< std::remove_cv_t< T > > il)
inlineconstexpr

Definition at line 229 of file qspan.h.

Member Data Documentation

◆ m_data

template<typename T , std::size_t E>
T* QSpanPrivate::QSpanBase< T, E >::m_data
protected

Definition at line 178 of file qspan.h.

Referenced by QSpan< T, E >::data().

◆ m_size

template<typename T , std::size_t E>
constexpr qsizetype QSpanPrivate::QSpanBase< T, E >::m_size = qsizetype(E)
staticconstexprprotected

Definition at line 179 of file qspan.h.

Referenced by QSpanPrivate::QSpanBase< T, E >::QSpanBase(), and QSpan< T, E >::size().


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