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::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 161 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 176 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 188 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>
QSpanPrivate::QSpanBase< T, E >::QSpanBase ( It first,
qsizetype count )
inlineexplicitconstexpr

Definition at line 191 of file qspan.h.

References QSpanBase().

Referenced by QSpanBase().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ 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>
QSpanPrivate::QSpanBase< T, E >::QSpanBase ( It first,
End last )
inlineexplicitconstexpr

Definition at line 198 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 202 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 206 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 210 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 214 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 220 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 225 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 230 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 179 of file qspan.h.

◆ m_size

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

Definition at line 180 of file qspan.h.


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