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

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

?? qendian.h

?? QT 開發環境里面一個很重要的文件
?? H
字號:
/******************************************************************************** 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.******************************************************************************/#ifndef QENDIAN_H#define QENDIAN_H#include <QtCore/qglobal.h>QT_BEGIN_HEADERQT_MODULE(Core)/* * ENDIAN FUNCTIONS*/inline void qbswap_helper(const uchar *src, uchar *dest, int size){    for (int i = 0; i < size ; ++i) dest[i] = src[size - 1 - i];}/* * qbswap(const T src, const uchar *dest); * Changes the byte order of \a src from big endian to little endian or vice versa * and stores the result in \a dest. * There is no alignment requirements for \a dest.*/template <typename T> inline void qbswap(const T src, uchar *dest){    qbswap_helper(reinterpret_cast<const uchar *>(&src), dest, sizeof(T));}// Used to implement a type-safe and alignment-safe copy operation// If you want to avoid the memcopy, you must write specializations for this functiontemplate <typename T> inline void qToUnaligned(const T src, uchar *dest){    qMemCopy(dest, &src, sizeof(T));}/* T qFromLittleEndian(const uchar *src) * This function will read a little-endian encoded value from \a src * and return the value in host-endian encoding. * There is no requirement that \a src must be aligned.*/#if defined Q_CC_MSVC && _MSC_VER < 1300 || defined Q_CC_SUNinline quint64 qFromLittleEndian_helper(const uchar *src, quint64 *dest){    return 0        | src[0]        | src[1] * Q_UINT64_C(0x0000000000000100)        | src[2] * Q_UINT64_C(0x0000000000010000)        | src[3] * Q_UINT64_C(0x0000000001000000)        | src[4] * Q_UINT64_C(0x0000000100000000)        | src[5] * Q_UINT64_C(0x0000010000000000)        | src[6] * Q_UINT64_C(0x0001000000000000)        | src[7] * Q_UINT64_C(0x0100000000000000);}inline quint32 qFromLittleEndian_helper(const uchar *src, quint32 *dest){    return 0        | src[0]        | src[1] * quint32(0x00000100)        | src[2] * quint32(0x00010000)        | src[3] * quint32(0x01000000);}inline quint16 qFromLittleEndian_helper(const uchar *src, quint16 *dest){    return 0        | src[0]        | src[1] * 0x0100;}inline qint64 qFromLittleEndian_helper(const uchar *src, qint64 * dest){ return static_cast<qint64>(qFromLittleEndian_helper(src, reinterpret_cast<quint64*>(0))); }inline qint32 qFromLittleEndian_helper(const uchar *src, qint32 * dest){ return static_cast<qint32>(qFromLittleEndian_helper(src, reinterpret_cast<quint32*>(0))); }inline qint16 qFromLittleEndian_helper(const uchar *src, qint16 * dest){ return static_cast<qint16>(qFromLittleEndian_helper(src, reinterpret_cast<quint16*>(0))); }template <class T> inline T qFromLittleEndian(const uchar *src){    return qFromLittleEndian_helper(src, reinterpret_cast<T*>(0));}#elsetemplate <typename T> inline T qFromLittleEndian(const uchar *src);template <> inline quint64 qFromLittleEndian<quint64>(const uchar *src){    return 0        | src[0]        | src[1] * Q_UINT64_C(0x0000000000000100)        | src[2] * Q_UINT64_C(0x0000000000010000)        | src[3] * Q_UINT64_C(0x0000000001000000)        | src[4] * Q_UINT64_C(0x0000000100000000)        | src[5] * Q_UINT64_C(0x0000010000000000)        | src[6] * Q_UINT64_C(0x0001000000000000)        | src[7] * Q_UINT64_C(0x0100000000000000);}template <> inline quint32 qFromLittleEndian<quint32>(const uchar *src){    return 0        | src[0]        | src[1] * quint32(0x00000100)        | src[2] * quint32(0x00010000)        | src[3] * quint32(0x01000000);}template <> inline quint16 qFromLittleEndian<quint16>(const uchar *src){    return 0        | src[0]        | src[1] * 0x0100;}// signed specializationstemplate <> inline qint64 qFromLittleEndian<qint64>(const uchar *src){ return static_cast<qint64>(qFromLittleEndian<quint64>(src)); }template <> inline qint32 qFromLittleEndian<qint32>(const uchar *src){ return static_cast<qint32>(qFromLittleEndian<quint32>(src)); }template <> inline qint16 qFromLittleEndian<qint16>(const uchar *src){ return static_cast<qint16>(qFromLittleEndian<quint16>(src)); }#endif/* This function will read a big-endian (also known as network order) encoded value from \a src * and return the value in host-endian encoding. * There is no requirement that \a src must be aligned.*/#if defined Q_CC_MSVC && _MSC_VER < 1300 || defined Q_CC_SUNinline quint64 qFromBigEndian_helper(const uchar *src, quint64 *dest){    return 0        | src[7]        | src[6] * Q_UINT64_C(0x0000000000000100)        | src[5] * Q_UINT64_C(0x0000000000010000)        | src[4] * Q_UINT64_C(0x0000000001000000)        | src[3] * Q_UINT64_C(0x0000000100000000)        | src[2] * Q_UINT64_C(0x0000010000000000)        | src[1] * Q_UINT64_C(0x0001000000000000)        | src[0] * Q_UINT64_C(0x0100000000000000);}inline quint32 qFromBigEndian_helper(const uchar *src, quint32 * dest){    return 0        | src[3]        | src[2] * quint32(0x00000100)        | src[1] * quint32(0x00010000)        | src[0] * quint32(0x01000000);}inline quint16 qFromBigEndian_helper(const uchar *src, quint16 * des){    return 0        | src[1]        | src[0] * 0x0100;}inline qint64 qFromBigEndian_helper(const uchar *src, qint64 * dest){ return static_cast<qint64>(qFromBigEndian_helper(src, reinterpret_cast<quint64*>(0))); }inline qint32 qFromBigEndian_helper(const uchar *src, qint32 * dest){ return static_cast<qint32>(qFromBigEndian_helper(src, reinterpret_cast<quint32*>(0))); }inline qint16 qFromBigEndian_helper(const uchar *src, qint16 * dest){ return static_cast<qint16>(qFromBigEndian_helper(src, reinterpret_cast<quint16*>(0))); }template <class T> inline T qFromBigEndian(const uchar *src){    return qFromBigEndian_helper(src, reinterpret_cast<T*>(0));}#elsetemplate <class T> inline T qFromBigEndian(const uchar *src);template<>inline quint64 qFromBigEndian<quint64>(const uchar *src){    return 0        | src[7]        | src[6] * Q_UINT64_C(0x0000000000000100)        | src[5] * Q_UINT64_C(0x0000000000010000)        | src[4] * Q_UINT64_C(0x0000000001000000)        | src[3] * Q_UINT64_C(0x0000000100000000)        | src[2] * Q_UINT64_C(0x0000010000000000)        | src[1] * Q_UINT64_C(0x0001000000000000)        | src[0] * Q_UINT64_C(0x0100000000000000);}template<>inline quint32 qFromBigEndian<quint32>(const uchar *src){    return 0        | src[3]        | src[2] * quint32(0x00000100)        | src[1] * quint32(0x00010000)        | src[0] * quint32(0x01000000);}template<>inline quint16 qFromBigEndian<quint16>(const uchar *src){    return 0        | src[1]        | src[0] * quint16(0x0100);}// signed specializationstemplate <> inline qint64 qFromBigEndian<qint64>(const uchar *src){ return static_cast<qint64>(qFromBigEndian<quint64>(src)); }template <> inline qint32 qFromBigEndian<qint32>(const uchar *src){ return static_cast<qint32>(qFromBigEndian<quint32>(src)); }template <> inline qint16 qFromBigEndian<qint16>(const uchar *src){ return static_cast<qint16>(qFromBigEndian<quint16>(src)); }#endif/* * T qbswap(T source). * Changes the byte order of a value from big endian to little endian or vice versa. * This function can be used if you are not concerned about alignment issues, * and it is therefore a bit more convenient and in most cases more efficient.*/template <typename T> T qbswap(T source);template <> inline quint64 qbswap<quint64>(quint64 source){    return 0        | ((source & Q_UINT64_C(0x00000000000000ff)) << 56)        | ((source & Q_UINT64_C(0x000000000000ff00)) << 40)        | ((source & Q_UINT64_C(0x0000000000ff0000)) << 24)        | ((source & Q_UINT64_C(0x00000000ff000000)) << 8)        | ((source & Q_UINT64_C(0x000000ff00000000)) >> 8)        | ((source & Q_UINT64_C(0x0000ff0000000000)) >> 24)        | ((source & Q_UINT64_C(0x00ff000000000000)) >> 40)        | ((source & Q_UINT64_C(0xff00000000000000)) >> 56);}template <> inline quint32 qbswap<quint32>(quint32 source){    return 0        | ((source & 0x000000ff) << 24)        | ((source & 0x0000ff00) << 8)        | ((source & 0x00ff0000) >> 8)        | ((source & 0xff000000) >> 24);}template <> inline quint16 qbswap<quint16>(quint16 source){    return 0        | ((source & 0x00ff) << 8)        | ((source & 0xff00) >> 8);}// signed specializationstemplate <> inline qint64 qbswap<qint64>(qint64 source){    return qbswap<quint64>(quint64(source));}template <> inline qint32 qbswap<qint32>(qint32 source){    return qbswap<quint32>(quint32(source));}template <> inline qint16 qbswap<qint16>(qint16 source){    return qbswap<quint16>(quint16(source));}#if Q_BYTE_ORDER == Q_BIG_ENDIANtemplate <typename T> inline T qToBigEndian(T source){ return source; }template <typename T> inline T qFromBigEndian(T source){ return source; }template <typename T> inline T qToLittleEndian(T source){ return qbswap<T>(source); }template <typename T> inline T qFromLittleEndian(T source){ return qbswap<T>(source); }template <typename T> inline void qToBigEndian(T src, uchar *dest){ qToUnaligned<T>(src, dest); }template <typename T> inline void qToLittleEndian(T src, uchar *dest){ qbswap<T>(src, dest); }#else // Q_LITTLE_ENDIANtemplate <typename T> inline T qToBigEndian(T source){ return qbswap<T>(source); }template <typename T> inline T qFromBigEndian(T source){ return qbswap<T>(source); }template <typename T> inline T qToLittleEndian(T source){ return source; }template <typename T> inline T qFromLittleEndian(T source){ return source; }template <typename T> inline void qToBigEndian(T src, uchar *dest){ qbswap<T>(src, dest); }template <typename T> inline void qToLittleEndian(T src, uchar *dest){ qToUnaligned<T>(src, dest); }#endif // Q_BYTE_ORDER == Q_BIG_ENDIANQT_END_HEADER#endif // QENDIAN_H

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国内成+人亚洲+欧美+综合在线| 久久激情五月激情| 国产精品久久久久久亚洲伦| 久久久噜噜噜久久人人看 | 91视频.com| 不卡大黄网站免费看| 成人91在线观看| 色999日韩国产欧美一区二区| av在线播放成人| 91热门视频在线观看| 色又黄又爽网站www久久| 色又黄又爽网站www久久| 欧美伊人久久久久久午夜久久久久| 91猫先生在线| 在线不卡免费av| 精品日韩欧美一区二区| 国产三区在线成人av| 亚洲视频免费看| 亚洲制服丝袜av| 日本在线播放一区二区三区| 毛片基地黄久久久久久天堂| 国产伦精品一区二区三区视频青涩| 国产精品99久久不卡二区| 色综合咪咪久久| 正在播放一区二区| 国产欧美一区二区三区在线看蜜臀 | 成人av午夜影院| 欧美主播一区二区三区| 精品国产网站在线观看| 国产精品伦理在线| 免费的成人av| 99riav一区二区三区| 制服视频三区第一页精品| 国产精品国产三级国产三级人妇| 亚洲电影视频在线| 成人一区二区三区中文字幕| 欧美日韩亚洲综合在线| 久久青草欧美一区二区三区| 亚洲午夜三级在线| 国产精品性做久久久久久| 欧美另类变人与禽xxxxx| 国产精品人人做人人爽人人添 | 国产美女一区二区| 欧美三级视频在线| 国产精品剧情在线亚洲| 蜜桃在线一区二区三区| 色婷婷综合久久久| 国产日产欧产精品推荐色| 日韩在线播放一区二区| 色狠狠综合天天综合综合| 久久久久99精品一区| 日本不卡一区二区三区高清视频| 成人黄色777网| 久久综合九色综合欧美98| 日日摸夜夜添夜夜添亚洲女人| 福利一区福利二区| 亚洲精品在线三区| 日本午夜一区二区| 欧美日韩午夜精品| 亚洲一区二区三区视频在线| 99riav一区二区三区| 国产精品久线在线观看| 国产成人精品免费| 国产欧美一区二区三区在线看蜜臀| 免费欧美在线视频| 欧美一区二区三区性视频| 午夜精品久久久久久久 | 蜜乳av一区二区三区| 欧美午夜不卡视频| 一级日本不卡的影视| www.欧美.com| 亚洲欧洲日韩av| 成人免费看视频| 国产精品久久久久久亚洲伦| 成人黄色在线看| 亚洲人成伊人成综合网小说| 成人综合在线网站| 欧美激情一区在线观看| 不卡电影免费在线播放一区| 中文字幕一区在线| 在线精品国精品国产尤物884a| 亚洲免费av在线| 欧美日韩精品一区二区在线播放 | 亚洲va国产va欧美va观看| 91福利区一区二区三区| 亚洲综合一区二区| 欧美日韩一区二区三区免费看| 亚洲一区二区av在线| 欧美日韩精品欧美日韩精品一| 亚洲国产精品久久人人爱| 欧美巨大另类极品videosbest | 欧美一级二级三级蜜桃| 国产麻豆一精品一av一免费| 中文字幕va一区二区三区| 97久久精品人人澡人人爽| 樱花影视一区二区| 日韩欧美一区电影| 国产精品白丝jk黑袜喷水| 亚洲色图色小说| 3d动漫精品啪啪1区2区免费| 久久精品国产免费| 国产亚洲欧美在线| 日本高清不卡一区| 免费观看成人鲁鲁鲁鲁鲁视频| 久久久精品2019中文字幕之3| 97久久人人超碰| 日韩精品一级二级 | 一区二区三区日本| 日韩欧美一区二区久久婷婷| 成人综合婷婷国产精品久久免费| 艳妇臀荡乳欲伦亚洲一区| 日韩精品自拍偷拍| 色婷婷国产精品| 国产精品资源网| 日韩精品欧美成人高清一区二区| 久久久久综合网| 欧美日本韩国一区二区三区视频| 国产中文字幕精品| 亚洲成人午夜电影| 亚洲天堂免费在线观看视频| 日韩午夜电影在线观看| 色香色香欲天天天影视综合网| 国产在线精品一区二区| 五月激情综合网| 亚洲人一二三区| 久久精品欧美日韩精品| 欧美精品视频www在线观看| 岛国一区二区三区| 久久99久久99精品免视看婷婷 | 久久精品夜夜夜夜久久| 欧美精品1区2区3区| 色婷婷久久综合| 成人app在线| 岛国一区二区在线观看| 精品亚洲成a人| 午夜精品视频一区| 亚洲成a人v欧美综合天堂下载| 综合色天天鬼久久鬼色| 中文字幕不卡在线播放| 久久综合狠狠综合久久激情 | 欧美午夜片在线观看| 色综合久久久网| 成人小视频免费观看| 国产揄拍国内精品对白| 狠狠v欧美v日韩v亚洲ⅴ| 日本不卡不码高清免费观看 | 精品少妇一区二区三区在线播放| 在线观看一区不卡| 欧美视频在线观看一区| 在线看一区二区| 欧美色综合网站| 欧美日韩免费一区二区三区视频| 91国产免费观看| 在线观看免费成人| 欧美日韩一区二区在线观看 | 樱桃视频在线观看一区| 亚洲精品国产品国语在线app| 一区二区欧美在线观看| 亚洲制服丝袜av| 青青国产91久久久久久| 看电视剧不卡顿的网站| 麻豆国产精品视频| 国产成人欧美日韩在线电影| 国产精品18久久久久久久网站| 国产成人av资源| 99热精品国产| 欧美日本一区二区在线观看| 日韩视频免费观看高清完整版在线观看 | 一区二区三区自拍| 五月天中文字幕一区二区| 免费三级欧美电影| 激情五月婷婷综合网| 成人精品国产福利| 91官网在线观看| 91精品国产91综合久久蜜臀| 精品国精品国产| 国产精品美女一区二区| 亚洲一区二区欧美日韩| 久久99精品久久久久久国产越南 | 日韩av一区二| 国产精品一区久久久久| 色婷婷综合在线| 日韩午夜电影av| 一色屋精品亚洲香蕉网站| 午夜欧美2019年伦理| 国产成人午夜高潮毛片| 精品视频全国免费看| 中文字幕精品一区二区精品绿巨人| 亚洲五月六月丁香激情| 国产福利精品导航| 欧美一区二区国产| 中文字幕一区二区三区不卡在线| 婷婷国产v国产偷v亚洲高清| 成人午夜精品在线| 91精品国产黑色紧身裤美女| 亚洲视频免费观看| 国产69精品久久99不卡| 欧美第一区第二区| 午夜电影久久久| 在线观看一区二区精品视频|