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& Connection::Ptr::operator= (
const Ptr& src)
43 inherited::operator= (src);
46 inline Connection::Ptr& Connection::Ptr::operator= (Ptr&& src)
noexcept
48 inherited::operator= (move (src));
51 inline Connection::IRep* Connection::Ptr::operator->() const noexcept
53 return Debug::UncheckedDynamicPointerCast<IRep> (*this).get ();
55 inline ::sqlite3* Connection::Ptr::Peek ()
const
57 return Debug::UncheckedDynamicPointerCast<IRep> (*this)->Peek ();
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...