![]() |
LeechCraft
0.6.70-9312-g4cc613a2df
Modular cross-platform feature rich live environment.
|
#include <stdexcept>#include <type_traits>#include <memory>#include <boost/fusion/include/for_each.hpp>#include <boost/fusion/include/fold.hpp>#include <boost/fusion/include/filter_if.hpp>#include <boost/fusion/container/vector.hpp>#include <boost/fusion/include/vector.hpp>#include <boost/fusion/include/transform.hpp>#include <boost/fusion/include/zip.hpp>#include <boost/fusion/container/generation/make_vector.hpp>#include <boost/variant/variant.hpp>#include <boost/optional.hpp>#include <QStringList>#include <QDateTime>#include <QPair>#include <QSqlQuery>#include <QSqlRecord>#include <QVariant>#include <QtDebug>#include <util/sll/qtutil.h>#include <util/sll/prelude.h>#include <util/sll/unreachable.h>#include <util/db/dblock.h>#include <util/db/util.h>#include "oraltypes.h"
Include dependency graph for oral.h:
This graph shows which files directly or indirectly include this file:Go to the source code of this file.
Namespaces | |
| LeechCraft | |
| LeechCraft::Util | |
| LeechCraft::Util::oral | |
| LeechCraft::Util::oral::detail | |
| LeechCraft::Util::oral::sph | |
Typedefs | |
| using | QSqlQuery_ptr = std::shared_ptr< QSqlQuery > |
| template<typename Seq , int Idx> | |
| using | LeechCraft::Util::oral::detail::ValueAtC_t = typename boost::fusion::result_of::value_at_c< Seq, Idx >::type |
| template<typename Seq , typename Idx > | |
| using | LeechCraft::Util::oral::detail::ValueAt_t = typename boost::fusion::result_of::value_at< Seq, Idx >::type |
| template<int Idx> | |
| using | LeechCraft::Util::oral::sph::pos = detail::ExprTree< detail::ExprType::LeafStaticPlaceholder, boost::mpl::int_< Idx >> |
| template<typename T , typename Ret > | |
| using | LeechCraft::Util::oral::detail::WrapAsFunc_t = typename WrapAsFunc< T, Ret >::type |
| using | LeechCraft::Util::oral::detail::transform_view = typename boost::mpl::transform< objects_vector, WrapAsFunc< boost::mpl::_1, T >>::type |
| template<typename T > | |
| using | LeechCraft::Util::oral::ObjectInfo_ptr = std::shared_ptr< ObjectInfo< T >> |
Functions | |
| template<typename T > | |
| QString | LeechCraft::Util::oral::detail::MorphFieldNameImpl (const QString &str, int, decltype(&T::FieldNameMorpher)*=nullptr) |
| template<typename T > | |
| QString | LeechCraft::Util::oral::detail::MorphFieldNameImpl (const QString &str, float) |
| template<typename T > | |
| QString | LeechCraft::Util::oral::detail::MorphFieldName (const QString &str) |
| template<typename T > | |
| std::function< void(T)> | LeechCraft::Util::oral::detail::MakeInserter (CachedFieldsData data, QSqlQuery_ptr insertQuery, bool bindPrimaryKey) |
| template<typename Seq , int Idx = FindPKey<Seq>::result_type::value> | |
| constexpr bool | LeechCraft::Util::oral::detail::HasPKeyImpl (int) |
| template<typename Seq > | |
| constexpr bool | LeechCraft::Util::oral::detail::HasPKeyImpl (float) |
| template<typename Seq > | |
| constexpr bool | LeechCraft::Util::oral::detail::HasPKey () |
| template<typename Seq , int Idx = FindPKey<Seq>::result_type::value> | |
| constexpr bool | LeechCraft::Util::oral::detail::HasAutogenPKeyImpl (int) |
| template<typename > | |
| constexpr bool | LeechCraft::Util::oral::detail::HasAutogenPKeyImpl (float) |
| template<typename Seq > | |
| constexpr bool | LeechCraft::Util::oral::detail::HasAutogenPKey () |
| QString | LeechCraft::Util::oral::detail::GetInsertPrefix (InsertAction action) |
| template<typename T > | |
| QList< T > | LeechCraft::Util::oral::detail::PerformSelect (QSqlQuery_ptr q) |
| template<typename T > | |
| std::function< QList< T >)> | LeechCraft::Util::oral::detail::AdaptSelectAll (const CachedFieldsData &data) |
| QString | LeechCraft::Util::oral::detail::TypeToSql (ExprType type) |
| template<typename T > | |
| constexpr T | LeechCraft::Util::oral::detail::Ctfy (T t) |
| template<ExprType T1, ExprType T2> | |
| constexpr bool | LeechCraft::Util::oral::detail::CheckCompatible () |
| constexpr bool | LeechCraft::Util::oral::detail::IsRelational (ExprType type) |
| template<typename Seq , typename L , typename R > | |
| constexpr bool | LeechCraft::Util::oral::detail::AreComparableTypesImpl (int, decltype(std::declval< typename L::template ValueType_t< Seq >>()==std::declval< typename R::template ValueType_t< Seq >>())*=nullptr) |
| template<typename Seq , typename L , typename R > | |
| constexpr bool | LeechCraft::Util::oral::detail::AreComparableTypesImpl (float) |
| template<typename Seq , typename L , typename R > | |
| constexpr bool | LeechCraft::Util::oral::detail::AreComparableTypes () |
| template<ExprType LType, typename LL , typename LR , ExprType RType, typename RL , typename RR > | |
| ExprTree< ExprType::Less, ExprTree< LType, LL, LR > , ExprTree< RType, RL, RR > > | LeechCraft::Util::oral::detail::operator< (const ExprTree< LType, LL, LR > &left, const ExprTree< RType, RL, RR > &right) |
| template<ExprType LType, typename LL , typename LR , typename R > | |
| ExprTree< ExprType::Less, ExprTree< LType, LL, LR > , ExprTree< ExprType::LeafData, R > > | LeechCraft::Util::oral::detail::operator< (const ExprTree< LType, LL, LR > &left, const R &right) |
| template<ExprType RType, typename RL , typename RR , typename L > | |
| ExprTree< ExprType::Less, ExprTree< ExprType::LeafData, L >, ExprTree< RType, RL, RR > > | LeechCraft::Util::oral::detail::operator< (const L &left, const ExprTree< RType, RL, RR > &right) |
| template<ExprType LType, typename LL , typename LR , ExprType RType, typename RL , typename RR > | |
| ExprTree< ExprType::Equal, ExprTree< LType, LL, LR > , ExprTree< RType, RL, RR > > | LeechCraft::Util::oral::detail::operator== (const ExprTree< LType, LL, LR > &left, const ExprTree< RType, RL, RR > &right) |
| template<ExprType LType, typename LL , typename LR , typename R > | |
| ExprTree< ExprType::Equal, ExprTree< LType, LL, LR > , ExprTree< ExprType::LeafData, R > > | LeechCraft::Util::oral::detail::operator== (const ExprTree< LType, LL, LR > &left, const R &right) |
| template<ExprType RType, typename RL , typename RR , typename L > | |
| ExprTree< ExprType::Equal, ExprTree< ExprType::LeafData, L >, ExprTree< RType, RL, RR > > | LeechCraft::Util::oral::detail::operator== (const L &left, const ExprTree< RType, RL, RR > &right) |
| template<ExprType LType, typename LL , typename LR , ExprType RType, typename RL , typename RR > | |
| ExprTree< ExprType::And, ExprTree< LType, LL, LR > , ExprTree< RType, RL, RR > > | LeechCraft::Util::oral::detail::operator&& (const ExprTree< LType, LL, LR > &left, const ExprTree< RType, RL, RR > &right) |
| template<ExprType LType, typename LL , typename LR , typename R > | |
| ExprTree< ExprType::And, ExprTree< LType, LL, LR > , ExprTree< ExprType::LeafData, R > > | LeechCraft::Util::oral::detail::operator&& (const ExprTree< LType, LL, LR > &left, const R &right) |
| template<ExprType RType, typename RL , typename RR , typename L > | |
| ExprTree< ExprType::And, ExprTree< ExprType::LeafData, L >, ExprTree< RType, RL, RR > > | LeechCraft::Util::oral::detail::operator&& (const L &left, const ExprTree< RType, RL, RR > &right) |
| template<typename Seq , ExprType Type, typename L , typename R > | |
| QPair< QString, std::function < void(QSqlQuery_ptr)> > | LeechCraft::Util::oral::detail::HandleExprTree (const ExprTree< Type, L, R > &tree) |
| template<typename T > | |
| SelectByFieldsWrapper< T > | LeechCraft::Util::oral::detail::AdaptSelectFields (const CachedFieldsData &data) |
| template<typename T > | |
| SelectOneByFieldsWrapper< T > | LeechCraft::Util::oral::detail::AdaptSelectOneFields (const CachedFieldsData &data) |
| template<typename T > | |
| DeleteByFieldsWrapper< T > | LeechCraft::Util::oral::detail::AdaptDeleteFields (const CachedFieldsData &data) |
| template<typename T , typename ObjInfo > | |
| std::enable_if< CollectRefs< T > ::type_list::size::value==1 > ::type | LeechCraft::Util::oral::detail::AdaptSelectRef (const CachedFieldsData &data, ObjInfo &info) |
| template<typename T > | |
| CachedFieldsData | LeechCraft::Util::oral::detail::BuildCachedFieldsData (const QSqlDatabase &db, const QString &table=T::ClassName()) |
| template<typename T > | |
| ObjectInfo< T > | LeechCraft::Util::oral::Adapt (const QSqlDatabase &db) |
| template<typename T > | |
| ObjectInfo_ptr< T > | LeechCraft::Util::oral::AdaptPtr (const QSqlDatabase &db) |
Variables | |
| std::function< QList< T > objects_vector)> | LeechCraft::Util::oral::detail::SelectByFKeysActor_ |
| boost::fusion::result_of::as_vector < transform_view >::type | LeechCraft::Util::oral::detail::SingleFKeySelectors_ |
| using QSqlQuery_ptr = std::shared_ptr<QSqlQuery> |