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

Namespaces

 detail
 
 infix
 
 sph
 

Classes

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

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 >
 requires (!std::same_as< T, QVariant >) struct ConvertT
 
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 = typedef Typelist<Args...>

Definition at line 139 of file oraltypes.h.

◆ Indices

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

Definition at line 145 of file oraltypes.h.

◆ NotNullValue_t

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

Definition at line 90 of file oraltypes.h.

◆ ObjectInfo_ptr

template<typename T >
using LC::Util::oral::ObjectInfo_ptr = typedef 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 = typedef typename PKey<T, Args...>::value_type

Definition at line 72 of file oraltypes.h.

◆ QSqlQuery_ptr

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

Definition at line 61 of file oral.h.

◆ ReferencesValue_t

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

Definition at line 130 of file oraltypes.h.

◆ SQLiteImplFactory

◆ UniqueNotNull

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

Definition at line 93 of file oraltypes.h.

◆ UniqueValue_t

template<typename T >
using LC::Util::oral::UniqueValue_t = typedef 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::RunTextQuery().

+ Here is the call 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.

◆ 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.

◆ Migrate()

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

Definition at line 41 of file migrate.h.

References LC::Util::oral::sph::fields, LC::Util::DBLock::Init(), LC::Util::JoinTup(), LC::Util::oral::detail::MatchesSchema(), and LC::Util::RunTextQuery().

+ Here is the call graph for this function:

◆ requires()

template<typename T >
LC::Util::oral::requires ( !std::same_as< T, QVariant >  )

◆ 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 toString(), and LC::Util::oral::IndirectHolderBase< T, PKey< T, Tags... > >::Val_.

Referenced by LC::Util::TagsLineEdit::AddSelector().

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

Variable Documentation

◆ BeenAdapted

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

Definition at line 72 of file oral.h.

◆ Convert

template<typename T >
constexpr auto LC::Util::oral::Convert = ConvertT<T> {}

Definition at line 234 of file oral.h.

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

◆ GroupBy

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

Definition at line 1120 of file oral.h.

◆ MemberNameByIdx

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

Definition at line 83 of file oral.h.

◆ MemberNameByPtr

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

Definition at line 86 of file oral.h.

◆ OrderBy

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

Definition at line 1117 of file oral.h.

Referenced by ORAL_ADAPT_STRUCT().

◆ SeqSize

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

Definition at line 75 of file oral.h.