7namespace Stroika::Foundation::Database::Document::SQLite {
9#if qStroika_HasComponent_sqlite
15 inline constexpr CompiledOptions CompiledOptions::kThe{
16#ifdef SQLITE_ENABLE_NORMALIZE
17 .ENABLE_NORMALIZE =
true
19 .ENABLE_NORMALIZE =
false
21#ifdef SQLITE_THREADSAFE
23 .THREADSAFE = SQLITE_THREADSAFE
24#elif defined(THREADSAFE)
26 .THREADSAFE = THREADSAFE
37 inline Connection::Ptr::Ptr (
const Ptr& src)
41 inline Connection::Ptr::Ptr (nullptr_t)
42 : Ptr{shared_ptr<IRep>{
nullptr}}
45 inline Connection::Ptr& Connection::Ptr::operator= (
const Ptr& src)
47 inherited::operator= (src);
50 inline Connection::Ptr& Connection::Ptr::operator= (Ptr&& src)
noexcept
52 inherited::operator= (move (src));
55 inline Connection::IRep* Connection::Ptr::operator->() const noexcept
57 return Debug::UncheckedDynamicPointerCast<IRep> (*this).get ();
59 inline void Connection::Ptr::Exec (
const String& sql)
61 this->operator->()->Exec (sql);
std::shared_ptr< T > UncheckedDynamicPointerCast(const std::shared_ptr< T1 > &arg) noexcept
Produce the same result as dynamic_pointer_cast if the successful case (non-null) - with better perfo...