9#ifndef HEADER_SQLITEPP_CONTEXT_IFACE_INCLUDED 
   10#define HEADER_SQLITEPP_CONTEXT_IFACE_INCLUDED 
   13#include "value_iface.hpp" 
   65    #if __cpp_char8_t >= 201811 
   80        void error(
int error_code) 
noexcept 
 
  141            if (
auto data = 
value.data())
 
 
  146    #if __cpp_char8_t >= 201811 
  151            if (
auto data = 
value.data())
 
 
  168            if (
auto data = 
value.data())
 
 
  173    #if __cpp_char8_t >= 201811 
  178            if (
auto data = 
value.data())
 
 
  198            if (
auto data = 
value.data())
 
 
  209    #if __cpp_char8_t >= 201811 
  214            if (
auto data = 
value.data())
 
 
  236            if (
auto data = 
value.data())
 
 
  253            if (
auto data = 
value.data())
 
 
  273            if (
auto data = 
value.data())
 
 
  303        void result(T * ptr, 
const char * type, 
void(*destroy)(T*)) 
noexcept 
 
  318            { this->
result(ptr.release(), 
typeid(T).name(), [](T * p) { delete p;}); }
 
 
  328#if SQLITE_VERSION_NUMBER >= SQLITEPP_SQLITE_VERSION(3, 9, 0) 
  359        void set_auxdata(
int arg, T * data, 
void (*destroy)(T*)
noexcept) 
noexcept 
 
  375#if SQLITE_VERSION_NUMBER >= SQLITEPP_SQLITE_VERSION(3, 22, 0) 
 
sqlite3_aggregate_context
SQL Function Context Object.
Definition context_iface.hpp:37
void result(int value) noexcept
Return an int from the implemented SQL function.
Definition context_iface.hpp:112
void result_subtype(unsigned value) noexcept
Sets the subtype of the result of the implemented SQL function.
Definition context_iface.hpp:336
void result(double value) noexcept
Return a double from implemented SQL function.
Definition context_iface.hpp:128
~context() noexcept=delete
Contexts are never destroyed by user code.
void result_reference(const std::u8string_view &value, void(*unref)(const char8_t *)) noexcept
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition context_iface.hpp:211
class database & database() const noexcept
Retrieve database connection for the context.
Definition context_iface.hpp:55
void result(int64_t value) noexcept
Return an int64_t from implemented SQL function.
Definition context_iface.hpp:120
void error(int error_code) noexcept
Changes the error code returned by function evaluation.
Definition context_iface.hpp:80
void result(std::unique_ptr< T > ptr) noexcept
Return a custom pointer from the implemented SQL function.
Definition context_iface.hpp:317
void result_reference(const std::string_view &value) noexcept
Return a string by reference from the implemented SQL function.
Definition context_iface.hpp:165
T * get_auxdata(int arg) const noexcept
Get auxiliary data associated with argument values.
Definition context_iface.hpp:348
void result(const blob_view &value) noexcept
Return a blob by value from the implemented SQL function.
Definition context_iface.hpp:233
void error_toobig() noexcept
Causes the implemented SQL function to throw an SQL exception indicating that a string or BLOB is too...
Definition context_iface.hpp:96
void result_reference(const std::string_view &value, void(*unref)(const char *)) noexcept
Return a string by reference from the implemented SQL function.
Definition context_iface.hpp:195
void result(const zero_blob &value) noexcept
Return a blob of zeroes from the implemented SQL function.
Definition context_iface.hpp:291
void result(const value &val) noexcept
Return a copy of the passed value from the implemented SQL function.
Definition context_iface.hpp:325
void result(const std::u8string_view &value) noexcept
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition context_iface.hpp:148
T * user_data() noexcept
Return the function's user data.
Definition context_iface.hpp:372
bool vtab_nochange() const noexcept
Return if a value being fetched as part of an UPDATE operation during which the column value will not...
Definition context_iface.hpp:381
void result(std::nullptr_t) noexcept
Return NULL from the implemented SQL function.
Definition context_iface.hpp:104
void error_nomem() noexcept
Causes the implemented SQL function to throw an SQL exception indicating that a memory allocation fai...
Definition context_iface.hpp:88
void error(const std::string_view &value) noexcept
Cause the implemented SQL function to throw an SQL exception.
Definition context_iface.hpp:63
void result_reference(const std::u8string_view &value) noexcept
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition context_iface.hpp:175
void result_reference(const blob_view &value, void(*unref)(const std::byte *) noexcept) noexcept
Return a blob by reference from the implemented SQL function.
Definition context_iface.hpp:270
void * aggregate_context(int size) noexcept
Allocate memory for aggregate function context.
Definition context_iface.hpp:47
void result(T *ptr, const char *type, void(*destroy)(T *)) noexcept
Definition context_iface.hpp:303
void result_reference(const blob_view &value) noexcept
Return a blob by reference from the implemented SQL function.
Definition context_iface.hpp:250
void set_auxdata(int arg, T *data, void(*destroy)(T *) noexcept) noexcept
Associate auxiliary data with argument values.
Definition context_iface.hpp:359
void result(const std::string_view &value) noexcept
Return a string by value from the implemented SQL function.
Definition context_iface.hpp:138
void error(const std::u8string_view &value) noexcept
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition context_iface.hpp:67
Database Connection.
Definition database_iface.hpp:108
Base functionality for all fake wrapper classes
Definition handle.hpp:27
sqlite3_context * c_ptr() const noexcept
Definition handle.hpp:45
Dynamically Typed Value Object.
Definition value_iface.hpp:35
An efficient blob of zeroes of a given size.
Definition span.hpp:256
sqlite3_context_db_handle
ThinSQLite++ namespace.
Definition backup_iface.hpp:17