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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? deques.h

?? hello everybody. good lucky to you
?? H
?? 第 1 頁(yè) / 共 3 頁(yè)
字號(hào):

template <class T>
void BI_IDequeAsVector<T>::flush( TShouldDelete::DeleteType dt )
{
    if( delObj(dt) != 0 )
        {
        if( left <= right )
            data.flush( 1, right, left );
        else
            {
            data.flush( 1, data.limit(), left + 1 );
            data.flush( 1, right, 0 );
            }
        }
    BI_DequeAsVectorImp<BI_IVectorImp<T>,T _FAR *>::flush();
}

/*------------------------------------------------------------------------*/
/*                                                                        */
/*  template <class T> class BI_IDequeAsVectorIterator                    */
/*                                                                        */
/*  Implements an iterator for the family of IDeques as Vectors.          */
/*                                                                        */
/*------------------------------------------------------------------------*/

template <class T> class _CLASSTYPE BI_IDequeAsVectorIterator :
    public BI_DequeAsVectorIteratorImp<BI_IVectorIteratorImp<T>,BI_IVectorImp<T>,T _FAR *>
{

public:

    BI_IDequeAsVectorIterator( const BI_IDequeAsVector<T> _FAR &d ) :
        BI_DequeAsVectorIteratorImp<BI_IVectorIteratorImp<T>,BI_IVectorImp<T>,T _FAR *>(d.data,d.left,d.right) {}

};

/*------------------------------------------------------------------------*/
/*                                                                        */
/*  class BI_ODequeAsVector                                               */
/*                                                                        */
/*  Implements a dequeue of pointers to Object,                           */
/*  using a vector as the underlying implementation.                      */
/*                                                                        */
/*------------------------------------------------------------------------*/

class _CLASSTYPE BI_ODequeAsVector
{

public:

    friend class _CLASSTYPE BI_ODequeAsVectorIterator;

    BI_ODequeAsVector( unsigned sz = DEFAULT_DEQUE_SIZE ) :
        odeque( sz )
        {
        }

    Object _FAR *peekLeft() const
        {
        return odeque.peekLeft();
        }

    Object _FAR *peekRight() const
        {
        return odeque.peekRight();
        }

    Object _FAR *getLeft()
        {
        return odeque.getLeft();
        }

    Object _FAR *getRight()
        {
        return odeque.getRight();
        }

    void putLeft( Object _FAR *o )
        {
        odeque.putLeft( o );
        }

    void putRight( Object _FAR *o )
        {
        odeque.putRight( o );
        }

    void flush( TShouldDelete::DeleteType dt = TShouldDelete::DefDelete )
        {
        odeque.flush( dt );
        }

    int isFull() const
        {
        return odeque.isFull();
        }

    int isEmpty() const
        {
        return odeque.isEmpty();
        }

    void forEach( void (_FAR*f)(Object _FAR &, void _FAR*), void _FAR*args )
        {
        odeque.forEach( f, args );
        }

    Object _FAR *firstThat( int (_FAR *f)(const Object _FAR &, void _FAR *),
                            void _FAR *args
                          ) const
        {
        return odeque.firstThat( f, args );
        }

    Object _FAR *lastThat( int (_FAR *f)(const Object _FAR &, void _FAR *),
                           void _FAR *args
                         ) const
        {
        return odeque.lastThat( f, args );
        }

    int getItemsInContainer() const
        {
        return odeque.getItemsInContainer();
        }

protected:

    BI_IDequeAsVector<Object> odeque;

};

class _CLASSTYPE BI_ODequeAsVectorIterator :
    public BI_IDequeAsVectorIterator<Object>
{

public:

    BI_ODequeAsVectorIterator( const BI_ODequeAsVector _FAR &d ) :
        BI_IDequeAsVectorIterator<Object>(d.odeque)
        {
        }

};

/*------------------------------------------------------------------------*/
/*                                                                        */
/*  class BI_TCDequeAsVector                                              */
/*                                                                        */
/*  Implements an Object dequeue, with the full semantics of              */
/*  the BC 2.0 style deque, using a vector as the underlying              */
/*  implementation.                                                       */
/*                                                                        */
/*------------------------------------------------------------------------*/

class _CLASSTYPE BI_TCDequeAsVector : public Container
{

public:

    friend class _CLASSTYPE BI_TCDequeAsVectorIterator;

    BI_TCDequeAsVector( int sz = DEFAULT_DEQUE_SIZE ) :
        deque(sz)
        {
        }

    Object _FAR & peekLeft() const
        {
        return ptrToRef(deque.peekLeft());
        }

    Object _FAR & peekRight() const
        {
        return ptrToRef(deque.peekRight());
        }

    Object _FAR & getLeft()
        {
        return ptrToRef(deque.getLeft());
        }

    Object _FAR & getRight()
        {
        return ptrToRef(deque.getRight());
        }

    void putLeft( Object _FAR & o )
        {
        deque.putLeft( &o );
        }

    void putRight( Object _FAR & o )
        {
        deque.putRight( &o );
        }

    virtual void flush( DeleteType dt = DefDelete )
        {
        deque.flush(dt);
        }

    virtual int isEmpty() const
        {
        return deque.isEmpty();
        }

    virtual countType getItemsInContainer() const
        {
        return deque.getItemsInContainer();
        }

    void forEach( void (_FAR*f)(Object _FAR &, void _FAR*), void _FAR*args )
        {
        deque.forEach( f, args );
        }

    Object _FAR & firstThat( int (_FAR *f)(const Object _FAR &, void _FAR *),
                             void _FAR *args
                           ) const
        {
        return ptrToRef(deque.firstThat( f, args ));
        }

    Object _FAR & lastThat( int ( _FAR *f)(const Object _FAR &, void _FAR *),
                            void _FAR *args
                          ) const
        {
        return ptrToRef(deque.lastThat( f, args ));
        }

    virtual ContainerIterator _FAR & initIterator() const;

    virtual classType isA() const
        {
        return dequeClass;
        }

    virtual char _FAR *nameOf() const
        {
        return "BI_TCDequeAsVector";
        }

protected:

    BI_ODequeAsVector deque;

};

class _CLASSTYPE BI_TCDequeAsVectorIterator : public ContainerIterator
{

public:

    BI_TCDequeAsVectorIterator( const BI_TCDequeAsVector _FAR &d ) :
        iter(d.deque)
        {
        }

    virtual operator int()
        {
        return int(iter);
        }

    virtual Object _FAR & current()
        {
        return Object::ptrToRef(iter.current());
        }

    virtual Object _FAR & operator ++ ( int )
        {
        return Object::ptrToRef(iter++);
        }

    virtual Object _FAR & operator ++ ()
        {
        return Object::ptrToRef(++iter);
        }

    virtual void restart()
        {
        iter.restart();
        }

private:

    BI_ODequeAsVectorIterator iter;

};

inline ContainerIterator _FAR & BI_TCDequeAsVector::initIterator() const
{
    return *new BI_TCDequeAsVectorIterator( *this );
}

/*------------------------------------------------------------------------*/
/*                                                                        */
/*  template <class Lst, class T> class BI_DequeAsDoubleListImp           */
/*                                                                        */
/*  Implements the fundamental dequeue operations, using a list           */
/*  as the underlying implementation.  The type Lst specifies the         */
/*  form of the list, either a BI_DoubleListImp<T0> or a                  */
/*  BI_IDoubleListImp<T0>.  The type T specifies the type of the          */
/*  objects to be put in the deque.  When using BI_ListImp<T0>,           */
/*  T should be the same as T0. When using BI_IListImp<T0>, T             */
/*  should be of type pointer to T0.  See BI_DequeAsList and              */
/*  BI_IDequeAsList for examples.                                         */
/*                                                                        */
/*------------------------------------------------------------------------*/

template <class Lst, class T> class _CLASSTYPE BI_DequeAsDoubleListImp
{

public:

    BI_DequeAsDoubleListImp() :
        itemsInContainer( 0 )
        {
        }

    T peekLeft() const
        {
        PRECONDITION( !isEmpty() );
        return data.peekTail();
        }

    T peekRight() const
        {
        PRECONDITION( !isEmpty() );
        return data.peekHead();
        }

    T getLeft()
        {
        PRECONDITION( !isEmpty() );
        T t = peekLeft();
        data.detach( t, 0 );
        itemsInContainer--;
        return t;
        }

    T getRight()
        {
        PRECONDITION( !isEmpty() );
        T t = peekRight();
        data.detach( t, 0 );
        itemsInContainer--;
        return t;
        }

    void putLeft( T t )
        {
        data.addAtTail( t );
        itemsInContainer++;
        }

    void putRight( T t )
        {
        data.add( t );
        itemsInContainer++;
        }

    void flush( int del )
        {
        data.flush( del ); 
        itemsInContainer = 0;
        }

    int isFull() const
        {
        return 0;
        }

    int isEmpty() const
        {
        return itemsInContainer == 0;
        }

    int getItemsInContainer() const
        {
        return itemsInContainer;
        }

protected:

    Lst data;
    int itemsInContainer;

};

/*------------------------------------------------------------------------*/
/*                                                                        */
/*  template <class T> class BI_DequeAsDoubleList                         */

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久精品人体av艺术| 亚洲一区二区三区国产| 欧美剧情片在线观看| 国产乱码精品一区二区三| 一区二区成人在线观看| 国产视频一区二区在线观看| 7777精品伊人久久久大香线蕉最新版 | 天天av天天翘天天综合网色鬼国产| 久久久久久电影| 欧美日韩亚洲综合| 色综合久久久久久久久久久| 国产一区二区三区日韩| 亚洲成av人片一区二区梦乃| 中文字幕亚洲一区二区va在线| 日韩欧美激情四射| 欧美日韩高清在线播放| 日本韩国欧美三级| 成人深夜在线观看| 国内不卡的二区三区中文字幕| 亚洲成人资源网| 亚洲日本乱码在线观看| 欧美高清在线一区二区| 26uuu亚洲| 日韩女优电影在线观看| 欧美一区二区三区在线视频 | 欧美一二三四在线| 欧美精品久久久久久久多人混战| 色香蕉成人二区免费| 91在线播放网址| 91网页版在线| 99精品视频中文字幕| av成人免费在线| av资源网一区| caoporen国产精品视频| jiyouzz国产精品久久| av激情综合网| 91美女蜜桃在线| 91小视频在线| 色综合色综合色综合色综合色综合| 成人app下载| av福利精品导航| 色婷婷国产精品| 欧美日韩一区高清| 在线播放欧美女士性生活| 欧美日韩国产一区二区三区地区| 欧美伦理视频网站| 日韩精品中文字幕一区 | 26uuu另类欧美亚洲曰本| 精品国产乱码久久久久久免费| 久久这里只有精品视频网| 久久久久久久av麻豆果冻| 国产精品你懂的| 亚洲美腿欧美偷拍| 天堂va蜜桃一区二区三区| 日本伊人精品一区二区三区观看方式| 亚洲妇熟xx妇色黄| 蓝色福利精品导航| 成人精品视频一区| 欧美性三三影院| 欧美成人vr18sexvr| 国产午夜精品久久| 一区二区在线观看视频在线观看| 婷婷综合另类小说色区| 国产一区视频在线看| 成人av片在线观看| 欧美日韩中文另类| 久久这里只有精品视频网| 中文字幕在线观看不卡| 亚洲6080在线| 国产美女主播视频一区| 色域天天综合网| 欧美成人一区二区三区片免费| 国产精品情趣视频| 日韩电影一区二区三区四区| 国产成人在线看| 欧美日韩久久久一区| 精品国产乱码久久久久久影片| 亚洲私人影院在线观看| 欧美aaaaa成人免费观看视频| 国产成人免费视频网站 | 国产乱码精品一区二区三 | 日韩精品专区在线影院重磅| 中文久久乱码一区二区| 视频一区在线播放| 丁香另类激情小说| 91麻豆精品国产自产在线观看一区| 国产性色一区二区| 亚洲.国产.中文慕字在线| 成人午夜看片网址| 777午夜精品免费视频| 亚洲欧美中日韩| 狠狠色综合播放一区二区| 欧日韩精品视频| 日本一区二区三级电影在线观看| 午夜视频在线观看一区二区 | 免费成人美女在线观看| 91丨九色丨蝌蚪丨老版| 久久久另类综合| 免费成人你懂的| 欧美日韩一区二区三区在线| 国产日产亚洲精品系列| 人人精品人人爱| 色狠狠一区二区| 国产精品久久久久一区二区三区 | 国内精品伊人久久久久av影院| 91黄色小视频| 国产精品久久久一本精品| 国内精品在线播放| 91精品国产色综合久久ai换脸| 亚洲精品成a人| 99国产精品久久| 国产欧美日本一区视频| 国内久久婷婷综合| 欧美成人伊人久久综合网| 婷婷六月综合亚洲| 欧美三级电影精品| 亚洲在线中文字幕| 日本韩国一区二区| 亚洲男帅同性gay1069| va亚洲va日韩不卡在线观看| 日本一区二区视频在线观看| 国产剧情一区二区三区| 精品粉嫩aⅴ一区二区三区四区| 日韩精品色哟哟| 91精品国产综合久久香蕉麻豆| 性久久久久久久| 欧美老年两性高潮| 日日夜夜精品视频免费 | 亚洲免费观看在线视频| 99国产精品国产精品毛片| 国产精品久久久99| heyzo一本久久综合| 国产精品久久久久久久裸模| 成人激情视频网站| 国产精品婷婷午夜在线观看| 成人午夜视频在线观看| 欧美激情一区二区在线| aaa国产一区| 亚洲欧美另类图片小说| 色激情天天射综合网| 亚洲美女区一区| 欧美图片一区二区三区| 日韩国产在线观看| 精品国产一区久久| 国产sm精品调教视频网站| 国产精品传媒入口麻豆| 一本色道**综合亚洲精品蜜桃冫 | 丁香天五香天堂综合| 亚洲欧美影音先锋| 欧洲一区二区三区在线| 性做久久久久久久免费看| 日韩美女天天操| 成人一区二区视频| 亚洲一区二区三区精品在线| 欧美一二三区在线| 国产精品亚洲成人| 亚洲精品国产品国语在线app| 欧美精品久久天天躁| 韩国在线一区二区| 亚洲视频在线一区二区| 欧美日产在线观看| 国产在线一区二区| 亚洲色图丝袜美腿| 91超碰这里只有精品国产| 国产在线精品视频| 一区二区三区成人在线视频| 欧美一区二区二区| av不卡免费电影| 人人狠狠综合久久亚洲| 国产精品丝袜一区| 欧美精品v国产精品v日韩精品| 久久99久久精品| 亚洲精品ww久久久久久p站| 日韩三级电影网址| 91在线播放网址| 精东粉嫩av免费一区二区三区| 最近日韩中文字幕| 精品久久免费看| 色欧美88888久久久久久影院| 久草在线在线精品观看| 亚洲激情男女视频| 久久久亚洲高清| 欧美区在线观看| 不卡一区在线观看| 久久99久久精品欧美| 樱桃国产成人精品视频| 久久久久97国产精华液好用吗| 欧美日韩一区不卡| 国产福利91精品| 日韩成人一区二区三区在线观看| 国产精品美女久久久久久久网站| 69成人精品免费视频| 色综合久久天天综合网| 国产一区二区三区免费看| 亚洲成av人片一区二区三区| 国产精品成人免费在线| 欧美v国产在线一区二区三区| 欧美丝袜第三区| 97精品久久久午夜一区二区三区| 国模娜娜一区二区三区|