/**************************************************************************** ** ** https://www.qxorm.com/ ** Copyright (C) 2013 XDL Team (ic-east.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 XDL Team ** ** 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 : ** ic-east.com ** ****************************************************************************/ #ifdef _QX_ENABLE_BOOST_SERIALIZATION #define QX_CVT_DEFAULT_ARCHIVE_FROM_VARIANT QX_CVT_DEFAULT_ARCHIVE::from_string(t, v.toString()) #else // _QX_ENABLE_BOOST_SERIALIZATION #define QX_CVT_DEFAULT_ARCHIVE_FROM_VARIANT QX_CVT_DEFAULT_ARCHIVE::from_byte_array(t, v.toByteArray()) #endif // _QX_ENABLE_BOOST_SERIALIZATION namespace qx { namespace cvt { namespace detail { template <> struct QxConvert_FromVariant { static inline qx_bool fromVariant(const QVariant &v, qx::trait::no_type &t, const QString &format, int index, qx::cvt::context::ctx_type ctx) { Q_UNUSED(v); Q_UNUSED(t); Q_UNUSED(format); Q_UNUSED(index); Q_UNUSED(ctx); return qx_bool(true); } }; template <> struct QxConvert_FromVariant { static inline qx_bool fromVariant(const QVariant &v, bool &t, const QString &format, int index, qx::cvt::context::ctx_type ctx) { Q_UNUSED(format); Q_UNUSED(index); Q_UNUSED(ctx); t = v.toBool(); return qx_bool(true); } }; template <> struct QxConvert_FromVariant { static inline qx_bool fromVariant(const QVariant &v, short &t, const QString &format, int index, qx::cvt::context::ctx_type ctx) { Q_UNUSED(format); Q_UNUSED(index); Q_UNUSED(ctx); bool bOk = false; t = static_cast(v.toInt(&bOk)); return bOk; } }; template <> struct QxConvert_FromVariant { static inline qx_bool fromVariant(const QVariant &v, int &t, const QString &format, int index, qx::cvt::context::ctx_type ctx) { Q_UNUSED(format); Q_UNUSED(index); Q_UNUSED(ctx); bool bOk = false; t = v.toInt(&bOk); return bOk; } }; template <> struct QxConvert_FromVariant { static inline qx_bool fromVariant(const QVariant &v, long &t, const QString &format, int index, qx::cvt::context::ctx_type ctx) { Q_UNUSED(format); Q_UNUSED(index); Q_UNUSED(ctx); bool bOk = false; t = static_cast(v.toLongLong(&bOk)); return bOk; } }; template <> struct QxConvert_FromVariant { static inline qx_bool fromVariant(const QVariant &v, long long &t, const QString &format, int index, qx::cvt::context::ctx_type ctx) { Q_UNUSED(format); Q_UNUSED(index); Q_UNUSED(ctx); bool bOk = false; t = static_cast(v.toLongLong(&bOk)); return bOk; } }; template <> struct QxConvert_FromVariant { static inline qx_bool fromVariant(const QVariant &v, float &t, const QString &format, int index, qx::cvt::context::ctx_type ctx) { Q_UNUSED(format); Q_UNUSED(index); Q_UNUSED(ctx); bool bOk = false; t = static_cast(v.toDouble(&bOk)); return bOk; } }; template <> struct QxConvert_FromVariant { static inline qx_bool fromVariant(const QVariant &v, double &t, const QString &format, int index, qx::cvt::context::ctx_type ctx) { Q_UNUSED(format); Q_UNUSED(index); Q_UNUSED(ctx); bool bOk = false; t = v.toDouble(&bOk); return bOk; } }; template <> struct QxConvert_FromVariant { static inline qx_bool fromVariant(const QVariant &v, unsigned short &t, const QString &format, int index, qx::cvt::context::ctx_type ctx) { Q_UNUSED(format); Q_UNUSED(index); Q_UNUSED(ctx); bool bOk = false; t = static_cast(v.toUInt(&bOk)); return bOk; } }; template <> struct QxConvert_FromVariant { static inline qx_bool fromVariant(const QVariant &v, unsigned int &t, const QString &format, int index, qx::cvt::context::ctx_type ctx) { Q_UNUSED(format); Q_UNUSED(index); Q_UNUSED(ctx); bool bOk = false; t = static_cast(v.toUInt(&bOk)); return bOk; } }; template <> struct QxConvert_FromVariant { static inline qx_bool fromVariant(const QVariant &v, unsigned long &t, const QString &format, int index, qx::cvt::context::ctx_type ctx) { Q_UNUSED(format); Q_UNUSED(index); Q_UNUSED(ctx); bool bOk = false; t = static_cast(v.toULongLong(&bOk)); return bOk; } }; template <> struct QxConvert_FromVariant { static inline qx_bool fromVariant(const QVariant &v, unsigned long long &t, const QString &format, int index, qx::cvt::context::ctx_type ctx) { Q_UNUSED(format); Q_UNUSED(index); Q_UNUSED(ctx); bool bOk = false; t = static_cast(v.toULongLong(&bOk)); return bOk; } }; template <> struct QxConvert_FromVariant { static inline qx_bool fromVariant(const QVariant &v, QDate &t, const QString &format, int index, qx::cvt::context::ctx_type ctx) { Q_UNUSED(format); Q_UNUSED(index); Q_UNUSED(ctx); t = v.toDate(); return t.isValid(); } }; template <> struct QxConvert_FromVariant { static inline qx_bool fromVariant(const QVariant &v, QTime &t, const QString &format, int index, qx::cvt::context::ctx_type ctx) { Q_UNUSED(format); Q_UNUSED(index); Q_UNUSED(ctx); t = v.toTime(); return t.isValid(); } }; template <> struct QxConvert_FromVariant { static inline qx_bool fromVariant(const QVariant &v, QDateTime &t, const QString &format, int index, qx::cvt::context::ctx_type ctx) { Q_UNUSED(format); Q_UNUSED(index); Q_UNUSED(ctx); t = v.toDateTime(); return t.isValid(); } }; template <> struct QxConvert_FromVariant { static inline qx_bool fromVariant(const QVariant &v, QByteArray &t, const QString &format, int index, qx::cvt::context::ctx_type ctx) { Q_UNUSED(format); Q_UNUSED(index); Q_UNUSED(ctx); t = v.toByteArray(); return qx_bool(true); } }; template <> struct QxConvert_FromVariant { static inline qx_bool fromVariant(const QVariant &v, QString &t, const QString &format, int index, qx::cvt::context::ctx_type ctx) { Q_UNUSED(format); Q_UNUSED(index); Q_UNUSED(ctx); t = v.toString(); return qx_bool(true); } }; template <> struct QxConvert_FromVariant { static inline qx_bool fromVariant(const QVariant &v, QVariant &t, const QString &format, int index, qx::cvt::context::ctx_type ctx) { if (ctx != qx::cvt::context::e_database) { t = v; return qx_bool(true); } QString s = v.toString(); if (!s.startsWith("$$JSON$$")) { t = v; return qx_bool(true); } return qx::cvt::detail::QxConvert_FromString::fromString(s, t, format, index, ctx); } }; template <> struct QxConvert_FromVariant { static inline qx_bool fromVariant(const QVariant &v, QUuid &t, const QString &format, int index, qx::cvt::context::ctx_type ctx) { Q_UNUSED(format); Q_UNUSED(index); Q_UNUSED(ctx); t = QUuid(v.toString()); return qx_bool(true); } }; template <> struct QxConvert_FromVariant { static inline qx_bool fromVariant(const QVariant &v, qx::QxDateNeutral &t, const QString &format, int index, qx::cvt::context::ctx_type ctx) { Q_UNUSED(format); Q_UNUSED(index); Q_UNUSED(ctx); t = qx::QxDateNeutral::fromNeutral(v.toString()); return qx_bool(true); } }; template <> struct QxConvert_FromVariant { static inline qx_bool fromVariant(const QVariant &v, qx::QxTimeNeutral &t, const QString &format, int index, qx::cvt::context::ctx_type ctx) { Q_UNUSED(format); Q_UNUSED(index); Q_UNUSED(ctx); t = qx::QxTimeNeutral::fromNeutral(v.toString()); return qx_bool(true); } }; template <> struct QxConvert_FromVariant { static inline qx_bool fromVariant(const QVariant &v, qx::QxDateTimeNeutral &t, const QString &format, int index, qx::cvt::context::ctx_type ctx) { Q_UNUSED(format); Q_UNUSED(index); Q_UNUSED(ctx); t = qx::QxDateTimeNeutral::fromNeutral(v.toString()); return qx_bool(true); } }; template <> struct QxConvert_FromVariant { static inline qx_bool fromVariant(const QVariant &v, 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); t = v.toString().toStdString(); return qx_bool(true); } }; #else // QT_NO_STL { Q_UNUSED(format); Q_UNUSED(index); Q_UNUSED(ctx); t = v.toString().toLatin1().constData(); return qx_bool(true); } }; #endif // QT_NO_STL template <> struct QxConvert_FromVariant { static inline qx_bool fromVariant(const QVariant &v, 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); t = v.toString().toStdWString(); return qx_bool(true); } }; #else // ((! defined(QT_NO_STL)) && (! defined(QT_NO_STL_WCHAR))) { Q_UNUSED(format); Q_UNUSED(index); Q_UNUSED(ctx); Q_UNUSED(t); Q_UNUSED(v); qAssert(false); /* Need STL compatibility ! */ return qx_bool(true); } }; #endif // ((! defined(QT_NO_STL)) && (! defined(QT_NO_STL_WCHAR))) template <> struct QxConvert_FromVariant { static inline qx_bool fromVariant(const QVariant &v, qx_bool &t, const QString &format, int index, qx::cvt::context::ctx_type ctx) { Q_UNUSED(format); Q_UNUSED(index); Q_UNUSED(ctx); QString s = v.toString(); t.fromString(s); return qx_bool(true); } }; #ifndef _QX_NO_JSON template <> struct QxConvert_FromVariant { static inline qx_bool fromVariant(const QVariant &v, QJsonValue &t, const QString &format, int index, qx::cvt::context::ctx_type ctx) { Q_UNUSED(format); Q_UNUSED(index); Q_UNUSED(ctx); t = QJsonValue::fromVariant(v); return qx_bool(true); } }; template <> struct QxConvert_FromVariant { static inline qx_bool fromVariant(const QVariant &v, QJsonArray &t, const QString &format, int index, qx::cvt::context::ctx_type ctx) { Q_UNUSED(format); Q_UNUSED(index); Q_UNUSED(ctx); t = v.toJsonArray(); return qx_bool(true); } }; template <> struct QxConvert_FromVariant { static inline qx_bool fromVariant(const QVariant &v, QJsonObject &t, const QString &format, int index, qx::cvt::context::ctx_type ctx) { Q_UNUSED(format); Q_UNUSED(index); Q_UNUSED(ctx); t = v.toJsonObject(); return qx_bool(true); } }; #endif // _QX_NO_JSON #ifdef _QX_ENABLE_BOOST template struct QxConvert_FromVariant> { static inline qx_bool fromVariant(const QVariant &v, boost::optional &t, const QString &format, int index, qx::cvt::context::ctx_type ctx) { if (v.isNull()) { t = boost::none; return qx_bool(true); } else if (!t) { t = T(); } return qx::cvt::from_variant(v, (*t), format, index, ctx); } }; #endif // _QX_ENABLE_BOOST template struct QxConvert_FromVariant> { static inline qx_bool fromVariant(const QVariant &v, 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_FROM_VARIANT; } }; #if (QT_VERSION < QT_VERSION_CHECK(6, 0, 0)) template struct QxConvert_FromVariant> { static inline qx_bool fromVariant(const QVariant &v, 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_FROM_VARIANT; } }; #endif // (QT_VERSION < QT_VERSION_CHECK(6, 0, 0)) template struct QxConvert_FromVariant> { static inline qx_bool fromVariant(const QVariant &v, 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_FROM_VARIANT; } }; template struct QxConvert_FromVariant> { static inline qx_bool fromVariant(const QVariant &v, 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_FROM_VARIANT; } }; template struct QxConvert_FromVariant> { static inline qx_bool fromVariant(const QVariant &v, 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_FROM_VARIANT; } }; #ifdef _QX_ENABLE_BOOST template struct QxConvert_FromVariant> { static inline qx_bool fromVariant(const QVariant &v, 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_FROM_VARIANT; } }; template struct QxConvert_FromVariant> { static inline qx_bool fromVariant(const QVariant &v, 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_FROM_VARIANT; } }; #endif // _QX_ENABLE_BOOST template struct QxConvert_FromVariant> { static inline qx_bool fromVariant(const QVariant &v, 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_FROM_VARIANT; } }; template struct QxConvert_FromVariant> { static inline qx_bool fromVariant(const QVariant &v, 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_FROM_VARIANT; } }; #if (QT_VERSION < QT_VERSION_CHECK(6, 0, 0)) template struct QxConvert_FromVariant> { static inline qx_bool fromVariant(const QVariant &v, 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_FROM_VARIANT; } }; #endif // (QT_VERSION < QT_VERSION_CHECK(6, 0, 0)) template struct QxConvert_FromVariant> { static inline qx_bool fromVariant(const QVariant &v, 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_FROM_VARIANT; } }; #if (QT_VERSION < QT_VERSION_CHECK(5, 15, 0)) template struct QxConvert_FromVariant> { static inline qx_bool fromVariant(const QVariant &v, 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_FROM_VARIANT; } }; #endif // (QT_VERSION < QT_VERSION_CHECK(5, 15, 0)) template struct QxConvert_FromVariant> { static inline qx_bool fromVariant(const QVariant &v, QFlags &t, const QString &format, int index, qx::cvt::context::ctx_type ctx) { Q_UNUSED(format); Q_UNUSED(index); Q_UNUSED(ctx); t = QFlags(QFlag(v.toInt())); return true; } }; template struct QxConvert_FromVariant> { static inline qx_bool fromVariant(const QVariant &v, 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_FROM_VARIANT; } }; #ifdef _QX_ENABLE_BOOST template struct QxConvert_FromVariant> { static inline qx_bool fromVariant(const QVariant &v, 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_FROM_VARIANT; } }; template struct QxConvert_FromVariant> { static inline qx_bool fromVariant(const QVariant &v, 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_FROM_VARIANT; } }; #endif // _QX_ENABLE_BOOST template struct QxConvert_FromVariant> { static inline qx_bool fromVariant(const QVariant &v, 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_FROM_VARIANT; } }; template struct QxConvert_FromVariant> { static inline qx_bool fromVariant(const QVariant &v, 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_FROM_VARIANT; } }; template struct QxConvert_FromVariant> { static inline qx_bool fromVariant(const QVariant &v, 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_FROM_VARIANT; } }; template struct QxConvert_FromVariant> { static inline qx_bool fromVariant(const QVariant &v, 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_FROM_VARIANT; } }; template struct QxConvert_FromVariant> { static inline qx_bool fromVariant(const QVariant &v, 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_FROM_VARIANT; } }; template struct QxConvert_FromVariant> { static inline qx_bool fromVariant(const QVariant &v, 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_FROM_VARIANT; } }; template struct QxConvert_FromVariant> { static inline qx_bool fromVariant(const QVariant &v, 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_FROM_VARIANT; } }; #ifdef _QX_ENABLE_BOOST template struct QxConvert_FromVariant> { static inline qx_bool fromVariant(const QVariant &v, 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_FROM_VARIANT; } }; template struct QxConvert_FromVariant> { static inline qx_bool fromVariant(const QVariant &v, 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_FROM_VARIANT; } }; template struct QxConvert_FromVariant> { static inline qx_bool fromVariant(const QVariant &v, 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_FROM_VARIANT; } }; template struct QxConvert_FromVariant> { static inline qx_bool fromVariant(const QVariant &v, 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_FROM_VARIANT; } }; template struct QxConvert_FromVariant> { static inline qx_bool fromVariant(const QVariant &v, 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_FROM_VARIANT; } }; template struct QxConvert_FromVariant> { static inline qx_bool fromVariant(const QVariant &v, 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_FROM_VARIANT; } }; template struct QxConvert_FromVariant> { static inline qx_bool fromVariant(const QVariant &v, 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_FROM_VARIANT; } }; template struct QxConvert_FromVariant> { static inline qx_bool fromVariant(const QVariant &v, 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_FROM_VARIANT; } }; template struct QxConvert_FromVariant> { static inline qx_bool fromVariant(const QVariant &v, 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_FROM_VARIANT; } }; #endif // _QX_ENABLE_BOOST template struct QxConvert_FromVariant> { static inline qx_bool fromVariant(const QVariant &v, 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_FROM_VARIANT; } }; template struct QxConvert_FromVariant> { static inline qx_bool fromVariant(const QVariant &v, 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_FROM_VARIANT; } }; template struct QxConvert_FromVariant> { static inline qx_bool fromVariant(const QVariant &v, 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_FROM_VARIANT; } }; template struct QxConvert_FromVariant> { static inline qx_bool fromVariant(const QVariant &v, 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_FROM_VARIANT; } }; template struct QxConvert_FromVariant> { static inline qx_bool fromVariant(const QVariant &v, 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_FROM_VARIANT; } }; template struct QxConvert_FromVariant> { static inline qx_bool fromVariant(const QVariant &v, 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_FROM_VARIANT; } }; template struct QxConvert_FromVariant> { static inline qx_bool fromVariant(const QVariant &v, 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_FROM_VARIANT; } }; template struct QxConvert_FromVariant> { static inline qx_bool fromVariant(const QVariant &v, 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_FROM_VARIANT; } }; template struct QxConvert_FromVariant> { static inline qx_bool fromVariant(const QVariant &v, 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_FROM_VARIANT; } }; } // namespace detail } // namespace cvt } // namespace qx