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

#include <qspan.h>

+ Inheritance diagram for QSpan< T, E >:
+ Collaboration diagram for QSpan< T, E >:

Public Types

using value_type = std::remove_cv_t<T>
 
using size_type = qsizetype
 
using difference_type = qptrdiff
 
using pointer = T*
 
using const_pointer = const T*
 
using reference = T&
 
using const_reference = const T&
 
using iterator = pointer
 
using const_iterator = const_pointer
 
using reverse_iterator = std::reverse_iterator<iterator>
 
using const_reverse_iterator = std::reverse_iterator<const_iterator>
 

Public Member Functions

constexpr size_type size () const noexcept
 
constexpr size_type size_bytes () const noexcept
 
constexpr bool empty () const noexcept
 
constexpr reference operator[] (size_type idx) const
 
constexpr reference front () const
 
constexpr reference back () const
 
constexpr pointer data () const noexcept
 
constexpr iterator begin () const noexcept
 
constexpr iterator end () const noexcept
 
constexpr const_iterator cbegin () const noexcept
 
constexpr const_iterator cend () const noexcept
 
constexpr reverse_iterator rbegin () const noexcept
 
constexpr reverse_iterator rend () const noexcept
 
constexpr const_reverse_iterator crbegin () const noexcept
 
constexpr const_reverse_iterator crend () const noexcept
 
template<std::size_t Count>
constexpr QSpan< T, Count > first () const noexcept(subspan_always_succeeds_v< Count >)
 
template<std::size_t Count>
constexpr QSpan< T, Count > last () const noexcept(subspan_always_succeeds_v< Count >)
 
template<std::size_t Offset>
constexpr auto subspan () const noexcept(subspan_always_succeeds_v< Offset >)
 
template<std::size_t Offset, std::size_t Count>
constexpr auto subspan () const noexcept(subspan_always_succeeds_v< Offset+Count >)
 
constexpr QSpan< T > first (size_type n) const
 
constexpr QSpan< T > last (size_type n) const
 
constexpr QSpan< T > subspan (size_type pos) const
 
constexpr QSpan< T > subspan (size_type pos, size_type n) const
 
constexpr bool isEmpty () const noexcept
 
constexpr QSpan< T > sliced (size_type pos) const
 
constexpr QSpan< T > sliced (size_type pos, size_type n) const
 
constexpr QSpan< T > chopped (size_type n) const
 
 QT_ONLY_IF_DYNAMIC_SPAN (constexpr void slice(size_type pos))
 
 QT_ONLY_IF_DYNAMIC_SPAN (constexpr void slice(size_type pos, size_type n))
 
 QT_ONLY_IF_DYNAMIC_SPAN (constexpr void chop(size_type n))
 

Static Public Attributes

static constexpr std::size_t extent = E
 

Friends

QSpan< const std::byte, E==q20::dynamic_extent ? q20::dynamic_extent :E *sizeof(T)> as_bytes (QSpan s) noexcept
 
template<typename T2 = T, if_mutable< T2 > = true>
QSpan< std::byte, E==q20::dynamic_extent ? q20::dynamic_extent :E *sizeof(T)> as_writable_bytes (QSpan s) noexcept
 

Detailed Description

template<typename T, std::size_t E>
class QSpan< T, E >

Definition at line 312 of file qspan.h.

Member Typedef Documentation

◆ const_iterator

template<typename T, std::size_t E>
using QSpan< T, E >::const_iterator = const_pointer

Definition at line 343 of file qspan.h.

◆ const_pointer

template<typename T, std::size_t E>
using QSpan< T, E >::const_pointer = const T*

Definition at line 339 of file qspan.h.

◆ const_reference

template<typename T, std::size_t E>
using QSpan< T, E >::const_reference = const T&

Definition at line 341 of file qspan.h.

◆ const_reverse_iterator

template<typename T, std::size_t E>
using QSpan< T, E >::const_reverse_iterator = std::reverse_iterator<const_iterator>

Definition at line 345 of file qspan.h.

◆ difference_type

template<typename T, std::size_t E>
using QSpan< T, E >::difference_type = qptrdiff

Definition at line 337 of file qspan.h.

◆ iterator

template<typename T, std::size_t E>
using QSpan< T, E >::iterator = pointer

Definition at line 342 of file qspan.h.

◆ pointer

template<typename T, std::size_t E>
using QSpan< T, E >::pointer = T*

Definition at line 338 of file qspan.h.

◆ reference

template<typename T, std::size_t E>
using QSpan< T, E >::reference = T&

Definition at line 340 of file qspan.h.

◆ reverse_iterator

template<typename T, std::size_t E>
using QSpan< T, E >::reverse_iterator = std::reverse_iterator<iterator>

Definition at line 344 of file qspan.h.

◆ size_type

template<typename T, std::size_t E>
using QSpan< T, E >::size_type = qsizetype

Definition at line 336 of file qspan.h.

◆ value_type

template<typename T, std::size_t E>
using QSpan< T, E >::value_type = std::remove_cv_t<T>

Definition at line 331 of file qspan.h.

Member Function Documentation

◆ back()

template<typename T, std::size_t E>
reference QSpan< T, E >::back ( ) const
inlinenodiscardconstexpr

Definition at line 374 of file qspan.h.

◆ begin()

template<typename T, std::size_t E>
iterator QSpan< T, E >::begin ( ) const
inlinenodiscardconstexprnoexcept

Definition at line 378 of file qspan.h.

Referenced by QSpan< T >::cbegin(), and QSpan< T >::rend().

+ Here is the caller graph for this function:

◆ cbegin()

template<typename T, std::size_t E>
const_iterator QSpan< T, E >::cbegin ( ) const
inlinenodiscardconstexprnoexcept

Definition at line 380 of file qspan.h.

◆ cend()

template<typename T, std::size_t E>
const_iterator QSpan< T, E >::cend ( ) const
inlinenodiscardconstexprnoexcept

Definition at line 381 of file qspan.h.

◆ chopped()

template<typename T, std::size_t E>
QSpan< T > QSpan< T, E >::chopped ( size_type n) const
inlinenodiscardconstexpr

Definition at line 436 of file qspan.h.

◆ crbegin()

template<typename T, std::size_t E>
const_reverse_iterator QSpan< T, E >::crbegin ( ) const
inlinenodiscardconstexprnoexcept

Definition at line 384 of file qspan.h.

◆ crend()

template<typename T, std::size_t E>
const_reverse_iterator QSpan< T, E >::crend ( ) const
inlinenodiscardconstexprnoexcept

Definition at line 385 of file qspan.h.

◆ data()

template<typename T, std::size_t E>
pointer QSpan< T, E >::data ( ) const
inlinenodiscardconstexprnoexcept

Definition at line 375 of file qspan.h.

Referenced by QSpan< T >::as_bytes, QSpan< T >::as_writable_bytes, QSpan< T >::begin(), QSpan< T >::first(), QSpan< T >::first(), QSpan< T >::front(), QSpan< T >::operator[](), and QSpan< T >::subspan().

+ Here is the caller graph for this function:

◆ empty()

template<typename T, std::size_t E>
bool QSpan< T, E >::empty ( ) const
inlinenodiscardconstexprnoexcept

Definition at line 368 of file qspan.h.

◆ end()

template<typename T, std::size_t E>
iterator QSpan< T, E >::end ( ) const
inlinenodiscardconstexprnoexcept

Definition at line 379 of file qspan.h.

Referenced by QSpan< T >::cend(), and QSpan< T >::rbegin().

+ Here is the caller graph for this function:

◆ first() [1/2]

template<typename T, std::size_t E>
template<std::size_t Count>
QSpan< T, Count > QSpan< T, E >::first ( ) const
inlinenodiscardconstexprnoexcept

Definition at line 389 of file qspan.h.

◆ first() [2/2]

template<typename T, std::size_t E>
QSpan< T > QSpan< T, E >::first ( size_type n) const
inlinenodiscardconstexpr

Definition at line 426 of file qspan.h.

◆ front()

template<typename T, std::size_t E>
reference QSpan< T, E >::front ( ) const
inlinenodiscardconstexpr

Definition at line 373 of file qspan.h.

◆ isEmpty()

template<typename T, std::size_t E>
bool QSpan< T, E >::isEmpty ( ) const
inlinenodiscardconstexprnoexcept

Definition at line 432 of file qspan.h.

◆ last() [1/2]

template<typename T, std::size_t E>
template<std::size_t Count>
QSpan< T, Count > QSpan< T, E >::last ( ) const
inlinenodiscardconstexprnoexcept

Definition at line 399 of file qspan.h.

◆ last() [2/2]

template<typename T, std::size_t E>
QSpan< T > QSpan< T, E >::last ( size_type n) const
inlinenodiscardconstexpr

Definition at line 427 of file qspan.h.

◆ operator[]()

template<typename T, std::size_t E>
reference QSpan< T, E >::operator[] ( size_type idx) const
inlinenodiscardconstexpr

Definition at line 371 of file qspan.h.

◆ QT_ONLY_IF_DYNAMIC_SPAN() [1/3]

template<typename T, std::size_t E>
QSpan< T, E >::QT_ONLY_IF_DYNAMIC_SPAN ( constexpr void chopsize_type n)
inline

Definition at line 453 of file qspan.h.

◆ QT_ONLY_IF_DYNAMIC_SPAN() [2/3]

template<typename T, std::size_t E>
QSpan< T, E >::QT_ONLY_IF_DYNAMIC_SPAN ( constexpr void slicesize_type pos)
inline

Definition at line 445 of file qspan.h.

◆ QT_ONLY_IF_DYNAMIC_SPAN() [3/3]

template<typename T, std::size_t E>
QSpan< T, E >::QT_ONLY_IF_DYNAMIC_SPAN ( constexpr void slicesize_type pos, size_type n)
inline

Definition at line 449 of file qspan.h.

◆ rbegin()

template<typename T, std::size_t E>
reverse_iterator QSpan< T, E >::rbegin ( ) const
inlinenodiscardconstexprnoexcept

Definition at line 382 of file qspan.h.

Referenced by QSpan< T >::crbegin().

+ Here is the caller graph for this function:

◆ rend()

template<typename T, std::size_t E>
reverse_iterator QSpan< T, E >::rend ( ) const
inlinenodiscardconstexprnoexcept

Definition at line 383 of file qspan.h.

Referenced by QSpan< T >::crend().

+ Here is the caller graph for this function:

◆ size()

template<typename T, std::size_t E>
size_type QSpan< T, E >::size ( ) const
inlinenodiscardconstexprnoexcept

Definition at line 366 of file qspan.h.

◆ size_bytes()

template<typename T, std::size_t E>
size_type QSpan< T, E >::size_bytes ( ) const
inlinenodiscardconstexprnoexcept

Definition at line 367 of file qspan.h.

◆ sliced() [1/2]

template<typename T, std::size_t E>
QSpan< T > QSpan< T, E >::sliced ( size_type pos) const
inlinenodiscardconstexpr

Definition at line 434 of file qspan.h.

◆ sliced() [2/2]

template<typename T, std::size_t E>
QSpan< T > QSpan< T, E >::sliced ( size_type pos,
size_type n ) const
inlinenodiscardconstexpr

Definition at line 435 of file qspan.h.

◆ subspan() [1/4]

template<typename T, std::size_t E>
template<std::size_t Offset>
auto QSpan< T, E >::subspan ( ) const
inlinenodiscardconstexprnoexcept

Definition at line 409 of file qspan.h.

◆ subspan() [2/4]

template<typename T, std::size_t E>
template<std::size_t Offset, std::size_t Count>
auto QSpan< T, E >::subspan ( ) const
inlinenodiscardconstexprnoexcept

Definition at line 422 of file qspan.h.

◆ subspan() [3/4]

template<typename T, std::size_t E>
QSpan< T > QSpan< T, E >::subspan ( size_type pos) const
inlinenodiscardconstexpr

Definition at line 428 of file qspan.h.

◆ subspan() [4/4]

template<typename T, std::size_t E>
QSpan< T > QSpan< T, E >::subspan ( size_type pos,
size_type n ) const
inlinenodiscardconstexpr

Definition at line 429 of file qspan.h.

Friends And Related Symbol Documentation

◆ as_bytes

template<typename T, std::size_t E>
QSpan< const std::byte, E==q20::dynamic_extent ? q20::dynamic_extent :E *sizeof(T)> as_bytes ( QSpan< T, E > s)
friend

Definition at line 463 of file qspan.h.

◆ as_writable_bytes

template<typename T, std::size_t E>
template<typename T2 = T, if_mutable< T2 > = true>
QSpan< std::byte, E==q20::dynamic_extent ? q20::dynamic_extent :E *sizeof(T)> as_writable_bytes ( QSpan< T, E > s)
friend

Definition at line 477 of file qspan.h.

Member Data Documentation

◆ extent

template<typename T, std::size_t E>
std::size_t QSpan< T, E >::extent = E
staticconstexpr

Definition at line 346 of file qspan.h.


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