亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? qvariant.cpp

?? QT 開發環境里面一個很重要的文件
?? CPP
?? 第 1 頁 / 共 5 頁
字號:
/******************************************************************************** Copyright (C) 1992-2006 Trolltech ASA. All rights reserved.**** This file is part of the QtCore module of the Qt Toolkit.**** This file may be used under the terms of the GNU General Public** License version 2.0 as published by the Free Software Foundation** and appearing in the file LICENSE.GPL included in the packaging of** this file.  Please review the following information to ensure GNU** General Public Licensing requirements will be met:** http://www.trolltech.com/products/qt/opensource.html**** If you are unsure which license is appropriate for your use, please** review the following information:** http://www.trolltech.com/products/qt/licensing.html or contact the** sales department at sales@trolltech.com.**** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.******************************************************************************/#include "qvariant.h"#include "qbitarray.h"#include "qbytearray.h"#include "qdatastream.h"#include "qdebug.h"#include "qmap.h"#include "qdatetime.h"#include "qlist.h"#include "qstring.h"#include "qstringlist.h"#include "qurl.h"#include "qlocale.h"#include "private/qvariant_p.h"#ifndef QT_NO_GEOM_VARIANT#include "qsize.h"#include "qpoint.h"#include "qrect.h"#include "qline.h"#endif#include <float.h>#ifndef DBL_DIG#  define DBL_DIG 10#endif#ifndef FLT_DIG#  define FLT_DIG 6#endifstatic const void *constData(const QVariant::Private &d){    switch (d.type) {    case QVariant::Int:        return &d.data.i;    case QVariant::UInt:        return &d.data.u;    case QVariant::Bool:        return &d.data.b;    case QVariant::LongLong:        return &d.data.ll;    case QVariant::ULongLong:        return &d.data.ull;    case QVariant::Double:        return &d.data.d;    default:        return d.is_shared ? d.data.shared->ptr : reinterpret_cast<const void *>(&d.data.ptr);    }}static void construct(QVariant::Private *x, const void *copy){    x->is_shared = false;    switch (x->type) {    case QVariant::String:        v_construct<QString>(x, copy);        break;    case QVariant::Char:        v_construct<QChar>(x, copy);        break;    case QVariant::StringList:        v_construct<QStringList>(x, copy);        break;    case QVariant::Map:        v_construct<QVariantMap>(x, copy);        break;    case QVariant::List:        v_construct<QVariantList>(x, copy);        break;    case QVariant::Date:        v_construct<QDate>(x, copy);        break;    case QVariant::Time:        v_construct<QTime>(x, copy);        break;    case QVariant::DateTime:        v_construct<QDateTime>(x, copy);        break;    case QVariant::ByteArray:        v_construct<QByteArray>(x, copy);        break;    case QVariant::BitArray:        v_construct<QBitArray>(x, copy);        break;#ifndef QT_NO_GEOM_VARIANT    case QVariant::Size:        v_construct<QSize>(x, copy);        break;    case QVariant::SizeF:        v_construct<QSizeF>(x, copy);        break;    case QVariant::Rect:        v_construct<QRect>(x, copy);        break;    case QVariant::LineF:        v_construct<QLineF>(x, copy);        break;    case QVariant::Line:        v_construct<QLine>(x, copy);        break;    case QVariant::RectF:        v_construct<QRectF>(x, copy);        break;    case QVariant::Point:        v_construct<QPoint>(x, copy);        break;    case QVariant::PointF:        v_construct<QPointF>(x, copy);        break;#endif    case QVariant::Url:        v_construct<QUrl>(x, copy);        break;    case QVariant::Locale:        v_construct<QLocale>(x, copy);        break;    case QVariant::RegExp:        v_construct<QRegExp>(x, copy);        break;    case QVariant::Int:        x->data.i = copy ? *static_cast<const int *>(copy) : 0;        break;    case QVariant::UInt:        x->data.u = copy ? *static_cast<const uint *>(copy) : 0u;        break;    case QVariant::Bool:        x->data.b = copy ? *static_cast<const bool *>(copy) : false;        break;    case QVariant::Double:        x->data.d = copy ? *static_cast<const double*>(copy) : 0.0;        break;    case QVariant::LongLong:        x->data.ll = copy ? *static_cast<const qlonglong *>(copy) : Q_INT64_C(0);        break;    case QVariant::ULongLong:        x->data.ull = copy ? *static_cast<const qulonglong *>(copy) : Q_UINT64_C(0);        break;    case QVariant::Invalid:    case QVariant::UserType:        break;    default:        x->is_shared = true;        x->data.shared = new QVariant::PrivateShared(QMetaType::construct(x->type, copy));        if (!x->data.shared->ptr)             Q_ASSERT_X(x->type > 62, "QVariant::construct()", "Unknown datatype");        break;    }    x->is_null = !copy;}static void clear(QVariant::Private *d){    switch (d->type) {    case QVariant::String:        v_clear<QString>(d);        break;    case QVariant::Char:        v_clear<QChar>(d);        break;    case QVariant::StringList:        v_clear<QStringList>(d);        break;    case QVariant::Map:        v_clear<QVariantMap>(d);        break;    case QVariant::List:        v_clear<QVariantList>(d);        break;    case QVariant::Date:        v_clear<QDate>(d);        break;    case QVariant::Time:        v_clear<QTime>(d);        break;    case QVariant::DateTime:        v_clear<QDateTime>(d);        break;    case QVariant::ByteArray:        v_clear<QByteArray>(d);        break;    case QVariant::BitArray:        v_clear<QBitArray>(d);        break;#ifndef QT_NO_GEOM_VARIANT    case QVariant::Point:        v_clear<QPoint>(d);        break;    case QVariant::PointF:        v_clear<QPointF>(d);        break;    case QVariant::Size:        v_clear<QSize>(d);        break;    case QVariant::SizeF:        v_clear<QSizeF>(d);        break;    case QVariant::Rect:        v_clear<QRect>(d);        break;    case QVariant::LineF:        v_clear<QLineF>(d);        break;    case QVariant::Line:        v_clear<QLine>(d);        break;    case QVariant::RectF:        v_clear<QRectF>(d);        break;#endif    case QVariant::Url:        v_clear<QUrl>(d);        break;    case QVariant::Locale:        v_clear<QLocale>(d);        break;    case QVariant::RegExp:        v_clear<QRegExp>(d);        break;    case QVariant::LongLong:    case QVariant::ULongLong:    case QVariant::Double:        break;    case QVariant::Invalid:    case QVariant::UserType:    case QVariant::Int:    case QVariant::UInt:    case QVariant::Bool:        break;    default:        QMetaType::destroy(d->type, d->data.shared->ptr);        delete d->data.shared;        break;    }    d->type = QVariant::Invalid;    d->is_null = true;    d->is_shared = false;}static bool isNull(const QVariant::Private *d){    switch(d->type) {    case QVariant::String:        return v_cast<QString>(d)->isNull();    case QVariant::Char:        return v_cast<QChar>(d)->isNull();    case QVariant::Date:        return v_cast<QDate>(d)->isNull();    case QVariant::Time:        return v_cast<QTime>(d)->isNull();    case QVariant::DateTime:        return v_cast<QDateTime>(d)->isNull();    case QVariant::ByteArray:        return v_cast<QByteArray>(d)->isNull();    case QVariant::BitArray:        return v_cast<QBitArray>(d)->isNull();#ifndef QT_NO_GEOM_VARIANT    case QVariant::Size:        return v_cast<QSize>(d)->isNull();    case QVariant::SizeF:        return v_cast<QSizeF>(d)->isNull();    case QVariant::Rect:        return v_cast<QRect>(d)->isNull();    case QVariant::Line:        return v_cast<QLine>(d)->isNull();    case QVariant::LineF:        return v_cast<QLineF>(d)->isNull();    case QVariant::RectF:        return v_cast<QRectF>(d)->isNull();    case QVariant::Point:        return v_cast<QPoint>(d)->isNull();    case QVariant::PointF:        return v_cast<QPointF>(d)->isNull();#endif    case QVariant::Url:    case QVariant::Locale:    case QVariant::RegExp:    case QVariant::StringList:    case QVariant::Map:    case QVariant::List:    case QVariant::Invalid:    case QVariant::UserType:    case QVariant::Int:    case QVariant::UInt:    case QVariant::LongLong:    case QVariant::ULongLong:    case QVariant::Bool:    case QVariant::Double:        break;    }    return d->is_null;}static bool compare(const QVariant::Private *a, const QVariant::Private *b){    switch(a->type) {    case QVariant::List:        return *v_cast<QVariantList>(a) == *v_cast<QVariantList>(b);    case QVariant::Map: {        const QVariantMap *m1 = v_cast<QVariantMap>(a);        const QVariantMap *m2 = v_cast<QVariantMap>(b);        if (m1->count() != m2->count())            return false;        QVariantMap::ConstIterator it = m1->constBegin();        QVariantMap::ConstIterator it2 = m2->constBegin();        while (it != m1->constEnd()) {            if (*it != *it2)                return false;            ++it;            ++it2;        }        return true;    }    case QVariant::String:        return *v_cast<QString>(a) == *v_cast<QString>(b);    case QVariant::Char:        return *v_cast<QChar>(a) == *v_cast<QChar>(b);    case QVariant::StringList:        return *v_cast<QStringList>(a) == *v_cast<QStringList>(b);#ifndef QT_NO_GEOM_VARIANT    case QVariant::Size:        return *v_cast<QSize>(a) == *v_cast<QSize>(b);    case QVariant::SizeF:        return *v_cast<QSizeF>(a) == *v_cast<QSizeF>(b);    case QVariant::Rect:        return *v_cast<QRect>(a) == *v_cast<QRect>(b);    case QVariant::Line:        return *v_cast<QLine>(a) == *v_cast<QLine>(b);    case QVariant::LineF:        return *v_cast<QLineF>(a) == *v_cast<QLineF>(b);    case QVariant::RectF:        return *v_cast<QRectF>(a) == *v_cast<QRectF>(b);    case QVariant::Point:        return *v_cast<QPoint>(a) == *v_cast<QPoint>(b);    case QVariant::PointF:        return *v_cast<QPointF>(a) == *v_cast<QPointF>(b);#endif    case QVariant::Url:        return *v_cast<QUrl>(a) == *v_cast<QUrl>(b);    case QVariant::Locale:        return *v_cast<QLocale>(a) == *v_cast<QLocale>(b);    case QVariant::RegExp:        return *v_cast<QRegExp>(a) == *v_cast<QRegExp>(b);    case QVariant::Int:        return a->data.i == b->data.i;    case QVariant::UInt:        return a->data.u == b->data.u;    case QVariant::LongLong:        return a->data.ll == b->data.ll;    case QVariant::ULongLong:        return a->data.ull == b->data.ull;    case QVariant::Bool:        return a->data.b == b->data.b;    case QVariant::Double:        return a->data.d == b->data.d;    case QVariant::Date:        return *v_cast<QDate>(a) == *v_cast<QDate>(b);    case QVariant::Time:        return *v_cast<QTime>(a) == *v_cast<QTime>(b);    case QVariant::DateTime:        return *v_cast<QDateTime>(a) == *v_cast<QDateTime>(b);    case QVariant::ByteArray:        return *v_cast<QByteArray>(a) == *v_cast<QByteArray>(b);    case QVariant::BitArray:        return *v_cast<QBitArray>(a) == *v_cast<QBitArray>(b);    case QVariant::Invalid:        return true;    default:        break;    }    if (!QMetaType::isRegistered(a->type))        qFatal("QVariant::compare: type %d unknown to QVariant.", a->type);    return a->data.shared->ptr == b->data.shared->ptr;}static qlonglong qMetaTypeNumber(const QVariant::Private *d){    switch (d->type) {    case QMetaType::Int:        return d->data.i;    case QMetaType::LongLong:        return d->data.ll;    case QMetaType::Char:        return qlonglong(*static_cast<signed char *>(d->data.shared->ptr));    case QMetaType::Short:        return qlonglong(*static_cast<short *>(d->data.shared->ptr));    case QMetaType::Long:        return qlonglong(*static_cast<long *>(d->data.shared->ptr));    case QMetaType::Float:        return qRound64(*static_cast<float *>(d->data.shared->ptr));    case QVariant::Double:        return qRound64(d->data.d);    }    Q_ASSERT(false);    return 0;}static qulonglong qMetaTypeUNumber(const QVariant::Private *d){    switch (d->type) {    case QVariant::UInt:        return d->data.u;    case QVariant::ULongLong:        return d->data.ull;    case QMetaType::UChar:        return qulonglong(*static_cast<unsigned char *>(d->data.shared->ptr));    case QMetaType::UShort:        return qulonglong(*static_cast<ushort *>(d->data.shared->ptr));    case QMetaType::ULong:        return qulonglong(*static_cast<ulong *>(d->data.shared->ptr));    }    Q_ASSERT(false);    return 0;}static qlonglong qConvertToNumber(const QVariant::Private *d, bool *ok){    *ok = true;    switch (uint(d->type)) {    case QVariant::String:        return v_cast<QString>(d)->toLongLong(ok);    case QVariant::Char:        return v_cast<QChar>(d)->unicode();    case QVariant::ByteArray:        return v_cast<QByteArray>(d)->toLongLong(ok);    case QVariant::Bool:        return qlonglong(d->data.b);    case QVariant::Double:    case QVariant::Int:    case QMetaType::Char:    case QMetaType::Short:    case QMetaType::Long:    case QMetaType::Float:    case QMetaType::LongLong:        return qMetaTypeNumber(d);    case QVariant::ULongLong:    case QVariant::UInt:    case QMetaType::UChar:    case QMetaType::UShort:    case QMetaType::ULong:        return qlonglong(qMetaTypeUNumber(d));    }    *ok = false;    return Q_INT64_C(0);}static qulonglong qConvertToUnsignedNumber(const QVariant::Private *d, bool *ok)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩精品一区二区三区三区免费| 亚洲午夜电影网| 美女一区二区视频| 国精产品一区一区三区mba桃花 | 久久综合一区二区| 一区二区成人在线| 成人a免费在线看| 精品日韩一区二区三区| 亚洲综合激情网| 成人小视频免费观看| 日韩一区二区在线看| 亚洲综合999| 99国产欧美久久久精品| 久久久夜色精品亚洲| 人妖欧美一区二区| 欧美老肥妇做.爰bbww| 亚洲精品欧美激情| av在线不卡网| 日韩理论电影院| 国产大陆亚洲精品国产| 欧美电视剧免费观看| 免费久久精品视频| 在线播放91灌醉迷j高跟美女| 成人免费一区二区三区在线观看| 国产乱码精品一品二品| 久久美女艺术照精彩视频福利播放| 视频一区在线视频| 欧美美女bb生活片| 天天色综合成人网| 91精品国产综合久久精品图片| 亚洲综合无码一区二区| 在线一区二区三区| 亚洲国产美女搞黄色| 欧美日韩一区二区电影| 午夜不卡在线视频| 欧美一级免费大片| 国产在线看一区| 国产亚洲欧美日韩日本| 国产福利91精品| 国产精品少妇自拍| 色天天综合久久久久综合片| 亚洲码国产岛国毛片在线| 91成人国产精品| 日本aⅴ免费视频一区二区三区| 91麻豆精品国产91| 国内精品嫩模私拍在线| 国产精品视频免费| 在线免费精品视频| 麻豆91小视频| 国产欧美日韩不卡免费| 91在线观看污| 日韩高清一区二区| 欧美韩国日本综合| 在线播放/欧美激情| 国产在线播放一区三区四| 国产欧美日韩在线| 在线观看av不卡| 蜜乳av一区二区| 国产欧美日韩视频一区二区| 91福利小视频| 韩日av一区二区| 亚洲日本在线a| 日韩视频免费直播| 成人99免费视频| 日韩电影在线免费观看| 欧美激情综合在线| 欧美午夜一区二区| 国产成人免费视频精品含羞草妖精 | 色狠狠一区二区三区香蕉| 亚洲18影院在线观看| 久久亚洲精品国产精品紫薇| 不卡的av中国片| 久久er99精品| 亚洲一区二区三区美女| 国产欧美日韩在线视频| 91麻豆精品国产91久久久使用方法 | 欧美吻胸吃奶大尺度电影 | 视频一区视频二区中文| 国产人伦精品一区二区| 欧美日韩亚洲丝袜制服| 国产精品中文字幕日韩精品| 亚洲国产精品影院| 中文字幕中文字幕一区二区| 日韩欧美在线影院| 欧美在线看片a免费观看| 国产精选一区二区三区| 青青草伊人久久| 亚洲国产日韩a在线播放性色| 国产精品三级电影| 欧美sm美女调教| 欧美狂野另类xxxxoooo| 91麻豆精品视频| 成人免费va视频| 精品一区二区三区影院在线午夜 | 紧缚捆绑精品一区二区| 一区二区三区四区在线| 国产精品天干天干在观线| 欧美成人精品1314www| 欧美日韩卡一卡二| 色欧美片视频在线观看| 不卡免费追剧大全电视剧网站| 国产毛片精品视频| 激情五月婷婷综合网| 麻豆精品精品国产自在97香蕉| 亚洲不卡av一区二区三区| 夜夜精品浪潮av一区二区三区| 国产精品无圣光一区二区| 久久免费电影网| 国产欧美日韩综合精品一区二区| 欧美精品一区二区三区在线| 欧美一三区三区四区免费在线看| 欧美日韩国产不卡| 欧美不卡在线视频| 日韩欧美色综合网站| 6080yy午夜一二三区久久| 4438亚洲最大| 日韩欧美国产三级| 日韩欧美不卡一区| 欧美哺乳videos| www国产精品av| 国产婷婷精品av在线| 国产女人aaa级久久久级 | 日韩在线一区二区三区| 图片区小说区区亚洲影院| 亚洲成av人片一区二区三区| 日韩有码一区二区三区| 毛片av一区二区三区| 激情五月婷婷综合| 成人黄色网址在线观看| 色视频成人在线观看免| 欧美精品第1页| 日韩精品专区在线影院重磅| 久久人人97超碰com| 日本一区二区综合亚洲| 一区二区三区在线免费播放| 午夜精品一区二区三区电影天堂 | 国内成人精品2018免费看| 国产不卡视频一区二区三区| 国产精品性做久久久久久| 成人精品视频一区| 色菇凉天天综合网| 欧美放荡的少妇| 国产日韩v精品一区二区| 亚洲男帅同性gay1069| 日本欧美加勒比视频| 成人av在线一区二区三区| 欧美日韩一区二区三区四区| 日韩精品资源二区在线| 亚洲日本va午夜在线影院| 日本亚洲三级在线| 成人黄色国产精品网站大全在线免费观看 | 精品一区二区三区久久| 99热这里都是精品| 欧美日韩二区三区| 国产欧美精品日韩区二区麻豆天美| 亚洲精品日韩一| 奇米一区二区三区av| 99久久婷婷国产| 精品久久久影院| 亚洲一区二区在线播放相泽| 九九精品视频在线看| 色综合激情五月| 久久精品视频在线看| 亚洲成av人影院| 91亚洲国产成人精品一区二三| 欧美精品1区2区3区| 国产精品久久久99| 精品一区二区三区视频| 欧洲国内综合视频| 中文字幕免费不卡在线| 蜜臀av一区二区| 欧美性三三影院| 国产精品进线69影院| 韩国女主播成人在线观看| 欧美视频完全免费看| 一区免费观看视频| 国产成人综合亚洲网站| 欧美v亚洲v综合ⅴ国产v| 亚洲国产乱码最新视频| 色综合天天性综合| 日本一区免费视频| 韩国欧美国产1区| 欧美一二三四在线| 视频一区免费在线观看| 色偷偷久久人人79超碰人人澡| 日本一区二区三级电影在线观看| 日本欧美一区二区三区乱码| 欧美日韩国产免费| 亚洲综合激情小说| 色婷婷综合五月| 国产精品你懂的在线欣赏| 国产精品一区一区三区| 久久久久久久久久久久久女国产乱| 日产国产欧美视频一区精品 | 国产视频一区二区在线| 国产一区二区三区四区五区入口 | 欧美人xxxx| 天堂精品中文字幕在线| 欧美精品一卡两卡| 免费一级片91|