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

Namespaces

namespace  PostgreSQL
 
namespace  SQLite
 

Classes

struct  AdaptDelete
 
class  AdaptInsert
 
class  AdaptUpdate
 
struct  AddressOf
 
struct  AggregateType
 
class  AssignList
 
struct  CachedFieldsData
 
struct  CountAll
 
class  DeleteByFieldsWrapper
 
struct  DetectShift
 
struct  DetectShift< Seq, Seq >
 
struct  DetectShift< Seq, std::tuple< Args... > >
 
class  ExprTree
 
class  ExprTree< ExprType::ConstTrue, void, void >
 
class  ExprTree< ExprType::LeafData, T, void >
 
class  ExprTree< ExprType::LeafStaticPlaceholder, MemberPtrs< Ptr >, void >
 
struct  ExprTreeHandler
 
struct  ExtractConstraintFields
 
struct  ExtractConstraintFields< PrimaryKey< Fields... > >
 
struct  ExtractConstraintFields< UniqueSubset< Fields... > >
 
struct  FindPKey
 
struct  GetFieldsNames
 
struct  GroupBy
 
struct  GroupNone
 
struct  HandleSelectorResult
 
class  IInsertQueryBuilder
 
struct  InfixBinary
 
struct  InfixBinaryProxy
 
struct  IsExprTree
 
struct  IsExprTree< ExprTree< Type, L, R > >
 
struct  IsPKey
 
struct  IsPKey< PKey< U, Tags... > >
 
struct  IsReferencesTarget
 
struct  IsReferencesTarget< PKey< U, Tags... > >
 
struct  IsReferencesTarget< Unique< U > >
 
struct  IsSelector
 
struct  IsSelector< AggregateType< Fun, Ptr > >
 
struct  IsSelector< MemberPtrs< Ptrs... > >
 
struct  IsSelector< SelectorUnion< L, R > >
 
struct  IsSelector< SelectWhole >
 
struct  LimitNone
 
struct  MemberPtrs
 
struct  OffsetNone
 
struct  OrderBy
 
struct  OrderNone
 
struct  RelationalTypesChecker
 
struct  RelationalTypesChecker< Type, Seq, L, R, std::enable_if_t< IsRelational(Type)> >
 
struct  RelationalTypesCheckerBase
 
struct  RelationalTypesCheckerBase< Seq, L, R, std::enable_if_t< AreComparableTypes< Seq, L, R > > >
 
struct  ResultBehaviour
 
struct  SelectorUnion
 
struct  SelectWhole
 
class  SelectWrapper
 
class  SelectWrapperCommon
 
struct  ToSqlState
 
struct  WrapDirect
 

Typedefs

using IInsertQueryBuilder_ptr = std::unique_ptr< IInsertQueryBuilder >
 
template<typename U >
using MorpherDetector = decltype(std::declval< U >().FieldNameMorpher(QString {}))
 
template<typename T >
using TypeNameDetector = decltype(T::TypeName)
 
template<typename T >
using BaseTypeDetector = typename T::BaseType
 
template<typename Seq , int Idx>
using ValueAtC_t = typename boost::fusion::result_of::value_at_c< Seq, Idx >::type
 
template<typename Seq , typename Idx >
using ValueAt_t = typename boost::fusion::result_of::value_at< Seq, Idx >::type
 
template<typename Seq >
using FindPKeyDetector = boost::mpl::int_< FindPKey< Seq >::result_type::value >
 
template<typename T , typename... Args>
using AggregateDetector_t = decltype(new T { std::declval< Args >()... })
 
template<typename T >
using UnwrapIndirect_t = typename std::conditional_t< IsIndirect< T > {}, T, WrapDirect< T > >::value_type
 
template<typename Seq , typename L , typename R >
using ComparableDetector = decltype(std::declval< UnwrapIndirect_t< typename L::template ValueType_t< Seq > > >()==std::declval< UnwrapIndirect_t< typename R::template ValueType_t< Seq > > >())
 
template<typename L , typename R >
using EnableRelOp_t = std::enable_if_t< EitherIsExprTree< L, R >()>
 
template<typename T >
using ConstraintsDetector = typename T::Constraints
 
template<typename T >
using ConstraintsType = Util::IsDetected_t< Constraints<>, ConstraintsDetector, T >
 
template<size_t Idx, typename Tuple >
using UnderlyingObject_t = typename std::decay_t< std::tuple_element_t< Idx, Tuple > >::element_type::ObjectType_t
 

Enumerations

enum class  ExprType {
  ConstTrue ,
  LeafStaticPlaceholder ,
  LeafData ,
  Greater ,
  Less ,
  Equal ,
  Geq ,
  Leq ,
  Neq ,
  Like ,
  And ,
  Or
}
 
enum class  AggregateFunction {
  Count ,
  Min ,
  Max
}
 
enum class  SelectBehaviour {
  Some ,
  One
}
 

Functions

bool MatchesSchema (const QString &baseName, const QString &schema, QSqlDatabase &db)
 
template<typename T >
QString MorphFieldName (QString str) noexcept
 
template<typename Seq , int Idx>
QString GetFieldName () noexcept
 
template<auto Ptr, size_t Idx = 0>
constexpr size_t FieldIndex () noexcept
 
template<auto Ptr>
QString GetFieldNamePtr () noexcept
 
template<auto Ptr>
QString GetQualifiedFieldNamePtr () noexcept
 
template<typename T >
QVariant ToVariantF (const T &t) noexcept
 
template<typename T >
auto MakeInserter (const CachedFieldsData &data, const QSqlQuery_ptr &insertQuery, bool bindPrimaryKey) noexcept
 
template<typename Seq >
constexpr auto HasAutogenPKey () noexcept
 
template<typename T >
CachedFieldsData BuildCachedFieldsData (const QString &table) noexcept
 
template<typename T >
CachedFieldsData BuildCachedFieldsData () noexcept
 
template<typename T , size_t... Indices>
InitializeFromQuery (const QSqlQuery &q, std::index_sequence< Indices... >, int startIdx) noexcept
 
QString TypeToSql (ExprType type) noexcept
 
constexpr bool IsRelational (ExprType type) noexcept
 
template<typename T >
constexpr auto AsLeafData (const T &node) noexcept
 
template<ExprType Type, typename L , typename R >
auto MakeExprTree (const L &left, const R &right) noexcept
 
template<typename L , typename R >
constexpr bool EitherIsExprTree () noexcept
 
template<typename L , typename R , typename = EnableRelOp_t<L, R>>
auto operator< (const L &left, const R &right) noexcept
 
template<typename L , typename R , typename = EnableRelOp_t<L, R>>
auto operator> (const L &left, const R &right) noexcept
 
template<typename L , typename R , typename = EnableRelOp_t<L, R>>
auto operator== (const L &left, const R &right) noexcept
 
template<typename L , typename R , typename = EnableRelOp_t<L, R>>
auto operator!= (const L &left, const R &right) noexcept
 
template<typename L , ExprType Op>
auto operator| (const L &left, InfixBinary< Op >) noexcept
 
template<typename L , ExprType Op, typename R >
auto operator| (const InfixBinaryProxy< L, Op > &left, const R &right) noexcept
 
template<typename L , typename R , typename = EnableRelOp_t<L, R>>
auto operator&& (const L &left, const R &right) noexcept
 
template<typename L , typename R , typename = EnableRelOp_t<L, R>>
auto operator|| (const L &left, const R &right) noexcept
 
template<typename >
auto HandleExprTree (const ExprTree< ExprType::ConstTrue > &, int lastId=0) noexcept
 
template<typename Seq , typename Tree , typename = decltype (std::declval<Tree> ().ToSql (std::declval<ToSqlState<Seq>&> ()))>
auto HandleExprTree (const Tree &tree, int lastId=0) noexcept
 
template<typename L , typename R , typename = std::enable_if_t<IsSelector<L> {} && IsSelector<R> {}>>
SelectorUnion< L, R > operator+ (L, R) noexcept
 
template<auto... Ptrs, size_t... Idxs>
auto MakeIndexedQueryHandler (MemberPtrs< Ptrs... >, std::index_sequence< Idxs... >) noexcept
 
template<auto Ptr>
auto MakeIndexedQueryHandler () noexcept
 
template<auto... Ptrs>
QStringList BuildFieldNames () noexcept
 
template<size_t RepIdx, size_t TupIdx, typename Tuple , typename NewType >
constexpr decltype(auto) GetReplaceTupleElem (Tuple &&tuple, NewType &&arg) noexcept
 
template<size_t RepIdx, typename NewType , typename Tuple , size_t... TupIdxs>
constexpr auto ReplaceTupleElemImpl (Tuple &&tuple, NewType &&arg, std::index_sequence< TupIdxs... >) noexcept
 
template<size_t RepIdx, typename NewType , typename... TupleArgs>
constexpr auto ReplaceTupleElem (std::tuple< TupleArgs... > &&tuple, NewType &&arg) noexcept
 
template<typename... LArgs, typename... RArgs>
auto Combine (std::tuple< LArgs... > &&left, std::tuple< RArgs... > &&right) noexcept
 
template<typename... LArgs, typename R >
auto Combine (std::tuple< LArgs... > &&left, const R &right) noexcept
 
template<typename L , typename... RArgs>
auto Combine (const L &left, std::tuple< RArgs... > &&right) noexcept
 
template<typename L , typename R >
auto Combine (const L &left, const R &right) noexcept
 
template<typename L , typename R >
constexpr auto CombineBehaviour (L, R) noexcept
 
template<typename ResList >
decltype(auto) HandleResultBehaviour (ResultBehaviour::All, ResList &&list) noexcept
 
template<typename ResList >
auto HandleResultBehaviour (ResultBehaviour::First, ResList &&list) noexcept
 
template<typename F , typename R >
 HandleSelectorResult (QString, F, R) -> HandleSelectorResult< F, R >
 
template<typename... Args>
QStringList GetConstraintsStringList (Constraints< Args... >, const CachedFieldsData &data) noexcept
 
template<typename ImplFactory , typename T , size_t... Indices>
QList< QString > GetTypes (std::index_sequence< Indices... >) noexcept
 
template<typename ImplFactory , typename T >
QString AdaptCreateTable (const CachedFieldsData &data) noexcept
 
template<typename ImplFactory , typename Tuple , size_t... Idxs>
void AdaptPtrs (const QSqlDatabase &db, Tuple &tuple, std::index_sequence< Idxs... >)
 

Variables

template<typename S >
constexpr auto SeqSize = boost::fusion::result_of::size<S>::type::value
 
template<typename S >
constexpr auto SeqIndices = std::make_index_sequence<SeqSize<S>> {}
 
template<typename T >
constexpr bool TypeNameCustomized = IsDetected_v<TypeNameDetector, T>
 
template<typename T >
constexpr bool BaseTypeCustomized = IsDetected_v<BaseTypeDetector, T>
 
template<typename Seq >
constexpr auto HasPKey = IsDetected_v<FindPKeyDetector, Seq>
 
template<typename Seq , typename L , typename R >
constexpr auto AreComparableTypes = IsDetected_v<ComparableDetector, Seq, L, R> || IsDetected_v<ComparableDetector, Seq, R, L>
 
constexpr auto ConstTrueTree_v = ExprTree<ExprType::ConstTrue> {}
 
constexpr CountAllCountAllPtr = nullptr
 

Typedef Documentation

◆ AggregateDetector_t

template<typename T , typename... Args>
using LC::Util::oral::detail::AggregateDetector_t = typedef decltype (new T { std::declval<Args> ()... })

Definition at line 475 of file oral.h.

◆ BaseTypeDetector

template<typename T >
using LC::Util::oral::detail::BaseTypeDetector = typedef typename T::BaseType

Definition at line 182 of file oral.h.

◆ ComparableDetector

template<typename Seq , typename L , typename R >
using LC::Util::oral::detail::ComparableDetector = typedef decltype (std::declval<UnwrapIndirect_t<typename L::template ValueType_t<Seq> >> () == std::declval<UnwrapIndirect_t<typename R::template ValueType_t<Seq> >> ())

Definition at line 576 of file oral.h.

◆ ConstraintsDetector

template<typename T >
using LC::Util::oral::detail::ConstraintsDetector = typedef typename T::Constraints

Definition at line 1579 of file oral.h.

◆ ConstraintsType

Definition at line 1582 of file oral.h.

◆ EnableRelOp_t

template<typename L , typename R >
using LC::Util::oral::detail::EnableRelOp_t = typedef std::enable_if_t<EitherIsExprTree<L, R> ()>

Definition at line 776 of file oral.h.

◆ FindPKeyDetector

template<typename Seq >
using LC::Util::oral::detail::FindPKeyDetector = typedef boost::mpl::int_<FindPKey<Seq>::result_type::value>

Definition at line 347 of file oral.h.

◆ IInsertQueryBuilder_ptr

Definition at line 27 of file impldefs.h.

◆ MorpherDetector

template<typename U >
using LC::Util::oral::detail::MorpherDetector = typedef decltype (std::declval<U> ().FieldNameMorpher (QString {}))

Definition at line 80 of file oral.h.

◆ TypeNameDetector

template<typename T >
using LC::Util::oral::detail::TypeNameDetector = typedef decltype (T::TypeName)

Definition at line 176 of file oral.h.

◆ UnderlyingObject_t

template<size_t Idx, typename Tuple >
using LC::Util::oral::detail::UnderlyingObject_t = typedef typename std::decay_t<std::tuple_element_t<Idx, Tuple> >::element_type::ObjectType_t

Definition at line 1699 of file oral.h.

◆ UnwrapIndirect_t

template<typename T >
using LC::Util::oral::detail::UnwrapIndirect_t = typedef typename std::conditional_t<IsIndirect<T> {}, T, WrapDirect<T> >::value_type

Definition at line 571 of file oral.h.

◆ ValueAt_t

template<typename Seq , typename Idx >
using LC::Util::oral::detail::ValueAt_t = typedef typename boost::fusion::result_of::value_at<Seq, Idx>::type

Definition at line 325 of file oral.h.

◆ ValueAtC_t

template<typename Seq , int Idx>
using LC::Util::oral::detail::ValueAtC_t = typedef typename boost::fusion::result_of::value_at_c<Seq, Idx>::type

Definition at line 322 of file oral.h.

Enumeration Type Documentation

◆ AggregateFunction

Enumerator
Count 
Min 
Max 

Definition at line 884 of file oral.h.

◆ ExprType

Enumerator
ConstTrue 
LeafStaticPlaceholder 
LeafData 
Greater 
Less 
Equal 
Geq 
Leq 
Neq 
Like 
And 
Or 

Definition at line 494 of file oral.h.

◆ SelectBehaviour

Enumerator
Some 
One 

Definition at line 1012 of file oral.h.

Function Documentation

◆ AdaptCreateTable()

template<typename ImplFactory , typename T >
QString LC::Util::oral::detail::AdaptCreateTable ( const CachedFieldsData data)
noexcept

Definition at line 1618 of file oral.h.

References GetConstraintsStringList().

+ Here is the call graph for this function:

◆ AdaptPtrs()

template<typename ImplFactory , typename Tuple , size_t... Idxs>
void LC::Util::oral::detail::AdaptPtrs ( const QSqlDatabase &  db,
Tuple &  tuple,
std::index_sequence< Idxs... >   
)

Definition at line 1702 of file oral.h.

◆ AsLeafData()

template<typename T >
constexpr auto LC::Util::oral::detail::AsLeafData ( const T &  node)
constexprnoexcept

Definition at line 700 of file oral.h.

Referenced by MakeExprTree(), and LC::Util::oral::detail::ExprTree< ExprType::LeafStaticPlaceholder, MemberPtrs< Ptr >, void >::operator=().

+ Here is the caller graph for this function:

◆ BuildCachedFieldsData() [1/2]

template<typename T >
CachedFieldsData LC::Util::oral::detail::BuildCachedFieldsData ( )
noexcept

Definition at line 372 of file oral.h.

◆ BuildCachedFieldsData() [2/2]

template<typename T >
CachedFieldsData LC::Util::oral::detail::BuildCachedFieldsData ( const QString &  table)
noexcept

Definition at line 362 of file oral.h.

References LC::Util::Map().

+ Here is the call graph for this function:

◆ BuildFieldNames()

template<auto... Ptrs>
QStringList LC::Util::oral::detail::BuildFieldNames ( )
noexcept

Definition at line 1007 of file oral.h.

◆ Combine() [1/4]

template<typename L , typename R >
auto LC::Util::oral::detail::Combine ( const L &  left,
const R &  right 
)
noexcept

Definition at line 1082 of file oral.h.

◆ Combine() [2/4]

template<typename L , typename... RArgs>
auto LC::Util::oral::detail::Combine ( const L &  left,
std::tuple< RArgs... > &&  right 
)
noexcept

Definition at line 1076 of file oral.h.

◆ Combine() [3/4]

template<typename... LArgs, typename R >
auto LC::Util::oral::detail::Combine ( std::tuple< LArgs... > &&  left,
const R &  right 
)
noexcept

Definition at line 1070 of file oral.h.

◆ Combine() [4/4]

template<typename... LArgs, typename... RArgs>
auto LC::Util::oral::detail::Combine ( std::tuple< LArgs... > &&  left,
std::tuple< RArgs... > &&  right 
)
noexcept

Definition at line 1064 of file oral.h.

◆ CombineBehaviour()

template<typename L , typename R >
constexpr auto LC::Util::oral::detail::CombineBehaviour ( ,
 
)
constexprnoexcept

Definition at line 1094 of file oral.h.

◆ EitherIsExprTree()

template<typename L , typename R >
constexpr bool LC::Util::oral::detail::EitherIsExprTree ( )
constexprnoexcept

Definition at line 766 of file oral.h.

◆ FieldIndex()

template<auto Ptr, size_t Idx = 0>
constexpr size_t LC::Util::oral::detail::FieldIndex ( )
constexprnoexcept

Definition at line 141 of file oral.h.

◆ GetConstraintsStringList()

template<typename... Args>
QStringList LC::Util::oral::detail::GetConstraintsStringList ( Constraints< Args... >  ,
const CachedFieldsData data 
)
noexcept

Definition at line 1606 of file oral.h.

Referenced by AdaptCreateTable().

+ Here is the caller graph for this function:

◆ GetFieldName()

template<typename Seq , int Idx>
QString LC::Util::oral::detail::GetFieldName ( )
noexcept

Definition at line 96 of file oral.h.

Referenced by LC::Util::oral::detail::ExprTree< ExprType::LeafStaticPlaceholder, MemberPtrs< Ptr >, void >::ToSql().

+ Here is the caller graph for this function:

◆ GetFieldNamePtr()

template<auto Ptr>
QString LC::Util::oral::detail::GetFieldNamePtr ( )
noexcept

Definition at line 162 of file oral.h.

◆ GetQualifiedFieldNamePtr()

template<auto Ptr>
QString LC::Util::oral::detail::GetQualifiedFieldNamePtr ( )
noexcept

Definition at line 169 of file oral.h.

◆ GetReplaceTupleElem()

template<size_t RepIdx, size_t TupIdx, typename Tuple , typename NewType >
constexpr decltype(auto) LC::Util::oral::detail::GetReplaceTupleElem ( Tuple &&  tuple,
NewType &&  arg 
)
constexprnoexcept

Definition at line 1020 of file oral.h.

◆ GetTypes()

template<typename ImplFactory , typename T , size_t... Indices>
QList< QString > LC::Util::oral::detail::GetTypes ( std::index_sequence< Indices... >  )
noexcept

Definition at line 1612 of file oral.h.

◆ HandleExprTree() [1/2]

template<typename >
auto LC::Util::oral::detail::HandleExprTree ( const ExprTree< ExprType::ConstTrue > &  ,
int  lastId = 0 
)
noexcept

Definition at line 859 of file oral.h.

◆ HandleExprTree() [2/2]

template<typename Seq , typename Tree , typename = decltype (std::declval<Tree> ().ToSql (std::declval<ToSqlState<Seq>&> ()))>
auto LC::Util::oral::detail::HandleExprTree ( const Tree &  tree,
int  lastId = 0 
)
noexcept

Definition at line 866 of file oral.h.

References LC::Util::oral::detail::ExprTreeHandler< F >::LastID_, and LC::Util::Stlize().

+ Here is the call graph for this function:

◆ HandleResultBehaviour() [1/2]

template<typename ResList >
decltype(auto) LC::Util::oral::detail::HandleResultBehaviour ( ResultBehaviour::All  ,
ResList &&  list 
)
noexcept

Definition at line 1103 of file oral.h.

◆ HandleResultBehaviour() [2/2]

template<typename ResList >
auto LC::Util::oral::detail::HandleResultBehaviour ( ResultBehaviour::First  ,
ResList &&  list 
)
noexcept

Definition at line 1109 of file oral.h.

◆ HandleSelectorResult()

template<typename F , typename R >
LC::Util::oral::detail::HandleSelectorResult ( QString  ,
,
 
) -> HandleSelectorResult< F, R >

◆ HasAutogenPKey()

template<typename Seq >
constexpr auto LC::Util::oral::detail::HasAutogenPKey ( )
constexprnoexcept

Definition at line 353 of file oral.h.

◆ InitializeFromQuery()

template<typename T , size_t... Indices>
T LC::Util::oral::detail::InitializeFromQuery ( const QSqlQuery &  q,
std::index_sequence< Indices... >  ,
int  startIdx 
)
noexcept

Definition at line 478 of file oral.h.

◆ IsRelational()

constexpr bool LC::Util::oral::detail::IsRelational ( ExprType  type)
constexprnoexcept

Definition at line 546 of file oral.h.

References Equal, Geq, Greater, Leq, Less, Like, and Neq.

◆ MakeExprTree()

template<ExprType Type, typename L , typename R >
auto LC::Util::oral::detail::MakeExprTree ( const L &  left,
const R &  right 
)
noexcept

Definition at line 758 of file oral.h.

References AsLeafData().

+ Here is the call graph for this function:

◆ MakeIndexedQueryHandler() [1/2]

template<auto Ptr>
auto LC::Util::oral::detail::MakeIndexedQueryHandler ( )
noexcept

Definition at line 998 of file oral.h.

◆ MakeIndexedQueryHandler() [2/2]

template<auto... Ptrs, size_t... Idxs>
auto LC::Util::oral::detail::MakeIndexedQueryHandler ( MemberPtrs< Ptrs... >  ,
std::index_sequence< Idxs... >   
)
noexcept

Definition at line 986 of file oral.h.

◆ MakeInserter()

template<typename T >
auto LC::Util::oral::detail::MakeInserter ( const CachedFieldsData data,
const QSqlQuery_ptr insertQuery,
bool  bindPrimaryKey 
)
noexcept

Definition at line 300 of file oral.h.

References LC::Util::DBLock::DumpError().

+ Here is the call graph for this function:

◆ MatchesSchema()

bool LC::Util::oral::detail::MatchesSchema ( const QString &  baseName,
const QString &  schema,
QSqlDatabase &  db 
)

Definition at line 21 of file migrate.h.

References LC::Util::RunTextQuery().

Referenced by LC::Util::oral::Migrate().

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

◆ MorphFieldName()

template<typename T >
QString LC::Util::oral::detail::MorphFieldName ( QString  str)
noexcept

Definition at line 83 of file oral.h.

◆ operator!=()

template<typename L , typename R , typename = EnableRelOp_t<L, R>>
auto LC::Util::oral::detail::operator!= ( const L &  left,
const R &  right 
)
noexcept

Definition at line 797 of file oral.h.

◆ operator&&()

template<typename L , typename R , typename = EnableRelOp_t<L, R>>
auto LC::Util::oral::detail::operator&& ( const L &  left,
const R &  right 
)
noexcept

Definition at line 832 of file oral.h.

◆ operator+()

template<typename L , typename R , typename = std::enable_if_t<IsSelector<L> {} && IsSelector<R> {}>>
SelectorUnion< L, R > LC::Util::oral::detail::operator+ ( ,
 
)
noexcept

Definition at line 925 of file oral.h.

◆ operator<()

template<typename L , typename R , typename = EnableRelOp_t<L, R>>
auto LC::Util::oral::detail::operator< ( const L &  left,
const R &  right 
)
noexcept

Definition at line 779 of file oral.h.

◆ operator==()

template<typename L , typename R , typename = EnableRelOp_t<L, R>>
auto LC::Util::oral::detail::operator== ( const L &  left,
const R &  right 
)
noexcept

Definition at line 791 of file oral.h.

◆ operator>()

template<typename L , typename R , typename = EnableRelOp_t<L, R>>
auto LC::Util::oral::detail::operator> ( const L &  left,
const R &  right 
)
noexcept

Definition at line 785 of file oral.h.

◆ operator|() [1/2]

template<typename L , ExprType Op, typename R >
auto LC::Util::oral::detail::operator| ( const InfixBinaryProxy< L, Op > &  left,
const R &  right 
)
noexcept

Definition at line 826 of file oral.h.

◆ operator|() [2/2]

template<typename L , ExprType Op>
auto LC::Util::oral::detail::operator| ( const L &  left,
InfixBinary< Op >   
)
noexcept

Definition at line 820 of file oral.h.

◆ operator||()

template<typename L , typename R , typename = EnableRelOp_t<L, R>>
auto LC::Util::oral::detail::operator|| ( const L &  left,
const R &  right 
)
noexcept

Definition at line 838 of file oral.h.

◆ ReplaceTupleElem()

template<size_t RepIdx, typename NewType , typename... TupleArgs>
constexpr auto LC::Util::oral::detail::ReplaceTupleElem ( std::tuple< TupleArgs... > &&  tuple,
NewType &&  arg 
)
constexprnoexcept

Definition at line 1038 of file oral.h.

◆ ReplaceTupleElemImpl()

template<size_t RepIdx, typename NewType , typename Tuple , size_t... TupIdxs>
constexpr auto LC::Util::oral::detail::ReplaceTupleElemImpl ( Tuple &&  tuple,
NewType &&  arg,
std::index_sequence< TupIdxs... >   
)
constexprnoexcept

Definition at line 1029 of file oral.h.

◆ ToVariantF()

template<typename T >
QVariant LC::Util::oral::detail::ToVariantF ( const T &  t)
noexcept

◆ TypeToSql()

QString LC::Util::oral::detail::TypeToSql ( ExprType  type)
inlinenoexcept

Definition at line 514 of file oral.h.

References And, ConstTrue, Equal, Geq, Greater, LeafData, LeafStaticPlaceholder, Leq, Less, Like, Neq, Or, and LC::Util::Unreachable().

Referenced by LC::Util::oral::detail::ExprTree< Type, L, R >::ToSql().

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

Variable Documentation

◆ AreComparableTypes

template<typename Seq , typename L , typename R >
constexpr auto LC::Util::oral::detail::AreComparableTypes = IsDetected_v<ComparableDetector, Seq, L, R> || IsDetected_v<ComparableDetector, Seq, R, L>
constexpr

Definition at line 580 of file oral.h.

◆ BaseTypeCustomized

template<typename T >
constexpr bool LC::Util::oral::detail::BaseTypeCustomized = IsDetected_v<BaseTypeDetector, T>
constexpr

Definition at line 185 of file oral.h.

◆ ConstTrueTree_v

constexpr auto LC::Util::oral::detail::ConstTrueTree_v = ExprTree<ExprType::ConstTrue> {}
constexpr

◆ CountAllPtr

constexpr CountAll* LC::Util::oral::detail::CountAllPtr = nullptr
inlineconstexpr

Definition at line 896 of file oral.h.

◆ HasPKey

template<typename Seq >
constexpr auto LC::Util::oral::detail::HasPKey = IsDetected_v<FindPKeyDetector, Seq>
constexpr

Definition at line 350 of file oral.h.

◆ SeqIndices

template<typename S >
constexpr auto LC::Util::oral::detail::SeqIndices = std::make_index_sequence<SeqSize<S>> {}
constexpr

Definition at line 105 of file oral.h.

◆ SeqSize

template<typename S >
constexpr auto LC::Util::oral::detail::SeqSize = boost::fusion::result_of::size<S>::type::value
constexpr

Definition at line 102 of file oral.h.

◆ TypeNameCustomized

template<typename T >
constexpr bool LC::Util::oral::detail::TypeNameCustomized = IsDetected_v<TypeNameDetector, T>
constexpr

Definition at line 179 of file oral.h.