LeechCraft 0.6.70-18450-gabe19ee3b0
Modular cross-platform feature rich live environment.
Loading...
Searching...
No Matches
LC::Util::oral Namespace Reference

Namespaces

namespace  detail
namespace  infix
namespace  sph

Classes

class  QueryException
struct  Type2Name
struct  Type2Name< ImplFactory, Unique< T > >
struct  Type2Name< ImplFactory, NotNull< T > >
struct  Type2Name< ImplFactory, PKey< T, Tags... > >
struct  Type2Name< ImplFactory, PKey< int, Tags... > >
struct  Type2Name< ImplFactory, std::optional< T > >
struct  Type2Name< ImplFactory, References< Ptr > >
struct  ConvertT
struct  ConvertT< std::optional< T > >
struct  Limit
struct  Offset
struct  ObjectInfo
struct  IndirectHolderBase
struct  PKey
struct  Unique
struct  NotNull
struct  References
struct  PrimaryKey
struct  UniqueSubset
struct  Index
struct  IsIndirect
struct  IsIndirect< PKey< T, Args... > >
struct  IsIndirect< Unique< T > >
struct  IsIndirect< NotNull< T > >
struct  IsIndirect< References< Ptr > >
struct  InsertAction
struct  AsDataStream

Typedefs

using QSqlQuery_ptr = std::shared_ptr<QSqlQuery>
template<typename T>
using ObjectInfo_ptr = std::unique_ptr<ObjectInfo<T>>
template<typename T, typename... Args>
using PKeyValue_t = typename PKey<T, Args...>::value_type
template<typename T>
using UniqueValue_t = typename Unique<T>::value_type
template<typename T>
using NotNullValue_t = typename NotNull<T>::value_type
template<typename T>
using UniqueNotNull = Unique<NotNull<T>>
template<auto Ptr>
using ReferencesValue_t = typename References<Ptr>::value_type
template<typename... Args>
using Constraints = Typelist<Args...>
template<typename... Args>
using Indices = Typelist<Args...>
using SQLiteImplFactory = detail::SQLite::ImplFactory

Functions

template<typename Record, typename ImplFactory = SQLiteImplFactory>
void Migrate (QSqlDatabase &db)
template<typename T, typename ImplFactory = detail::SQLite::ImplFactory>
ObjectInfo< T > Adapt (const QSqlDatabase &db)
template<typename T, typename ImplFactory = SQLiteImplFactory>
ObjectInfo_ptr< T > AdaptPtr (const QSqlDatabase &db)
template<typename ImplFactory = SQLiteImplFactory, typename... Ts>
void AdaptPtrs (const QSqlDatabase &db, ObjectInfo_ptr< Ts > &... objects)
template<typename T, typename... Args>
char * toString (const PKey< T, Args... > &pkey)

Variables

template<typename>
constexpr bool BeenAdapted = false
template<typename>
constexpr size_t SeqSize = 0
template<typename, int>
constexpr auto MemberNameByIdx = detail::UnspecializedSentinel {}
template<auto>
constexpr auto MemberNameByPtr = detail::UnspecializedSentinel {}
template<typename T>
constexpr auto Convert = ConvertT<T> {}
template<typename... Orders>
constexpr detail::OrderBy< Orders... > OrderBy {}
template<auto... Ptrs>
constexpr detail::GroupBy< Ptrs... > GroupBy {}

Typedef Documentation

◆ Constraints

template<typename... Args>
using LC::Util::oral::Constraints = Typelist<Args...>

Definition at line 139 of file oraltypes.h.

◆ Indices

template<typename... Args>
using LC::Util::oral::Indices = Typelist<Args...>

Definition at line 145 of file oraltypes.h.

◆ NotNullValue_t

template<typename T>
using LC::Util::oral::NotNullValue_t = typename NotNull<T>::value_type

Definition at line 90 of file oraltypes.h.

◆ ObjectInfo_ptr

template<typename T>
using LC::Util::oral::ObjectInfo_ptr = std::unique_ptr<ObjectInfo<T>>

Definition at line 1833 of file oral.h.

◆ PKeyValue_t

template<typename T, typename... Args>
using LC::Util::oral::PKeyValue_t = typename PKey<T, Args...>::value_type

Definition at line 72 of file oraltypes.h.

◆ QSqlQuery_ptr

using LC::Util::oral::QSqlQuery_ptr = std::shared_ptr<QSqlQuery>

Definition at line 61 of file oral.h.

◆ ReferencesValue_t

template<auto Ptr>
using LC::Util::oral::ReferencesValue_t = typename References<Ptr>::value_type

Definition at line 130 of file oraltypes.h.

◆ SQLiteImplFactory

◆ UniqueNotNull

template<typename T>
using LC::Util::oral::UniqueNotNull = Unique<NotNull<T>>

Definition at line 93 of file oraltypes.h.

◆ UniqueValue_t

template<typename T>
using LC::Util::oral::UniqueValue_t = typename Unique<T>::value_type

Definition at line 81 of file oraltypes.h.

Function Documentation

◆ Adapt()

template<typename T, typename ImplFactory = detail::SQLite::ImplFactory>
ObjectInfo< T > LC::Util::oral::Adapt ( const QSqlDatabase & db)

Definition at line 1808 of file oral.h.

References LC::Util::oral::detail::AdaptCreateIndices(), LC::Util::oral::detail::AdaptCreateTable(), BeenAdapted, LC::Util::RunTextQuery(), and LC::Util::ToString().

Referenced by AdaptPtr().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ AdaptPtr()

template<typename T, typename ImplFactory = SQLiteImplFactory>
ObjectInfo_ptr< T > LC::Util::oral::AdaptPtr ( const QSqlDatabase & db)

Definition at line 1836 of file oral.h.

References Adapt().

Referenced by AdaptPtrs(), ORAL_ADAPT_STRUCT(), ORAL_ADAPT_STRUCT(), ORAL_ADAPT_STRUCT(), and LC::Util::PrepareRecords().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ AdaptPtrs()

template<typename ImplFactory = SQLiteImplFactory, typename... Ts>
void LC::Util::oral::AdaptPtrs ( const QSqlDatabase & db,
ObjectInfo_ptr< Ts > &... objects )

Definition at line 1842 of file oral.h.

References AdaptPtr().

Here is the call graph for this function:

◆ Migrate()

template<typename Record, typename ImplFactory = SQLiteImplFactory>
void LC::Util::oral::Migrate ( QSqlDatabase & db)

◆ toString()

template<typename T, typename... Args>
char * LC::Util::oral::toString ( const PKey< T, Args... > & pkey)

Definition at line 29 of file common.h.

References LC::Util::oral::IndirectHolderBase< T, Concrete >::Val_.

Variable Documentation

◆ BeenAdapted

template<typename>
bool LC::Util::oral::BeenAdapted = false
constexpr

Definition at line 72 of file oral.h.

Referenced by Adapt().

◆ Convert

◆ GroupBy

template<auto... Ptrs>
detail::GroupBy<Ptrs...> LC::Util::oral::GroupBy {}
constexpr

Definition at line 1120 of file oral.h.

Referenced by ORAL_ADAPT_STRUCT().

◆ MemberNameByIdx

template<typename, int>
auto LC::Util::oral::MemberNameByIdx = detail::UnspecializedSentinel {}
constexpr

Definition at line 83 of file oral.h.

Referenced by LC::Util::oral::detail::GetFieldName().

◆ MemberNameByPtr

template<auto>
auto LC::Util::oral::MemberNameByPtr = detail::UnspecializedSentinel {}
constexpr

Definition at line 86 of file oral.h.

◆ OrderBy

template<typename... Orders>
detail::OrderBy<Orders...> LC::Util::oral::OrderBy {}
constexpr

Definition at line 1117 of file oral.h.

Referenced by ORAL_ADAPT_STRUCT().

◆ SeqSize

template<typename>
size_t LC::Util::oral::SeqSize = 0
constexpr

Definition at line 75 of file oral.h.