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

(e4657a741c23c8f48e0e97ae2091dc2d99f4f27d)

#include <stdint.h>
#include <optional>
#include <type_traits>
#include "core/fxcrt/check_op.h"
#include "core/fxcrt/fx_memcpy_wrappers.h"
#include "core/fxcrt/span.h"
Include dependency graph for span_util.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  fxcrt

Functions

template<typename T1, typename T2, size_t N1, size_t N2, typename P1, typename P2, typename = std::enable_if_t<sizeof(T1) == sizeof(T2) && std::is_trivially_copyable_v<T1> && std::is_trivially_copyable_v<T2>>>
pdfium::span< T1 > fxcrt::spancpy (pdfium::span< T1, N1, P1 > dst, pdfium::span< T2, N2, P2 > src)
template<typename T1, typename T2, size_t N1, size_t N2, typename P1, typename P2, typename = std::enable_if_t<sizeof(T1) == sizeof(T2) && std::is_trivially_copyable_v<T1> && std::is_trivially_copyable_v<T2>>>
pdfium::span< T1 > fxcrt::spanmove (pdfium::span< T1, N1, P1 > dst, pdfium::span< T2, N2, P2 > src)
template<typename T1, typename T2, size_t N1, size_t N2, typename P1, typename P2, typename = std::enable_if_t<sizeof(T1) == sizeof(T2) && std::is_trivially_copyable_v<T1> && std::is_trivially_copyable_v<T2>>>
bool fxcrt::try_spancpy (pdfium::span< T1, N1, P1 > dst, pdfium::span< T2, N2, P2 > src)
template<typename T1, typename T2, size_t N1, size_t N2, typename P1, typename P2, typename = std::enable_if_t<sizeof(T1) == sizeof(T2) && std::is_trivially_copyable_v<T1> && std::is_trivially_copyable_v<T2>>>
bool fxcrt::try_spanmove (pdfium::span< T1, N1, P1 > dst, pdfium::span< T2, N2, P2 > src)
template<typename T1, typename T2, size_t N1, size_t N2, typename P1, typename P2, typename = std::enable_if_t<sizeof(T1) == sizeof(T2) && std::is_trivially_copyable_v<T1> && std::is_trivially_copyable_v<T2>>>
bool fxcrt::span_equals (pdfium::span< T1, N1, P1 > s1, pdfium::span< T2, N2, P2 > s2)
template<typename T, typename U, typename = std::enable_if_t<sizeof(T) == sizeof(U) && std::is_trivially_copyable_v<T> && std::is_trivially_copyable_v<U>>>
std::optional< size_t > fxcrt::spanpos (pdfium::span< T > haystack, pdfium::span< U > needle)
template<typename T, typename U, typename = typename std::enable_if_t<std::is_const_v<T> || !std::is_const_v<U>>>
pdfium::span< T > fxcrt::reinterpret_span (pdfium::span< U > s) noexcept