VSQLite++ 0.3
Loading...
Searching...
No Matches
sqlite::v2::detail Namespace Reference

Classes

struct  always_false
struct  optional_value
struct  optional_value< std::optional< T > >
struct  pack_size
struct  pack_size< std::tuple< Ts... > >
struct  function_holder
struct  callable_traits
struct  callable_traits< R(Args...), void >
struct  callable_traits< R(*)(Args...), void >
struct  callable_traits< R(&)(Args...), void >
struct  callable_traits< R(Class::*)(Args...), void >
struct  callable_traits< R(Class::*)(Args...) const, void >
struct  callable_traits< Callable, std::void_t< decltype(&Callable::operator())> >
struct  callable_traits< Callable const, std::enable_if_t<!std::is_function_v< Callable >, void > >
struct  callable_traits< Callable volatile, std::enable_if_t<!std::is_function_v< Callable >, void > >
struct  callable_traits< Callable const volatile, std::enable_if_t<!std::is_function_v< Callable >, void > >
struct  callable_traits< Callable &, std::enable_if_t<!std::is_function_v< std::remove_reference_t< Callable > >, void > >
struct  callable_traits< Callable &&, std::enable_if_t<!std::is_function_v< std::remove_reference_t< Callable > >, void > >
struct  is_optional
struct  is_optional< std::optional< U > >
struct  argument_converter
struct  argument_converter< T >
struct  argument_converter< bool >
struct  argument_converter< std::string_view >
struct  argument_converter< Text >
struct  argument_converter< std::span< const unsigned char > >
struct  argument_converter< std::span< const std::byte > >
struct  argument_converter< Vector >
struct  argument_converter< sqlite3_value * >
struct  argument_converter< sqlite3_value const * >
struct  argument_converter< std::optional< T > >
struct  result_writer
struct  result_writer< void >
struct  result_writer< null_type >
struct  result_writer< std::nullptr_t >
struct  result_writer< T >
struct  result_writer< bool >
struct  result_writer< std::string_view >
struct  result_writer< Text >
struct  result_writer< std::span< const unsigned char > >
struct  result_writer< std::span< const std::byte > >
struct  result_writer< Vector >
struct  result_writer< std::optional< T > >

Typedefs

template<typename T>
using decay_t = std::remove_cvref_t<T>

Functions

void throw_null_argument_error ()
void result_text (sqlite3_context *ctx, std::string_view view)
template<typename Callable, std::size_t... Index>
decltype(auto) invoke_with_arguments (function_holder< Callable > &holder, sqlite3_value **argv, std::index_sequence< Index... >)
template<typename Callable>
void destroy_holder (void *data)
template<typename Callable>
void function_entry (sqlite3_context *ctx, int argc, sqlite3_value **argv)
int compose_text_rep (function_options const &options)
std::string make_function_error (std::string_view name)
bool end (result_construct_params_private const &)
void reset (result_construct_params_private &)
template<typename... Ts, std::size_t... Index>
std::tuple< Ts... > tuple_from_row (result &res, int start, std::index_sequence< Index... >)

Variables

template<typename T>
constexpr bool always_false_v = false
template<typename T>
constexpr bool is_optional_v = false
template<typename T>
constexpr bool is_optional_v< std::optional< T > > = true
template<typename T>
constexpr bool is_duration_v = false
template<typename Rep, typename Period>
constexpr bool is_duration_v< std::chrono::duration< Rep, Period > > = true
template<typename T>
constexpr bool is_time_point_v = false
template<typename Clock, typename Duration>
constexpr bool is_time_point_v< std::chrono::time_point< Clock, Duration > > = true
template<typename T>
constexpr bool is_string_like_v = std::is_convertible_v<T, std::string_view>
template<typename T>
constexpr bool is_byte_vector_v
template<typename T>
constexpr bool is_unsigned_char_span_v
template<typename T>
constexpr bool is_byte_span_v
template<typename T>
constexpr bool needs_generic_binding_v

Typedef Documentation

◆ decay_t

template<typename T>
using sqlite::v2::detail::decay_t = std::remove_cvref_t<T>

Definition at line 52 of file type_helpers.hpp.

Function Documentation

◆ compose_text_rep()

◆ destroy_holder()

template<typename Callable>
void sqlite::v2::detail::destroy_holder ( void * data)

Definition at line 383 of file function.hpp.

◆ end()

bool sqlite::v2::detail::end ( result_construct_params_private const & )

Referenced by sqlite::v2::result::end().

◆ function_entry()

template<typename Callable>
void sqlite::v2::detail::function_entry ( sqlite3_context * ctx,
int argc,
sqlite3_value ** argv )

Definition at line 388 of file function.hpp.

References invoke_with_arguments().

Here is the call graph for this function:

◆ invoke_with_arguments()

template<typename Callable, std::size_t... Index>
decltype(auto) sqlite::v2::detail::invoke_with_arguments ( function_holder< Callable > & holder,
sqlite3_value ** argv,
std::index_sequence< Index... >  )

Definition at line 370 of file function.hpp.

References sqlite::v2::detail::function_holder< Callable >::callable.

Referenced by function_entry().

◆ make_function_error()

std::string sqlite::v2::detail::make_function_error ( std::string_view name)
inline

Definition at line 438 of file function.hpp.

◆ reset()

void sqlite::v2::detail::reset ( result_construct_params_private & )

◆ result_text()

void sqlite::v2::detail::result_text ( sqlite3_context * ctx,
std::string_view view )
inline

◆ throw_null_argument_error()

◆ tuple_from_row()

template<typename... Ts, std::size_t... Index>
std::tuple< Ts... > sqlite::v2::detail::tuple_from_row ( result & res,
int start,
std::index_sequence< Index... >  )

Definition at line 256 of file result.hpp.

Referenced by sqlite::v2::result::get_tuple().

Variable Documentation

◆ always_false_v

template<typename T>
bool sqlite::v2::detail::always_false_v = false
inlineconstexpr

Definition at line 48 of file type_helpers.hpp.

Referenced by sqlite::v2::command::bind_value(), and sqlite::v2::result::get().

◆ is_byte_span_v

template<typename T>
bool sqlite::v2::detail::is_byte_span_v
inlineconstexpr
Initial value:
=
std::is_same_v<decay_t<T>, std::span<const std::byte>>

Definition at line 88 of file type_helpers.hpp.

Referenced by sqlite::v2::command::bind_value(), and sqlite::v2::result::get().

◆ is_byte_vector_v

template<typename T>
bool sqlite::v2::detail::is_byte_vector_v
inlineconstexpr
Initial value:
=
std::is_same_v<decay_t<T>, std::vector<unsigned char>>

Definition at line 80 of file type_helpers.hpp.

Referenced by sqlite::v2::command::bind_value(), and sqlite::v2::result::get().

◆ is_duration_v

template<typename T>
bool sqlite::v2::detail::is_duration_v = false
inlineconstexpr

Definition at line 66 of file type_helpers.hpp.

Referenced by sqlite::v2::command::bind_value(), and sqlite::v2::result::get().

◆ is_duration_v< std::chrono::duration< Rep, Period > >

template<typename Rep, typename Period>
bool sqlite::v2::detail::is_duration_v< std::chrono::duration< Rep, Period > > = true
inlineconstexpr

Definition at line 69 of file type_helpers.hpp.

◆ is_optional_v

template<typename T>
bool sqlite::v2::detail::is_optional_v = false
inlineconstexpr

Definition at line 54 of file type_helpers.hpp.

Referenced by sqlite::v2::command::bind_value(), and sqlite::v2::result::get().

◆ is_optional_v< std::optional< T > >

template<typename T>
bool sqlite::v2::detail::is_optional_v< std::optional< T > > = true
inlineconstexpr

Definition at line 56 of file type_helpers.hpp.

◆ is_string_like_v

template<typename T>
bool sqlite::v2::detail::is_string_like_v = std::is_convertible_v<T, std::string_view>
inlineconstexpr

Definition at line 77 of file type_helpers.hpp.

Referenced by sqlite::v2::command::bind_value().

◆ is_time_point_v

template<typename T>
bool sqlite::v2::detail::is_time_point_v = false
inlineconstexpr

Definition at line 71 of file type_helpers.hpp.

Referenced by sqlite::v2::command::bind_value(), and sqlite::v2::result::get().

◆ is_time_point_v< std::chrono::time_point< Clock, Duration > >

template<typename Clock, typename Duration>
bool sqlite::v2::detail::is_time_point_v< std::chrono::time_point< Clock, Duration > > = true
inlineconstexpr

Definition at line 74 of file type_helpers.hpp.

◆ is_unsigned_char_span_v

template<typename T>
bool sqlite::v2::detail::is_unsigned_char_span_v
inlineconstexpr
Initial value:
=
std::is_same_v<decay_t<T>, std::span<const unsigned char>>

Definition at line 84 of file type_helpers.hpp.

Referenced by sqlite::v2::command::bind_value(), and sqlite::v2::result::get().

◆ needs_generic_binding_v

template<typename T>
bool sqlite::v2::detail::needs_generic_binding_v
inlineconstexpr
Initial value:
=
std::is_enum_v<decay_t<T>>
constexpr bool is_time_point_v
constexpr bool is_optional_v
constexpr bool is_duration_v

Definition at line 92 of file type_helpers.hpp.