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

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

?? listimp.h

?? uc/os 很好的學習代碼
?? H
?? 第 1 頁 / 共 2 頁
字號:
protected:

    virtual BI_ListElement<T> _FAR *findDetach( T t );
    virtual BI_ListElement<T> _FAR *findPred( T );

};

template <class T> void BI_SListImp<T>::add( T t )
{
    new BI_ListElement<T>( t, findPred(t) );
}

template <class T> BI_ListElement<T> _FAR *BI_SListImp<T>::findDetach( T t )
{
    BI_ListElement<T> _FAR *res = findPred(t);
    if( res->next->data == t )
        return res;
    else
        return &tail;
}

template <class T> BI_ListElement<T> _FAR *BI_SListImp<T>::findPred( T t )
{
    tail.data = t;
    BI_ListElement<T> _FAR *cursor = &head;
    while( cursor->next->data < t )
        cursor = cursor->next;
    return cursor;
}

/*------------------------------------------------------------------------*/
/*                                                                        */
/*  template <class T> class BI_ListIteratorImp                           */
/*                                                                        */
/*  Implements a list iterator.  This iterator works with any direct      */
/*  list.  For indirect lists, see BI_IListIteratorImp.                   */
/*                                                                        */
/*------------------------------------------------------------------------*/

template <class T> class _CLASSTYPE BI_ListIteratorImp
{

public:

    BI_ListIteratorImp( const BI_ListImp<T> _FAR &l )
        {
        list = &l;
        cur = list->head.next;
        }

    operator int()
        {
        return cur != &(list->tail);
        }

    T current()
        {
        return cur->data;
        }

    T operator ++ ( int )
        {
        BI_ListElement<T> _FAR *temp = cur;
        cur = cur->next;
        return temp->data;
        }

    T operator ++ ()
        {
        cur = cur->next;
        return cur->data;
        }

    void restart()
        {
        cur = list->head.next;
        }

private:

    const BI_ListImp<T> _FAR *list;
    BI_ListElement<T> _FAR *cur;

};

/*------------------------------------------------------------------------*/
/*                                                                        */
/*  template <class T, class Vect> class BI_InternalIListImp              */
/*                                                                        */
/*  Implements a list of pointers to objects of type T.                   */
/*  This is implemented through the form of BI_ListImp specified by List. */
/*  Since pointers always have meaningful copy semantics, this class      */
/*  can handle any type of object.                                        */
/*                                                                        */
/*------------------------------------------------------------------------*/

template <class T, class List> class _CLASSTYPE BI_InternalIListImp :
    public List
{
public:

    T _FAR *peekHead() const
        {
        return (T _FAR *)List::peekHead();
        }

    void add( T _FAR *t )
        {
        List::add( t );
        }

    void detach( T _FAR *t, int del = 0 )
        {
        List::detach( t, del );
        }

    void forEach( void (_FAR *)(T _FAR &, void _FAR *), void _FAR * );
    T _FAR *firstThat( int (_FAR *)(const T _FAR &, void _FAR *),
                       void _FAR *
                     ) const;
    T _FAR *lastThat( int (_FAR *)(const T _FAR &, void _FAR *),
                      void _FAR *
                    ) const;

protected:

    virtual BI_ListElement<void _FAR *> _FAR *findPred( void _FAR * ) = 0;

private:

    virtual void removeData( BI_ListElement<void _FAR *> _FAR *block )
        {
        delete (T _FAR *)(block->data);
        }
};

template <class T, class List>
void BI_InternalIListImp<T, List>::forEach( void (_FAR *f)(T _FAR &, void _FAR *),
                                            void _FAR *args
                                          )
{
    BI_ListElement<void _FAR *> _FAR *cur = head.next;
    while( cur->next != cur )
        {
        f( *(T _FAR *)cur->data, args );
        cur = cur->next;
        }
}

template <class T, class List>
T _FAR *BI_InternalIListImp<T, List>::firstThat( int (_FAR *cond)(const T _FAR &, void _FAR *),
                                            void _FAR *args
                                          ) const
{
    BI_ListElement<void _FAR *> _FAR *cur = head.next;
    while( cur->next != cur )
        if( cond( *(T _FAR *)(cur->data), args ) != 0 )
            return (T _FAR *)cur->data;
        else
            cur = cur->next;
    return 0;
}

template <class T, class List>
T _FAR *BI_InternalIListImp<T, List>::lastThat( int (_FAR *cond)(const T _FAR &, void _FAR *),
                                           void _FAR *args
                                         ) const
{
    T _FAR *res = 0;
    BI_ListElement<void _FAR *> _FAR *cur = head.next;
    while( cur->next != cur )
        {
        if( cond( *(T _FAR *)(cur->data), args ) != 0 )
            res = (T _FAR *)(cur->data);
        cur = cur->next;
        }
    return res;
}

/*------------------------------------------------------------------------*/
/*                                                                        */
/*  template <class T> class BI_IListImp                                  */
/*                                                                        */
/*  Implements a list of pointers to objects of type T.                   */
/*  This is implemented through the template BI_InternalIListImp.  Since  */
/*  pointers always have meaningful copy semantics, this class            */
/*  can handle any type of object.                                        */
/*                                                                        */
/*------------------------------------------------------------------------*/

template <class T> class _CLASSTYPE BI_IListImp :
    public BI_InternalIListImp<T, BI_ListImp<void _FAR *> >
{

protected:

    virtual BI_ListElement<void _FAR *> _FAR *findPred( void _FAR * );

};

template <class T>
BI_ListElement<void _FAR *> _FAR *BI_IListImp<T>::findPred( void _FAR *t )
{
    tail.data = t;
    BI_ListElement<void _FAR *> _FAR *cursor = &head;
    while( !(*(T _FAR *)t == *(T _FAR *)(cursor->next->data)) )
        cursor = cursor->next;
    return cursor;
}

/*------------------------------------------------------------------------*/
/*                                                                        */
/*  template <class T> class BI_ISListImp                                 */
/*                                                                        */
/*  Implements a sorted list of pointers to objects of type T.            */
/*  This is implemented through the template BI_InternalIListImp.  Since  */
/*  pointers always have meaningful copy semantics, this class            */
/*  can handle any type of object.                                        */
/*                                                                        */
/*------------------------------------------------------------------------*/

template <class T> class _CLASSTYPE BI_ISListImp :
    public BI_InternalIListImp<T, BI_SListImp<void _FAR *> >
{

protected:

    virtual BI_ListElement<void _FAR *> _FAR *findDetach( void _FAR * );
    virtual BI_ListElement<void _FAR *> _FAR *findPred( void _FAR * );

};

template <class T>
BI_ListElement<void _FAR *> _FAR *BI_ISListImp<T>::findDetach( void _FAR *t )
{
    BI_ListElement<void _FAR *> _FAR *res = findPred(t);
    if( *(T _FAR *)(res->next->data) == *(T _FAR *)t )
        return res;
    else
        return &tail;
}

template <class T>
BI_ListElement<void _FAR *> _FAR *BI_ISListImp<T>::findPred( void _FAR *t )
{
    tail.data = t;
    BI_ListElement<void _FAR *> _FAR *cursor = &head;
    while( *(T _FAR *)(cursor->next->data) < *(T _FAR *)t )
        cursor = cursor->next;
    return cursor;
}

/*------------------------------------------------------------------------*/
/*                                                                        */
/*  template <class T> class BI_IListIteratorImp                          */
/*                                                                        */
/*  Implements a list iterator.  This iterator works with any indirect    */
/*  list.  For direct lists, see BI_ListIteratorImp.                      */
/*                                                                        */
/*------------------------------------------------------------------------*/

template <class T>
class _CLASSTYPE BI_IListIteratorImp : public BI_ListIteratorImp<void _FAR *>
{

public:

   BI_IListIteratorImp( const BI_ListImp<void _FAR *> _FAR &l ) :
        BI_ListIteratorImp<void _FAR *>(l) {}

   T _FAR *current()
        {
        return (T _FAR *)BI_ListIteratorImp<void _FAR *>::current();
        }

   T _FAR *operator ++ (int)
        {
        return (T _FAR *)BI_ListIteratorImp<void _FAR *>::operator ++ (1);
        }

   T _FAR *operator ++ ()
        {
        return (T _FAR *)BI_ListIteratorImp<void _FAR *>::operator ++ ();
        }


};

#endif  // __LISTIMP_H

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产日韩v精品一区二区| 88在线观看91蜜桃国自产| 午夜久久久影院| 亚洲成人先锋电影| 午夜成人免费电影| 婷婷丁香久久五月婷婷| 三级欧美韩日大片在线看| 午夜久久久久久电影| 免费成人美女在线观看.| 久久精品国产亚洲高清剧情介绍| 青娱乐精品视频| 久久国产尿小便嘘嘘| 国产精品伊人色| 99久久免费精品| 欧美日韩一区二区在线视频| 精品视频在线免费观看| 日韩一区二区三区电影| 精品国产乱码久久久久久闺蜜| 精品国产乱码久久久久久夜甘婷婷 | 亚洲综合偷拍欧美一区色| 亚洲成人精品一区二区| 免费成人av在线播放| 国产成人精品免费网站| 91网站最新地址| 欧美一区二区三区免费在线看| 国产亚洲欧洲997久久综合| 综合久久一区二区三区| 亚洲成av人影院| 国产精品亚洲一区二区三区在线| av成人老司机| 日韩欧美中文字幕精品| 国产精品成人免费在线| 日韩av二区在线播放| 国产高清精品久久久久| 精品视频免费在线| 国产欧美日本一区视频| 亚洲无线码一区二区三区| 国模一区二区三区白浆| 在线观看视频一区| 久久久久久久久久久黄色| 亚洲精选免费视频| 九色|91porny| 欧美午夜片在线看| 国产三级精品在线| 亚洲va天堂va国产va久| 成人免费看的视频| 欧美xxxx在线观看| 亚洲成a人片综合在线| 成人av电影在线| 日韩一级免费观看| 亚洲成av人片一区二区梦乃| 国模一区二区三区白浆| 56国语精品自产拍在线观看| 亚洲欧美一区二区视频| 国产激情视频一区二区在线观看| 欧美日韩高清不卡| 亚洲精品免费视频| 成av人片一区二区| 国产性做久久久久久| 久久超碰97中文字幕| 欧美精品精品一区| 亚洲综合另类小说| 91丨porny丨在线| 国产精品久久久久久久久免费相片| 青青草91视频| 欧美一级片在线观看| 亚洲午夜免费福利视频| 色综合久久久久综合体| 中文字幕一区二区三区不卡| 国产成人精品一区二区三区四区| 欧美r级电影在线观看| 久久国产人妖系列| 精品国产1区二区| 九九精品一区二区| 久久久久亚洲蜜桃| 福利一区二区在线| 中文字幕欧美一| 91麻豆精品视频| 怡红院av一区二区三区| 欧美亚洲动漫另类| 天堂精品中文字幕在线| 91精品欧美综合在线观看最新 | 丰满少妇久久久久久久| 国产日韩欧美一区二区三区综合 | 国产日韩三级在线| 成人黄色小视频| 亚洲欧美成人一区二区三区| 欧美中文字幕亚洲一区二区va在线| 一个色综合网站| 日韩欧美在线影院| 国产成人福利片| 亚洲欧洲日本在线| 欧美日韩和欧美的一区二区| 日韩国产精品91| 久久久久成人黄色影片| 91在线精品一区二区三区| 亚洲一区自拍偷拍| 精品福利av导航| www.日本不卡| 亚洲综合在线电影| 精品久久免费看| 色综合av在线| 麻豆91在线看| 亚洲欧洲www| 日韩欧美一区二区免费| 成人小视频免费在线观看| 一区二区成人在线观看| 精品久久久久久久人人人人传媒| 国产成人免费视频精品含羞草妖精 | 中文字幕巨乱亚洲| 3d成人动漫网站| 成人午夜看片网址| 亚洲国产精品久久艾草纯爱 | 在线精品视频小说1| 精品一区在线看| 亚洲图片你懂的| 日韩精品专区在线影院观看| 波多野结衣中文字幕一区二区三区| 一区二区三区美女视频| 精品国产乱码久久久久久老虎 | eeuss国产一区二区三区| 同产精品九九九| 国产精品网友自拍| 日韩免费福利电影在线观看| av在线综合网| 国产成人亚洲综合a∨婷婷图片| 亚洲国产综合人成综合网站| 国产欧美日韩激情| 精品福利一区二区三区免费视频| 欧美色倩网站大全免费| 粉嫩在线一区二区三区视频| 老司机精品视频导航| 亚洲不卡在线观看| 亚洲黄色片在线观看| 国产日韩欧美在线一区| 26uuu久久综合| 51久久夜色精品国产麻豆| 欧美吻胸吃奶大尺度电影| 91免费国产视频网站| 成人妖精视频yjsp地址| 国产一区视频导航| 久久精品国产亚洲aⅴ| 青娱乐精品视频| 麻豆成人久久精品二区三区红| 午夜私人影院久久久久| 亚洲一区二区五区| 有码一区二区三区| 亚洲国产成人高清精品| 亚洲国产精品久久久男人的天堂| 亚洲欧美电影一区二区| 亚洲免费色视频| 亚洲综合一区二区精品导航| 亚洲五月六月丁香激情| 午夜不卡在线视频| 日韩电影在线一区二区三区| 五月天婷婷综合| 麻豆精品新av中文字幕| 久久草av在线| 国产精品亚洲视频| 波多野结衣中文字幕一区二区三区| 成人福利视频网站| 色一区在线观看| 精品污污网站免费看| 日韩午夜在线观看| 精品国产伦一区二区三区观看体验 | 成+人+亚洲+综合天堂| 色综合中文综合网| 久久99精品久久久久| 国内精品久久久久影院薰衣草| 国产美女精品在线| 成人动漫一区二区三区| 色噜噜狠狠成人中文综合| 欧美三级午夜理伦三级中视频| 欧美一区二区三区视频在线| 精品国产1区2区3区| 自拍偷拍亚洲欧美日韩| 亚洲一区二区av在线| 九九视频精品免费| 色婷婷综合在线| 日韩一区二区三区视频在线| 欧美国产综合色视频| 伊人色综合久久天天| 激情综合网天天干| 成人免费毛片a| 91精品国产91久久久久久最新毛片| 日韩欧美久久一区| 亚洲三级免费观看| 韩国精品主播一区二区在线观看| www.欧美色图| 精品欧美久久久| 亚洲激情在线激情| 国产电影一区在线| 91精品国产美女浴室洗澡无遮挡| 国产性做久久久久久| 婷婷成人激情在线网| va亚洲va日韩不卡在线观看| 日韩三级视频在线观看| 亚洲综合精品久久| 成人不卡免费av| 精品福利在线导航|