/**************************************************************************** ** ** https://www.qxorm.com/ ** Copyright (C) 2013 Lionel Marty (contact@qxorm.com) ** ** This file is part of the QxOrm library ** ** This software is provided 'as-is', without any express or implied ** warranty. In no event will the authors be held liable for any ** damages arising from the use of this software ** ** Commercial Usage ** Licensees holding valid commercial QxOrm licenses may use this file in ** accordance with the commercial license agreement provided with the ** Software or, alternatively, in accordance with the terms contained in ** a written agreement between you and Lionel Marty ** ** GNU General Public License Usage ** Alternatively, this file may be used under the terms of the GNU ** General Public License version 3.0 as published by the Free Software ** Foundation and appearing in the file 'license.gpl3.txt' included in the ** packaging of this file. Please review the following information to ** ensure the GNU General Public License version 3.0 requirements will be ** met : http://www.gnu.org/copyleft/gpl.html ** ** If you are unsure which license is appropriate for your use, or ** if you have questions regarding the use of this file, please contact : ** contact@qxorm.com ** ****************************************************************************/ #ifdef _QX_ENABLE_BOOST_SERIALIZATION #define QX_CVT_DEFAULT_ARCHIVE_TO_VARIANT QX_CVT_DEFAULT_ARCHIVE::to_string(t) #else // _QX_ENABLE_BOOST_SERIALIZATION #define QX_CVT_DEFAULT_ARCHIVE_TO_VARIANT QX_CVT_DEFAULT_ARCHIVE::to_byte_array(t) #endif // _QX_ENABLE_BOOST_SERIALIZATION #include namespace qx { namespace cvt { namespace detail { template <> struct QxConvert_ToVariant< qx::trait::no_type > { static inline QVariant toVariant(const qx::trait::no_type & t, const QString & format, int index, qx::cvt::context::ctx_type ctx) { Q_UNUSED(t); Q_UNUSED(format); Q_UNUSED(index); Q_UNUSED(ctx); return QVariant(); } }; template <> struct QxConvert_ToVariant< bool > { static inline QVariant toVariant(const bool & t, const QString & format, int index, qx::cvt::context::ctx_type ctx) { Q_UNUSED(format); Q_UNUSED(index); Q_UNUSED(ctx); return QVariant(t); } }; template <> struct QxConvert_ToVariant< short > { static inline QVariant toVariant(const short & t, const QString & format, int index, qx::cvt::context::ctx_type ctx) { Q_UNUSED(format); Q_UNUSED(index); Q_UNUSED(ctx); return QVariant(static_cast(t)); } }; template <> struct QxConvert_ToVariant< int > { static inline QVariant toVariant(const int & t, const QString & format, int index, qx::cvt::context::ctx_type ctx) { Q_UNUSED(format); Q_UNUSED(index); Q_UNUSED(ctx); return QVariant(t); } }; template <> struct QxConvert_ToVariant< long > { static inline QVariant toVariant(const long & t, const QString & format, int index, qx::cvt::context::ctx_type ctx) { Q_UNUSED(format); Q_UNUSED(index); Q_UNUSED(ctx); return QVariant(static_cast(t)); } }; template <> struct QxConvert_ToVariant< long long > { static inline QVariant toVariant(const long long & t, const QString & format, int index, qx::cvt::context::ctx_type ctx) { Q_UNUSED(format); Q_UNUSED(index); Q_UNUSED(ctx); return QVariant(static_cast(t)); } }; template <> struct QxConvert_ToVariant< float > { static inline QVariant toVariant(const float & t, const QString & format, int index, qx::cvt::context::ctx_type ctx) { Q_UNUSED(format); Q_UNUSED(index); Q_UNUSED(ctx); return QVariant(static_cast(t)); } }; template <> struct QxConvert_ToVariant< double > { static inline QVariant toVariant(const double & t, const QString & format, int index, qx::cvt::context::ctx_type ctx) { Q_UNUSED(format); Q_UNUSED(index); Q_UNUSED(ctx); return QVariant(t); } }; template <> struct QxConvert_ToVariant< unsigned short > { static inline QVariant toVariant(const unsigned short & t, const QString & format, int index, qx::cvt::context::ctx_type ctx) { Q_UNUSED(format); Q_UNUSED(index); Q_UNUSED(ctx); return QVariant(static_cast(t)); } }; template <> struct QxConvert_ToVariant< unsigned int > { static inline QVariant toVariant(const unsigned int & t, const QString & format, int index, qx::cvt::context::ctx_type ctx) { Q_UNUSED(format); Q_UNUSED(index); Q_UNUSED(ctx); return QVariant(t); } }; template <> struct QxConvert_ToVariant< unsigned long > { static inline QVariant toVariant(const unsigned long & t, const QString & format, int index, qx::cvt::context::ctx_type ctx) { Q_UNUSED(format); Q_UNUSED(index); Q_UNUSED(ctx); return QVariant(static_cast(t)); } }; template <> struct QxConvert_ToVariant< unsigned long long > { static inline QVariant toVariant(const unsigned long long & t, const QString & format, int index, qx::cvt::context::ctx_type ctx) { Q_UNUSED(format); Q_UNUSED(index); Q_UNUSED(ctx); return QVariant(static_cast(t)); } }; template <> struct QxConvert_ToVariant< QDate > { static inline QVariant toVariant(const QDate & t, const QString & format, int index, qx::cvt::context::ctx_type ctx) { Q_UNUSED(format); Q_UNUSED(index); Q_UNUSED(ctx); return QVariant(t); } }; template <> struct QxConvert_ToVariant< QTime > { static inline QVariant toVariant(const QTime & t, const QString & format, int index, qx::cvt::context::ctx_type ctx) { Q_UNUSED(format); Q_UNUSED(index); Q_UNUSED(ctx); return QVariant(t); } }; template <> struct QxConvert_ToVariant< QDateTime > { static inline QVariant toVariant(const QDateTime & t, const QString & format, int index, qx::cvt::context::ctx_type ctx) { Q_UNUSED(format); Q_UNUSED(index); Q_UNUSED(ctx); return QVariant(t); } }; template <> struct QxConvert_ToVariant< QByteArray > { static inline QVariant toVariant(const QByteArray & t, const QString & format, int index, qx::cvt::context::ctx_type ctx) { Q_UNUSED(format); Q_UNUSED(index); Q_UNUSED(ctx); return QVariant(t); } }; template <> struct QxConvert_ToVariant< QString > { static inline QVariant toVariant(const QString & t, const QString & format, int index, qx::cvt::context::ctx_type ctx) { Q_UNUSED(format); Q_UNUSED(index); Q_UNUSED(ctx); return QVariant(t); } }; template <> struct QxConvert_ToVariant< QVariant > { static inline QVariant toVariant(const QVariant & t, const QString & format, int index, qx::cvt::context::ctx_type ctx) { if (ctx != qx::cvt::context::e_database) { return t; } if (! qx::cvt::detail::helper::checkConvertQVariantToString(t)) { return t; } return QVariant(qx::cvt::detail::QxConvert_ToString< QVariant >::toString(t, format, index, ctx)); } }; template <> struct QxConvert_ToVariant< QUuid > { static inline QVariant toVariant(const QUuid & t, const QString & format, int index, qx::cvt::context::ctx_type ctx) { Q_UNUSED(format); Q_UNUSED(index); Q_UNUSED(ctx); return QVariant(t.toString()); } }; template <> struct QxConvert_ToVariant< qx::QxDateNeutral > { static inline QVariant toVariant(const qx::QxDateNeutral & t, const QString & format, int index, qx::cvt::context::ctx_type ctx) { Q_UNUSED(format); Q_UNUSED(index); Q_UNUSED(ctx); return QVariant(t.toNeutral()); } }; template <> struct QxConvert_ToVariant< qx::QxTimeNeutral > { static inline QVariant toVariant(const qx::QxTimeNeutral & t, const QString & format, int index, qx::cvt::context::ctx_type ctx) { Q_UNUSED(format); Q_UNUSED(index); Q_UNUSED(ctx); return QVariant(t.toNeutral()); } }; template <> struct QxConvert_ToVariant< qx::QxDateTimeNeutral > { static inline QVariant toVariant(const qx::QxDateTimeNeutral & t, const QString & format, int index, qx::cvt::context::ctx_type ctx) { Q_UNUSED(format); Q_UNUSED(index); Q_UNUSED(ctx); return QVariant(t.toNeutral()); } }; template <> struct QxConvert_ToVariant< std::string > { static inline QVariant toVariant(const std::string & t, const QString & format, int index, qx::cvt::context::ctx_type ctx) #ifndef QT_NO_STL { Q_UNUSED(format); Q_UNUSED(index); Q_UNUSED(ctx); return QString::fromStdString(t); } }; #else // QT_NO_STL { Q_UNUSED(format); Q_UNUSED(index); Q_UNUSED(ctx); return QString::fromLatin1(t.data(), int(t.size())); } }; #endif // QT_NO_STL template <> struct QxConvert_ToVariant< std::wstring > { static inline QVariant toVariant(const std::wstring & t, const QString & format, int index, qx::cvt::context::ctx_type ctx) #if ((! defined(QT_NO_STL)) && (! defined(QT_NO_STL_WCHAR))) { Q_UNUSED(format); Q_UNUSED(index); Q_UNUSED(ctx); return QString::fromStdWString(t); } }; #else // ((! defined(QT_NO_STL)) && (! defined(QT_NO_STL_WCHAR))) { Q_UNUSED(format); Q_UNUSED(index); Q_UNUSED(ctx); Q_UNUSED(t); qAssert(false); /* Need STL compatibility ! */ return QVariant(); } }; #endif // ((! defined(QT_NO_STL)) && (! defined(QT_NO_STL_WCHAR))) template <> struct QxConvert_ToVariant< qx_bool > { static inline QVariant toVariant(const qx_bool & t, const QString & format, int index, qx::cvt::context::ctx_type ctx) { Q_UNUSED(format); Q_UNUSED(index); Q_UNUSED(ctx); return t.toString(); } }; #ifndef _QX_NO_JSON template <> struct QxConvert_ToVariant< QJsonValue > { static inline QVariant toVariant(const QJsonValue & t, const QString & format, int index, qx::cvt::context::ctx_type ctx) { Q_UNUSED(format); Q_UNUSED(index); Q_UNUSED(ctx); return t.toVariant(); } }; template <> struct QxConvert_ToVariant< QJsonArray > { static inline QVariant toVariant(const QJsonArray & t, const QString & format, int index, qx::cvt::context::ctx_type ctx) { Q_UNUSED(format); Q_UNUSED(index); Q_UNUSED(ctx); QVariant var(t); return var; } }; template <> struct QxConvert_ToVariant< QJsonObject > { static inline QVariant toVariant(const QJsonObject & t, const QString & format, int index, qx::cvt::context::ctx_type ctx) { Q_UNUSED(format); Q_UNUSED(index); Q_UNUSED(ctx); QVariant var(t); return var; } }; #endif // _QX_NO_JSON #ifdef _QX_ENABLE_BOOST template struct QxConvert_ToVariant< boost::optional > { static inline QVariant toVariant(const boost::optional & t, const QString & format, int index, qx::cvt::context::ctx_type ctx) { if (t) { return qx::cvt::to_variant((* t), format, index, ctx); }; return qx::trait::construct_null_qvariant::get(); } }; #endif // _QX_ENABLE_BOOST template struct QxConvert_ToVariant< std::pair > { static inline QVariant toVariant(const std::pair & t, const QString & format, int index, qx::cvt::context::ctx_type ctx) { Q_UNUSED(format); Q_UNUSED(index); Q_UNUSED(ctx); return QX_CVT_DEFAULT_ARCHIVE_TO_VARIANT; } }; template struct QxConvert_ToVariant< QPair > { static inline QVariant toVariant(const QPair & t, const QString & format, int index, qx::cvt::context::ctx_type ctx) { Q_UNUSED(format); Q_UNUSED(index); Q_UNUSED(ctx); return QX_CVT_DEFAULT_ARCHIVE_TO_VARIANT; } }; template struct QxConvert_ToVariant< std::vector > { static inline QVariant toVariant(const std::vector & t, const QString & format, int index, qx::cvt::context::ctx_type ctx) { Q_UNUSED(format); Q_UNUSED(index); Q_UNUSED(ctx); return QX_CVT_DEFAULT_ARCHIVE_TO_VARIANT; } }; template struct QxConvert_ToVariant< std::list > { static inline QVariant toVariant(const std::list & t, const QString & format, int index, qx::cvt::context::ctx_type ctx) { Q_UNUSED(format); Q_UNUSED(index); Q_UNUSED(ctx); return QX_CVT_DEFAULT_ARCHIVE_TO_VARIANT; } }; template struct QxConvert_ToVariant< std::set > { static inline QVariant toVariant(const std::set & t, const QString & format, int index, qx::cvt::context::ctx_type ctx) { Q_UNUSED(format); Q_UNUSED(index); Q_UNUSED(ctx); return QX_CVT_DEFAULT_ARCHIVE_TO_VARIANT; } }; #ifdef _QX_ENABLE_BOOST template struct QxConvert_ToVariant< boost::unordered_set > { static inline QVariant toVariant(const boost::unordered_set & t, const QString & format, int index, qx::cvt::context::ctx_type ctx) { Q_UNUSED(format); Q_UNUSED(index); Q_UNUSED(ctx); return QX_CVT_DEFAULT_ARCHIVE_TO_VARIANT; } }; template struct QxConvert_ToVariant< boost::unordered_multiset > { static inline QVariant toVariant(const boost::unordered_multiset & t, const QString & format, int index, qx::cvt::context::ctx_type ctx) { Q_UNUSED(format); Q_UNUSED(index); Q_UNUSED(ctx); return QX_CVT_DEFAULT_ARCHIVE_TO_VARIANT; } }; #endif // _QX_ENABLE_BOOST template struct QxConvert_ToVariant< std::unordered_set > { static inline QVariant toVariant(const std::unordered_set & t, const QString & format, int index, qx::cvt::context::ctx_type ctx) { Q_UNUSED(format); Q_UNUSED(index); Q_UNUSED(ctx); return QX_CVT_DEFAULT_ARCHIVE_TO_VARIANT; } }; template struct QxConvert_ToVariant< std::unordered_multiset > { static inline QVariant toVariant(const std::unordered_multiset & t, const QString & format, int index, qx::cvt::context::ctx_type ctx) { Q_UNUSED(format); Q_UNUSED(index); Q_UNUSED(ctx); return QX_CVT_DEFAULT_ARCHIVE_TO_VARIANT; } }; template struct QxConvert_ToVariant< QVector > { static inline QVariant toVariant(const QVector & t, const QString & format, int index, qx::cvt::context::ctx_type ctx) { Q_UNUSED(format); Q_UNUSED(index); Q_UNUSED(ctx); return QX_CVT_DEFAULT_ARCHIVE_TO_VARIANT; } }; template struct QxConvert_ToVariant< QList > { static inline QVariant toVariant(const QList & t, const QString & format, int index, qx::cvt::context::ctx_type ctx) { Q_UNUSED(format); Q_UNUSED(index); Q_UNUSED(ctx); return QX_CVT_DEFAULT_ARCHIVE_TO_VARIANT; } }; template struct QxConvert_ToVariant< QLinkedList > { static inline QVariant toVariant(const QLinkedList & t, const QString & format, int index, qx::cvt::context::ctx_type ctx) { Q_UNUSED(format); Q_UNUSED(index); Q_UNUSED(ctx); return QX_CVT_DEFAULT_ARCHIVE_TO_VARIANT; } }; template struct QxConvert_ToVariant< QFlags > { static inline QVariant toVariant(const QFlags & t, const QString & format, int index, qx::cvt::context::ctx_type ctx) { Q_UNUSED(format); Q_UNUSED(index); Q_UNUSED(ctx); return QString::number(static_cast(t)); } }; template struct QxConvert_ToVariant< std::map > { static inline QVariant toVariant(const std::map & t, const QString & format, int index, qx::cvt::context::ctx_type ctx) { Q_UNUSED(format); Q_UNUSED(index); Q_UNUSED(ctx); return QX_CVT_DEFAULT_ARCHIVE_TO_VARIANT; } }; #ifdef _QX_ENABLE_BOOST template struct QxConvert_ToVariant< boost::unordered_map > { static inline QVariant toVariant(const boost::unordered_map & t, const QString & format, int index, qx::cvt::context::ctx_type ctx) { Q_UNUSED(format); Q_UNUSED(index); Q_UNUSED(ctx); return QX_CVT_DEFAULT_ARCHIVE_TO_VARIANT; } }; template struct QxConvert_ToVariant< boost::unordered_multimap > { static inline QVariant toVariant(const boost::unordered_multimap & t, const QString & format, int index, qx::cvt::context::ctx_type ctx) { Q_UNUSED(format); Q_UNUSED(index); Q_UNUSED(ctx); return QX_CVT_DEFAULT_ARCHIVE_TO_VARIANT; } }; #endif // _QX_ENABLE_BOOST template struct QxConvert_ToVariant< std::unordered_map > { static inline QVariant toVariant(const std::unordered_map & t, const QString & format, int index, qx::cvt::context::ctx_type ctx) { Q_UNUSED(format); Q_UNUSED(index); Q_UNUSED(ctx); return QX_CVT_DEFAULT_ARCHIVE_TO_VARIANT; } }; template struct QxConvert_ToVariant< std::unordered_multimap > { static inline QVariant toVariant(const std::unordered_multimap & t, const QString & format, int index, qx::cvt::context::ctx_type ctx) { Q_UNUSED(format); Q_UNUSED(index); Q_UNUSED(ctx); return QX_CVT_DEFAULT_ARCHIVE_TO_VARIANT; } }; template struct QxConvert_ToVariant< QHash > { static inline QVariant toVariant(const QHash & t, const QString & format, int index, qx::cvt::context::ctx_type ctx) { Q_UNUSED(format); Q_UNUSED(index); Q_UNUSED(ctx); return QX_CVT_DEFAULT_ARCHIVE_TO_VARIANT; } }; template struct QxConvert_ToVariant< QMultiHash > { static inline QVariant toVariant(const QMultiHash & t, const QString & format, int index, qx::cvt::context::ctx_type ctx) { Q_UNUSED(format); Q_UNUSED(index); Q_UNUSED(ctx); return QX_CVT_DEFAULT_ARCHIVE_TO_VARIANT; } }; template struct QxConvert_ToVariant< QMap > { static inline QVariant toVariant(const QMap & t, const QString & format, int index, qx::cvt::context::ctx_type ctx) { Q_UNUSED(format); Q_UNUSED(index); Q_UNUSED(ctx); return QX_CVT_DEFAULT_ARCHIVE_TO_VARIANT; } }; template struct QxConvert_ToVariant< QMultiMap > { static inline QVariant toVariant(const QMultiMap & t, const QString & format, int index, qx::cvt::context::ctx_type ctx) { Q_UNUSED(format); Q_UNUSED(index); Q_UNUSED(ctx); return QX_CVT_DEFAULT_ARCHIVE_TO_VARIANT; } }; template struct QxConvert_ToVariant< qx::QxCollection > { static inline QVariant toVariant(const qx::QxCollection & t, const QString & format, int index, qx::cvt::context::ctx_type ctx) { Q_UNUSED(format); Q_UNUSED(index); Q_UNUSED(ctx); return QX_CVT_DEFAULT_ARCHIVE_TO_VARIANT; } }; #ifdef _QX_ENABLE_BOOST template struct QxConvert_ToVariant< boost::tuple > { static inline QVariant toVariant(const boost::tuple & t, const QString & format, int index, qx::cvt::context::ctx_type ctx) { Q_UNUSED(format); Q_UNUSED(index); Q_UNUSED(ctx); return QX_CVT_DEFAULT_ARCHIVE_TO_VARIANT; } }; template struct QxConvert_ToVariant< boost::tuple > { static inline QVariant toVariant(const boost::tuple & t, const QString & format, int index, qx::cvt::context::ctx_type ctx) { Q_UNUSED(format); Q_UNUSED(index); Q_UNUSED(ctx); return QX_CVT_DEFAULT_ARCHIVE_TO_VARIANT; } }; template struct QxConvert_ToVariant< boost::tuple > { static inline QVariant toVariant(const boost::tuple & t, const QString & format, int index, qx::cvt::context::ctx_type ctx) { Q_UNUSED(format); Q_UNUSED(index); Q_UNUSED(ctx); return QX_CVT_DEFAULT_ARCHIVE_TO_VARIANT; } }; template struct QxConvert_ToVariant< boost::tuple > { static inline QVariant toVariant(const boost::tuple & t, const QString & format, int index, qx::cvt::context::ctx_type ctx) { Q_UNUSED(format); Q_UNUSED(index); Q_UNUSED(ctx); return QX_CVT_DEFAULT_ARCHIVE_TO_VARIANT; } }; template struct QxConvert_ToVariant< boost::tuple > { static inline QVariant toVariant(const boost::tuple & t, const QString & format, int index, qx::cvt::context::ctx_type ctx) { Q_UNUSED(format); Q_UNUSED(index); Q_UNUSED(ctx); return QX_CVT_DEFAULT_ARCHIVE_TO_VARIANT; } }; template struct QxConvert_ToVariant< boost::tuple > { static inline QVariant toVariant(const boost::tuple & t, const QString & format, int index, qx::cvt::context::ctx_type ctx) { Q_UNUSED(format); Q_UNUSED(index); Q_UNUSED(ctx); return QX_CVT_DEFAULT_ARCHIVE_TO_VARIANT; } }; template struct QxConvert_ToVariant< boost::tuple > { static inline QVariant toVariant(const boost::tuple & t, const QString & format, int index, qx::cvt::context::ctx_type ctx) { Q_UNUSED(format); Q_UNUSED(index); Q_UNUSED(ctx); return QX_CVT_DEFAULT_ARCHIVE_TO_VARIANT; } }; template struct QxConvert_ToVariant< boost::tuple > { static inline QVariant toVariant(const boost::tuple & t, const QString & format, int index, qx::cvt::context::ctx_type ctx) { Q_UNUSED(format); Q_UNUSED(index); Q_UNUSED(ctx); return QX_CVT_DEFAULT_ARCHIVE_TO_VARIANT; } }; template struct QxConvert_ToVariant< boost::tuple > { static inline QVariant toVariant(const boost::tuple & t, const QString & format, int index, qx::cvt::context::ctx_type ctx) { Q_UNUSED(format); Q_UNUSED(index); Q_UNUSED(ctx); return QX_CVT_DEFAULT_ARCHIVE_TO_VARIANT; } }; #endif // _QX_ENABLE_BOOST template struct QxConvert_ToVariant< std::tuple > { static inline QVariant toVariant(const std::tuple & t, const QString & format, int index, qx::cvt::context::ctx_type ctx) { Q_UNUSED(format); Q_UNUSED(index); Q_UNUSED(ctx); return QX_CVT_DEFAULT_ARCHIVE_TO_VARIANT; } }; template struct QxConvert_ToVariant< std::tuple > { static inline QVariant toVariant(const std::tuple & t, const QString & format, int index, qx::cvt::context::ctx_type ctx) { Q_UNUSED(format); Q_UNUSED(index); Q_UNUSED(ctx); return QX_CVT_DEFAULT_ARCHIVE_TO_VARIANT; } }; template struct QxConvert_ToVariant< std::tuple > { static inline QVariant toVariant(const std::tuple & t, const QString & format, int index, qx::cvt::context::ctx_type ctx) { Q_UNUSED(format); Q_UNUSED(index); Q_UNUSED(ctx); return QX_CVT_DEFAULT_ARCHIVE_TO_VARIANT; } }; template struct QxConvert_ToVariant< std::tuple > { static inline QVariant toVariant(const std::tuple & t, const QString & format, int index, qx::cvt::context::ctx_type ctx) { Q_UNUSED(format); Q_UNUSED(index); Q_UNUSED(ctx); return QX_CVT_DEFAULT_ARCHIVE_TO_VARIANT; } }; template struct QxConvert_ToVariant< std::tuple > { static inline QVariant toVariant(const std::tuple & t, const QString & format, int index, qx::cvt::context::ctx_type ctx) { Q_UNUSED(format); Q_UNUSED(index); Q_UNUSED(ctx); return QX_CVT_DEFAULT_ARCHIVE_TO_VARIANT; } }; template struct QxConvert_ToVariant< std::tuple > { static inline QVariant toVariant(const std::tuple & t, const QString & format, int index, qx::cvt::context::ctx_type ctx) { Q_UNUSED(format); Q_UNUSED(index); Q_UNUSED(ctx); return QX_CVT_DEFAULT_ARCHIVE_TO_VARIANT; } }; template struct QxConvert_ToVariant< std::tuple > { static inline QVariant toVariant(const std::tuple & t, const QString & format, int index, qx::cvt::context::ctx_type ctx) { Q_UNUSED(format); Q_UNUSED(index); Q_UNUSED(ctx); return QX_CVT_DEFAULT_ARCHIVE_TO_VARIANT; } }; template struct QxConvert_ToVariant< std::tuple > { static inline QVariant toVariant(const std::tuple & t, const QString & format, int index, qx::cvt::context::ctx_type ctx) { Q_UNUSED(format); Q_UNUSED(index); Q_UNUSED(ctx); return QX_CVT_DEFAULT_ARCHIVE_TO_VARIANT; } }; template struct QxConvert_ToVariant< std::tuple > { static inline QVariant toVariant(const std::tuple & t, const QString & format, int index, qx::cvt::context::ctx_type ctx) { Q_UNUSED(format); Q_UNUSED(index); Q_UNUSED(ctx); return QX_CVT_DEFAULT_ARCHIVE_TO_VARIANT; } }; } // namespace detail } // namespace cvt } // namespace qx