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

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

?? xinputbytebuffer.h

?? BCB的學習資料
?? H
字號:
//---------------------------------------------------------------------------

#ifndef XInputByteBufferH
#define XInputByteBufferH
//---------------------------------------------------------------------------
#ifndef XByteBufferH
#include <XByteBuffer.h>
#endif

namespace zdhsoft
{

class XEReadBufferFail : public Exception //讀取緩沖區失敗
{
public:
    XEReadBufferFail(int iHelpContext=0);
private:
};

class XInputByteBuffer
{
public:
    XInputByteBuffer(const XByteBuffer & aBuffer);
    XInputByteBuffer(const XInputByteBuffer & aInputByteBuffer);
    XInputByteBuffer & operator=(const XInputByteBuffer & aInputByteBuffer)
    {
        m_Buffer = aInputByteBuffer.m_Buffer;
        m_Pos = aInputByteBuffer.m_Pos;
        return *this;
    }
    //method
    int GetPos() const { return m_Pos; }
    void MoveToBegin() { SetPos(0); }
    void MoveToEnd() { SetPos(m_Buffer->GetLength()-1);  }
    void SetPos(int v)
    {
        int iLen = m_Buffer->GetLength();
        if( v >= iLen ) v = iLen;
        if( v < 0 ) v = -1;
        m_Pos = v;
    }
    bool IsBof() const
    {
        if( m_Buffer->GetLength() == 0 ) return true;
        if( m_Pos < 0 ) return true;
        else return false;
    }
    bool IsEof() const
    {
        if( m_Pos >= m_Buffer->GetLength() ) return true;
        else return false;
    }
    XInputByteBuffer & operator+=(int aOffset)
    {
        SetPos(m_Pos + aOffset);
        return *this;
    }
    XInputByteBuffer & operator-=(int aOffset)
    {
        SetPos(m_Pos - aOffset);
        return *this;
    }
    XInputByteBuffer & operator++(int)
    {
        SetPos(m_Pos + 1);
        return *this;
    }
    XInputByteBuffer operator++()
    {
        XInputByteBuffer tmp( *this );
        SetPos(m_Pos + 1);
        return tmp;
    }
    XInputByteBuffer & operator--(int)
    {
        SetPos(m_Pos - 1);
        return *this;
    }
    XInputByteBuffer operator--()
    {
        XInputByteBuffer tmp( *this );
        SetPos(m_Pos - 1);
        return tmp;
    }
//
    bool IsCanRead(int iPos,int iSize)
    {
        if( iSize < 1 ) return false;
        if( iPos < 0 || iPos >= m_Buffer->GetLength() ) return false;
        if( iPos + iSize > m_Buffer->GetLength() ) return false;
        return true;
    }

    bool GetBool(XBoolean & v)
    {
        if( IsCanRead( m_Pos,sizeof(XBoolean) ) )
        {
            if( m_Buffer->operator[](m_Pos++) == 0) v = false;
            else v = true;
            return true;
        }else return false;
    }
    bool GetByte(XByte & v)
    {
        if( IsCanRead( m_Pos,sizeof(XByte) ) )
        {
            v = m_Buffer->operator[](m_Pos++);
            return true;
        }else return false;
    }
    bool GetChar(XChar &v)
    {
        if( IsCanRead( m_Pos,sizeof(XChar) ) )
        {
            v =(XChar)m_Buffer->operator[](m_Pos++);
            return true;
        }else return false;
    }
    bool GetWord(XWord &v)
    {
        if( IsCanRead( m_Pos,sizeof(XWord) ) )
        {
            v = m_Buffer->GetWordValue(m_Pos);
            m_Pos += sizeof(XWord);
            return true;
        }else return false;
    }
    bool GetShort(XShort & v)
    {
        if( IsCanRead( m_Pos,sizeof(XShort) ) )
        {
            v = m_Buffer->GetShortValue(m_Pos);
            m_Pos += sizeof(XShort);
            return true;
        }else return false;
    }
    bool GetDWord(XDWord &v)
    {
        if( IsCanRead( m_Pos,sizeof(XDWord) ) )
        {
            v = m_Buffer->GetDWordValue(m_Pos);
            m_Pos += sizeof(XDWord);
            return true;
        }else return false;
    }
    bool GetInt(XInt & v)
    {
        if( IsCanRead( m_Pos,sizeof(XInt) ) )
        {
            v = m_Buffer->GetIntValue(m_Pos);
            m_Pos += sizeof(XInt);
            return true;
        }else return false;
    }
    bool GetDDWord(XDDWord &v)
    {
        if( IsCanRead( m_Pos,sizeof(XDDWord) ) )
        {
            v = m_Buffer->GetDDWordValue(m_Pos);
            m_Pos += sizeof(XDDWord);
            return true;
        }else return false;
    }
    bool GetLong(XLong & v)
    {
        if( IsCanRead( m_Pos,sizeof(XLong) ) )
        {
            v = m_Buffer->GetLongValue(m_Pos);
            m_Pos += sizeof(XLong);
            return true;
        }else return false;
    }
    bool GetFloat(XFloat & v)
    {
        if( IsCanRead( m_Pos, sizeof(XFloat) ) )
        {
            v = m_Buffer->GetFloatValue(m_Pos);
            m_Pos += sizeof(XFloat);
            return true;
        }else return false;
    }
    bool GetDouble(XDouble & v)
    {
        if( IsCanRead( m_Pos, sizeof(XDouble) ) )
        {
            v = m_Buffer->GetDoubleValue(m_Pos);
            m_Pos += sizeof(XDouble);
            return true;
        }else return false;
    }
    bool GetLongDouble(XLongDouble & v)
    {
        if( IsCanRead( m_Pos, sizeof(XDouble) ) )
        {
            v = m_Buffer->GetLongDoubleValue(m_Pos);
            m_Pos += sizeof(XLongDouble);
            return true;
        }else return false;
    }
    bool GetData(void * aData,int iSize)
    {
        if( iSize <= 0 ) return true;
        if( IsCanRead( m_Pos, iSize ))
        {
            m_Buffer->GetDataValue(m_Pos,aData,iSize);
            m_Pos += iSize;
            return true;
        }else return false;
    }

//
    XByte GetByte()
    {
        XByte v;
        if(!GetByte(v)) throw XEReadBufferFail();
        return v;
    }
    XChar GetChar()
    {
        XChar v;
        if(!GetChar(v)) throw XEReadBufferFail();
        return v;
    }
    XWord GetWord()
    {
        XWord v;
        if(!GetWord(v)) throw XEReadBufferFail();
        return v;
    }
    XShort GetShort()
    {
        XShort v;
        if(!GetShort(v)) throw XEReadBufferFail();
        return v;
    }
    XDWord GetDWord()
    {
        XDWord v;
        if(!GetDWord(v)) throw XEReadBufferFail();
        return v;
    }
    XInt GetInt()
    {
        XInt v;
        if(!GetInt(v)) throw XEReadBufferFail();
        return v;
    }
    XDDWord GetDDWord()
    {
        XDDWord v;
        if(!GetDDWord(v)) throw XEReadBufferFail();
        return v;
    }
    XLong GetLong()
    {
        XLong v;
        if(!GetLong(v)) throw XEReadBufferFail();
        return v;
    }
    XBoolean GetBool()
    {
        XBoolean v;
        if(!GetBool(v)) throw XEReadBufferFail();
        return v;
    }
    XFloat GetFloat()
    {
        XFloat v;
        if(!GetFloat(v)) throw XEReadBufferFail();
        return v;
    }
    XDouble GetDouble()
    {
        XDouble v;
        if(!GetDouble(v)) throw XEReadBufferFail();
        return v;
    }
    XLongDouble GetLongDouble()
    {
        XLongDouble v;
        if(!GetLongDouble(v)) throw XEReadBufferFail();
        return v;
    }
    XInputByteBuffer & operator>>(XBoolean & v)
    {
        if( IsCanRead( m_Pos,sizeof(XBoolean) ) )
        {
            if( m_Buffer->operator[](m_Pos++) == 0) v = false;
            else v = true;
        }
        return *this;
    }
    XInputByteBuffer & operator>>(XByte & v)
    {
        if( IsCanRead( m_Pos,sizeof(XByte) ) )
        {
            v = m_Buffer->operator[](m_Pos++);
        }
        return *this;
    }
    XInputByteBuffer & operator>>(XChar &v)
    {
        if( IsCanRead( m_Pos,sizeof(XChar) ) )
        {
            v =(XChar)m_Buffer->operator[](m_Pos++);
        }
        return *this;
    }
    XInputByteBuffer & operator>>(XWord &v)
    {
        if( IsCanRead( m_Pos,sizeof(XWord) ) )
        {
            v = m_Buffer->GetWordValue(m_Pos);
            m_Pos += sizeof(XWord);
        }
        return *this;
    }
    XInputByteBuffer & operator>>(XShort & v)
    {
        if( IsCanRead( m_Pos,sizeof(XShort) ) )
        {
            v = m_Buffer->GetShortValue(m_Pos);
            m_Pos += sizeof(XShort);
        }
        return *this;
    }
    XInputByteBuffer & operator>>(XDWord &v)
    {
        if( IsCanRead( m_Pos,sizeof(XDWord) ) )
        {
            v = m_Buffer->GetDWordValue(m_Pos);
            m_Pos += sizeof(XDWord);
        }
        return *this;
    }
    XInputByteBuffer & operator>>(XInt & v)
    {
        if( IsCanRead( m_Pos,sizeof(XInt) ) )
        {
            v = m_Buffer->GetIntValue(m_Pos);
            m_Pos += sizeof(XInt);
        }
        return *this;
    }
    XInputByteBuffer & operator>>(XDDWord &v)
    {
        if( IsCanRead( m_Pos,sizeof(XDDWord) ) )
        {
            v = m_Buffer->GetDDWordValue(m_Pos);
            m_Pos += sizeof(XDDWord);
        }
        return *this;
    }
    XInputByteBuffer & operator>>(XLong & v)
    {
        if( IsCanRead( m_Pos,sizeof(XLong) ) )
        {
            v = m_Buffer->GetLongValue(m_Pos);
            m_Pos += sizeof(XLong);
        }
        return *this;
    }
    XInputByteBuffer & operator>>(XFloat & v)
    {
        if( IsCanRead( m_Pos, sizeof(XFloat) ) )
        {
            v = m_Buffer->GetFloatValue(m_Pos);
            m_Pos += sizeof(XFloat);
        }
        return *this;
    }
    XInputByteBuffer & operator>>(XDouble & v)
    {
        if( IsCanRead( m_Pos, sizeof(XDouble) ) )
        {
            v = m_Buffer->GetDoubleValue(m_Pos);
            m_Pos += sizeof(XDouble);
        }
        return *this;
    }
    XInputByteBuffer & operator>>(XLongDouble & v)
    {
        if( IsCanRead( m_Pos, sizeof(XDouble) ) )
        {
            v = m_Buffer->GetLongDoubleValue(m_Pos);
            m_Pos += sizeof(XLongDouble);
        }
        return *this;
    }

    //property
    __property int Pos = { read = GetPos ,write = SetPos };

private:
    const XByteBuffer * m_Buffer;
    int m_Pos;
};

};
#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
男人操女人的视频在线观看欧美| 制服丝袜日韩国产| 99精品欧美一区二区三区综合在线| 日本国产一区二区| 欧美精品高清视频| 国产婷婷色一区二区三区四区| 亚洲欧美aⅴ...| 日韩精品免费视频人成| 国产91精品精华液一区二区三区| 成人精品国产一区二区4080| 91高清在线观看| 波多野结衣中文字幕一区| 欧美区在线观看| 亚洲欧美综合在线精品| 亚洲国产另类av| 久久er99热精品一区二区| 高清beeg欧美| 欧美日韩免费一区二区三区| 久久久精品一品道一区| 伊人婷婷欧美激情| 韩国精品在线观看| 91成人在线免费观看| 欧美精品一区二区三区高清aⅴ| 国产精品国产三级国产普通话三级| 午夜久久久久久电影| 国产 欧美在线| 制服丝袜av成人在线看| 亚洲国产精品二十页| 青青草伊人久久| 91欧美激情一区二区三区成人| 欧美一级生活片| 一区二区三区在线免费| 国产综合色在线视频区| 国产乱码精品1区2区3区| 国产精品毛片久久久久久| 精品伊人久久久久7777人| 成人永久免费视频| 91麻豆精品国产91| 亚洲日本一区二区三区| 精品中文字幕一区二区| 欧美日韩视频在线一区二区| 欧美国产日韩一二三区| 日本不卡中文字幕| 色94色欧美sute亚洲线路二| 久久人人爽人人爽| 蜜桃视频第一区免费观看| 欧洲在线/亚洲| 国产精品私人自拍| 国产一区二区不卡| 在线综合亚洲欧美在线视频| 一区二区三区四区高清精品免费观看 | 国产欧美日韩精品在线| 久久久一区二区| 亚洲成a人片在线观看中文| 不卡一卡二卡三乱码免费网站| 久久精品综合网| 精品一区二区三区在线播放| 欧美日韩国产一级| 国产天堂亚洲国产碰碰| 在线观看欧美黄色| 日本一区二区成人在线| 国产91高潮流白浆在线麻豆| 成人毛片老司机大片| 91亚洲资源网| 欧美国产成人精品| 国产美女av一区二区三区| 日韩欧美国产一二三区| 亚洲一区在线看| 91成人在线观看喷潮| 99国产精品一区| 久久福利视频一区二区| 亚洲欧洲av另类| 欧美系列日韩一区| 亚洲激情自拍偷拍| 欧美日韩五月天| 日韩码欧中文字| 欧美日韩国产片| 风流少妇一区二区| 午夜精品久久一牛影视| 在线观看日韩电影| 欧美午夜精品一区二区蜜桃| 亚洲欧美福利一区二区| 91麻豆自制传媒国产之光| 亚洲天堂网中文字| 成人免费精品视频| 一区在线播放视频| 91老师片黄在线观看| 亚洲裸体xxx| 91福利在线观看| 婷婷中文字幕一区三区| 欧美大片国产精品| 狠狠色丁香久久婷婷综合丁香| 久久综合国产精品| 国产成人精品免费在线| 国产精品久久久久久福利一牛影视 | 午夜久久电影网| 日韩欧美国产精品一区| 国产麻豆日韩欧美久久| 中文字幕欧美日本乱码一线二线| 国产成人亚洲综合a∨婷婷| 中文字幕一区在线观看视频| 色av一区二区| 日本美女一区二区三区视频| 久久中文娱乐网| a亚洲天堂av| 性欧美大战久久久久久久久| 日韩一区二区三区免费看 | 2021中文字幕一区亚洲| 粉嫩绯色av一区二区在线观看| 国产精品久久久久影院色老大 | 99re热视频这里只精品| 波多野结衣在线一区| 不卡大黄网站免费看| 国产一区二区h| 日本视频中文字幕一区二区三区| 久久精品欧美一区二区三区麻豆| 精品视频免费看| 欧美亚洲自拍偷拍| 在线观看视频一区| 欧美日韩国产三级| 欧美电影影音先锋| 国产精品久久久久久妇女6080| 欧美日韩精品福利| 色综合一区二区三区| 国产在线播精品第三| 精品一区二区三区免费观看| 国产一区二区三区| 成人小视频在线| 成人网男人的天堂| 久久91精品久久久久久秒播| 国产精品久久久久影院| 7777精品伊人久久久大香线蕉完整版 | 色综合久久99| 成人精品国产一区二区4080| 99热国产精品| 欧美三级电影在线观看| 日韩欧美一二三| 国产日韩欧美精品综合| 亚洲欧洲另类国产综合| 亚洲综合激情另类小说区| 日韩av一二三| 麻豆高清免费国产一区| 91免费看视频| 日本美女视频一区二区| 久久亚洲捆绑美女| 欧美伊人久久大香线蕉综合69| 国产xxx精品视频大全| 亚洲午夜久久久久久久久电影院 | 亚洲综合自拍偷拍| 久久久99精品久久| 日韩欧美一区在线观看| 91官网在线观看| 成人黄页在线观看| 久久99久久久欧美国产| 亚洲已满18点击进入久久| 中文字幕国产精品一区二区| 日韩精品中文字幕在线不卡尤物 | 日韩理论片中文av| 久久久不卡影院| 日韩欧美国产一区二区在线播放 | 亚瑟在线精品视频| 亚洲欧美日韩国产手机在线| 国产情人综合久久777777| 欧美日韩免费视频| 在线观看日韩电影| 97久久超碰精品国产| 成人免费黄色大片| 国产盗摄女厕一区二区三区 | 久久久蜜桃精品| 欧美一二三在线| 欧美日韩国产大片| 色吧成人激情小说| 91免费国产视频网站| 成人黄色软件下载| 成人国产精品免费观看| 成人黄色小视频| 成人av动漫网站| 成人久久视频在线观看| 国产成+人+日韩+欧美+亚洲| 国产一区二区三区免费观看| 久久99精品国产麻豆婷婷| 免费在线一区观看| 蜜桃在线一区二区三区| 美女视频一区在线观看| 美女一区二区久久| 久久99精品国产麻豆婷婷| 久久99精品久久久久婷婷| 久久99热国产| 国产一本一道久久香蕉| 国产不卡在线视频| 成人在线综合网| eeuss鲁片一区二区三区| eeuss影院一区二区三区| 91色|porny| 在线观看欧美精品| 91精品一区二区三区在线观看| 欧美日韩国产免费一区二区| 3d成人h动漫网站入口| 日韩欧美国产精品一区| 久久九九久久九九|