3#ifndef PDFSDK_CXX_PDF_BYTES_H_INCLUDED_
4#define PDFSDK_CXX_PDF_BYTES_H_INCLUDED_
31 requires std::is_trivially_copyable_v<T>
32std::span<const Byte> AsBytes(std::span<T> data) {
33 return std::span<const Byte>(
reinterpret_cast<const Byte*
>(data.data()), data.size_bytes());
40 requires (std::is_trivially_copyable_v<T> && !std::is_const_v<T>)
41std::span<Byte> AsWritableBytes(std::span<T> data) {
42 return std::span<Byte>(
reinterpret_cast<Byte*
>(data.data()), data.size_bytes());
48inline std::span<const Byte> AsBytes(
const void* data,
size_t size) {
49 return std::span<const Byte>(
static_cast<const Byte*
>(data), size);
55inline std::span<const Byte> AsBytes(std::string_view data) {
56 return AsBytes(data.data(), data.size());
62inline std::span<Byte> AsWritableBytes(
void* data,
size_t size) {
63 return std::span<Byte>(
static_cast<Byte*
>(data), size);