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
span.h File Reference

(319b03b943668ccdddfc95f3eeaf86c3c7ad1ad6)

#include <stddef.h>
#include <stdint.h>
#include <array>
#include <iterator>
#include <type_traits>
#include "core/fxcrt/check.h"
#include "core/fxcrt/compiler_specific.h"
#include "core/fxcrt/unowned_ptr_exclusion.h"
Include dependency graph for span.h:

Go to the source code of this file.

Classes

struct  pdfium::internal::IsSpanImpl< T >
struct  pdfium::internal::IsSpanImpl< span< T > >
struct  pdfium::internal::IsStdArrayImpl< T >
struct  pdfium::internal::IsStdArrayImpl< std::array< T, N > >
class  pdfium::span< T, Extent, InternalPtr >

Namespaces

namespace  pdfium
namespace  pdfium::internal

Typedefs

template<typename T>
using pdfium::DefaultSpanInternalPtr = UNOWNED_PTR_EXCLUSION T*
template<typename T>
using pdfium::internal::IsSpan = IsSpanImpl<typename std::decay<T>::type>
template<typename T>
using pdfium::internal::IsStdArray = IsStdArrayImpl<typename std::decay<T>::type>
template<typename From, typename To>
using pdfium::internal::IsLegalSpanConversion = std::is_convertible<From*, To*>
template<typename Container, typename T>
using pdfium::internal::ContainerHasConvertibleData
template<typename Container>
using pdfium::internal::ContainerHasIntegralSize
template<typename From, typename To>
using pdfium::internal::EnableIfLegalSpanConversion
template<typename Container, typename T>
using pdfium::internal::EnableIfSpanCompatibleContainer
template<typename Container, typename T>
using pdfium::internal::EnableIfConstSpanCompatibleContainer

Functions

template<typename T>
UNSAFE_BUFFER_USAGE constexpr span< T > pdfium::make_span (T *data, size_t size) noexcept
template<typename T, size_t N>
constexpr span< T > pdfium::make_span (T(&array)[N]) noexcept
template<typename T, size_t N>
constexpr span< T > pdfium::make_span (std::array< T, N > &array) noexcept
template<typename Container, typename T = typename Container::value_type, typename = internal::EnableIfSpanCompatibleContainer<Container, T>>
constexpr span< T > pdfium::make_span (Container &container)
template<typename Container, typename T = typename std::add_const<typename Container::value_type>::type, typename = internal::EnableIfConstSpanCompatibleContainer<Container, T>>
constexpr span< T > pdfium::make_span (const Container &container)
template<typename T, size_t N, typename P>
span< const uint8_t > pdfium::as_bytes (span< T, N, P > s) noexcept
template<typename T, size_t N, typename P, typename U = typename std::enable_if<!std::is_const<T>::value>::type>
span< uint8_t > pdfium::as_writable_bytes (span< T, N, P > s) noexcept
template<typename T, size_t N, typename P>
span< const char > pdfium::as_chars (span< T, N, P > s) noexcept
template<typename T, size_t N, typename P, typename U = typename std::enable_if<!std::is_const<T>::value>::type>
span< char > pdfium::as_writable_chars (span< T, N, P > s) noexcept
template<typename T>
static constexpr span< T > pdfium::span_from_ref (T &single_object) noexcept
template<typename T>
static constexpr span< const uint8_t > pdfium::byte_span_from_ref (const T &single_object) noexcept
template<typename T>
static constexpr span< uint8_t > pdfium::byte_span_from_ref (T &single_object) noexcept
template<typename T>
span< const uint8_t > pdfium::as_byte_span (const T &arg)
template<typename T>
span< const uint8_t > pdfium::as_byte_span (T &&arg)
template<typename T>
constexpr span< uint8_t > pdfium::as_writable_byte_span (T &&arg)

Variables

constexpr size_t pdfium::dynamic_extent = static_cast<size_t>(-1)