9#ifndef HEADER_SQLITEPP_BLOB_IFACE_INCLUDED
10#define HEADER_SQLITEPP_BLOB_IFACE_INCLUDED
13#include "exception_iface.hpp"
14#include "string_param.hpp"
64 return ret >= 0 ? ret : 0;
79 #if __cpp_lib_ranges >= 201911L
89 template<std::ranges::contiguous_range R>
92 void read(
size_t offset, R & range)
const
125 #if __cpp_lib_ranges >= 201911L
138 template<std::ranges::contiguous_range R>
140 void write(
size_t offset, R range)
const
Access blob as a byte stream.
Definition blob_iface.hpp:37
void read(size_t offset, R &range) const
Read data from the blob.
Definition blob_iface.hpp:92
void reopen(int64_t rowid)
Move the object to a new row.
Definition blob_iface.hpp:49
void write(size_t offset, R range) const
Write data to the blob.
Definition blob_iface.hpp:140
~blob() noexcept
Equivalent to sqlite3_blob_close.
Definition blob_iface.hpp:40
void write(size_t offset, span< const std::byte > src)
Write data to the blob.
Definition blob_iface.hpp:114
void write(size_t offset, span< std::byte > src)
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition blob_iface.hpp:122
void read(size_t offset, span< std::byte > dest) const
Read data from the blob.
Definition blob_iface.hpp:72
size_t bytes() const noexcept
Returns the size of the blob.
Definition blob_iface.hpp:61
Exception used to report any SQLite errors.
Definition exception_iface.hpp:166
Base functionality for all fake wrapper classes
Definition handle.hpp:27
sqlite3_blob * c_ptr() const noexcept
Definition handle.hpp:45
T is_trivially_copyable_v
ThinSQLite++ namespace.
Definition backup_iface.hpp:17