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

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

?? arrays.h

?? hello everybody. good lucky to you
?? H
?? 第 1 頁 / 共 3 頁
字號:
        return oarray.isFull();
        }

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

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

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

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

    int ownsElements()
        {
        return oarray.ownsElements();
        }

    void ownsElements( int del )
        {
        oarray.ownsElements( del );
        }

protected:

    BI_IArrayAsVector<Object> oarray;

};

class _CLASSTYPE BI_OArrayAsVectorIterator :
    public BI_IArrayAsVectorIterator<Object>
{

public:

    BI_OArrayAsVectorIterator( const BI_OArrayAsVector _FAR &a ) :
        BI_IArrayAsVectorIterator<Object>(a.oarray)
        {
        restart();
        }

    void restart()
        {
        BI_IArrayAsVectorIterator<Object>::restart();
        if( current() == 0 )
            (*this)++;
        }

};

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

class _CLASSTYPE BI_TCArrayAsVector : public AbstractArray
{

public:

    friend class _CLASSTYPE BI_TCArrayAsVectorIterator;

    BI_TCArrayAsVector( int upper, int lower = 0, sizeType delta = 0 ) :
        array( upper, lower, delta )
        {
        }

    virtual Object& operator []( int loc )
        {
        return ptrToRef(array[loc]);
        }

    virtual Object& operator []( int loc ) const
        {
        return ptrToRef(array[loc]);
        }

    virtual int lowerBound() const
        {
        return array.lowerBound();
        }

    virtual int upperBound() const
        {
        return array.upperBound();
        }

    virtual sizeType arraySize() const
        {
        return array.arraySize();
        }

    void add( Object _FAR &o )
        {
        array.add(&o);
        }

    void addAt( Object _FAR &o, int loc )
        {
        array.addAt(&o,loc);
        }

    virtual void detach( int loc, DeleteType dt = NoDelete )
        {
        array.detach( loc, dt );
        }

    void detach( Object _FAR &o,
                 TShouldDelete::DeleteType dt = TShouldDelete::NoDelete
               )
        {
        array.detach( &o, dt );
        }

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

    int hasMember( Object _FAR &o ) const
        {
        return array.hasMember(&o);
        }

    Object _FAR &findMember( Object _FAR &o ) const
        {
        return ptrToRef(array.findMember(&o));
        }

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

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

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

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

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

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

    virtual classType isA() const
        {
        return arrayClass;
        }

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

    int ownsElements()
        {
        return array.ownsElements();
        }

    void ownsElements( int del )
        {
        array.ownsElements( del );
        }

    ContainerIterator _FAR &initIterator() const;

private:

    BI_OArrayAsVector array;

};

class _CLASSTYPE BI_TCArrayAsVectorIterator : public ContainerIterator
{

public:

    BI_TCArrayAsVectorIterator( const BI_TCArrayAsVector _FAR &a ) :
        iter(a.array)
        {
        }

    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_OArrayAsVectorIterator iter;

};

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

/*------------------------------------------------------------------------*/
/*                                                                        */
/*  template <class T> class BI_SArrayAsVector                            */
/*                                                                        */
/*  Implements a sorted array of objects of type T, using a vector as     */
/*  the underlying implementation.                                        */
/*                                                                        */
/*------------------------------------------------------------------------*/

template <class T> class _CLASSTYPE BI_SArrayAsVector :
    public BI_ArrayAsVectorImp<BI_SVectorImp<T>,T>
{

public:

    friend class _CLASSTYPE BI_SArrayAsVectorIterator<T>;

    BI_SArrayAsVector( int upper, int lower = 0, int delta = 0 ) :
        BI_ArrayAsVectorImp<BI_SVectorImp<T>,T>( upper, lower, delta )
        {
        }

    T& operator []( int loc )
        {
        grow( loc );
        return data[zeroBase(loc)];
        }

    T& operator []( int loc ) const
        {
        PRECONDITION( loc >= lowerbound && loc < data.count() );
        return data[zeroBase(loc)];
        }

    void forEach( void (_FAR *f)(T _FAR &, void _FAR *), void _FAR *args )
        {
        if( !isEmpty() )
            data.forEach( f, args );
        }

    T _FAR *firstThat( int (_FAR *f)(const T _FAR &, void _FAR *),
                       void _FAR *args
                     ) const
        {
        if( isEmpty() )
            return 0;
        return data.firstThat( f, args );
        }

    T _FAR *lastThat( int (_FAR * f)(const T _FAR &, void _FAR *),
                      void _FAR *args
                    ) const
        {
        if( isEmpty() )
            return 0;
        return data.lastThat( f, args );
        }

};

template <class T> class _CLASSTYPE BI_SArrayAsVectorIterator :
    BI_VectorIteratorImp<T>
{

public:

    BI_SArrayAsVectorIterator( const BI_SArrayAsVector<T> _FAR & a ) :
        BI_VectorIteratorImp<T>(a.data) {}

};

/*------------------------------------------------------------------------*/
/*                                                                        */
/*  template <class T> class BI_ISArrayAsVector                           */
/*                                                                        */
/*  Implements an indirect sorted array of objects of type T, using a     */
/*  vector as the underlying implementation.                              */
/*                                                                        */
/*------------------------------------------------------------------------*/

template <class T> class _CLASSTYPE BI_ISArrayAsVector :
    public BI_ArrayAsVectorImp<BI_ISVectorImp<T>,T _FAR *>,
    public virtual TShouldDelete
{

public:

    friend class _CLASSTYPE BI_ISArrayAsVectorIterator<T>;

    BI_ISArrayAsVector( int upper, int lower = 0, int delta = 0 ) :
        BI_ArrayAsVectorImp<BI_ISVectorImp<T>,T _FAR*>( upper, lower, delta )
        {
        }

    ~BI_ISArrayAsVector()
        {
        flush();
        }

    T _FAR * _FAR & operator []( int loc )
        {
        grow( loc );
        return data[zeroBase(loc)];
        }

    T _FAR * _FAR & operator []( int loc ) const
        {
        PRECONDITION( loc >= lowerbound && loc < data.count() );
        return data[zeroBase(loc)];
        }

    void add( T _FAR *t )
        {
        BI_ArrayAsVectorImp<BI_ISVectorImp<T>,T _FAR *>::add(t);
        }

    void addAt( T _FAR *t, int loc )
        {
        BI_ArrayAsVectorImp<BI_ISVectorImp<T>,T _FAR *>::addAt(t,loc);
        }

    void detach( int loc, DeleteType dt = NoDelete )
        {
        data.detach( loc, delObj(dt) );
        }

    void detach( T _FAR *t, DeleteType dt = NoDelete )
        {
        unsigned loc = data.find( t );
        if( loc == UINT_MAX )
            return;
        data.detach( loc, delObj(dt) );
        }

    void flush( DeleteType dt = DefDelete )
        {
        data.flush( delObj(dt), data.limit(), 0 );
        }

    int find( const T *t ) const
        {
        return data.find( (T *)t );
        }

    void forEach( void (_FAR *f)(T _FAR &, void _FAR *), void _FAR *args )
        {
        if( !isEmpty() )
            data.forEach( f, args );
        }

    T _FAR *firstThat( int (_FAR *f)(const T _FAR &, void _FAR *),
                       void _FAR *args
                     ) const
        {
        if( isEmpty() )
            return 0;
        return data.firstThat( f, args );
        }

    T _FAR *lastThat( int (_FAR * f)(const T _FAR &, void _FAR *),
                      void _FAR *args
                    ) const
        {
        if( isEmpty() )
            return 0;
        return data.lastThat( f, args );
        }

};

template <class T> class _CLASSTYPE BI_ISArrayAsVectorIterator :
    public BI_IVectorIteratorImp<T>
{

public:

    BI_ISArrayAsVectorIterator( const BI_ISArrayAsVector<T> _FAR &a ) :
        BI_IVectorIteratorImp<T>(a.data) {}

};

/*------------------------------------------------------------------------*/
/*                                                                        */
/*  class BI_ISObjectVector                                               */
/*                                                                        */
/*  Implements a sorted vector of pointers to Object.                     */
/*  This is implemented through the template BI_ISVectorImp<Object>.      */
/*                                                                        */
/*------------------------------------------------------------------------*/

class _CLASSTYPE BI_ISObjectVector :
    public BI_InternalICVectorImp<Object, BI_SVectorImp<void _FAR *> >
{

public:

    BI_ISObjectVector( unsigned sz, unsigned d = 0 ) :
        BI_InternalICVectorImp<Object, BI_SVectorImp<void _FAR *> >(sz)
        {
        delta = d;
        }

    ~BI_ISObjectVector()
        {
        flush();
        }

    void add( Object _FAR *o );

    void addAt( Object _FAR *t, unsigned loc )
        {
        BI_InternalICVectorImp<Object, BI_SVectorImp<void _FAR *> >::addAt(t,loc);
        }

    void detach( unsigned loc, int del = 0 )
        {
        BI_InternalICVectorImp<Object, BI_SVectorImp<void _FAR *> >::detach( loc, del );
        }

    void detach( Object _FAR *t, int del = 0 )
        {
        unsigned loc = find( t );
        if( loc == UINT_MAX )
            return;
        BI_InternalICVectorImp<Object, BI_SVectorImp<void _FAR *> >::detach( loc, del );
        }

    void flush( int del = 0 )
        {
        BI_InternalICVectorImp<Object, BI_SVectorImp<void _FAR *> >::flush( del );
        }

    unsigned find( Object _FAR *t ) const

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品久久久久7777按摩| 久久久午夜电影| 蜜桃视频在线观看一区| 久久精品人人做人人综合| 欧美视频精品在线观看| 国产99久久久精品| 日本伊人色综合网| 亚洲欧洲精品一区二区精品久久久| 欧美日本在线一区| 91在线精品一区二区三区| 精品在线视频一区| 视频一区欧美精品| 一区二区三区四区蜜桃| 日本一区二区视频在线观看| 欧美精选午夜久久久乱码6080| 成人av手机在线观看| 国产一区视频网站| 日韩国产欧美一区二区三区| 亚洲精品视频一区二区| 久久久久久免费网| 欧美电视剧免费全集观看| 欧美日韩免费一区二区三区| 成人av网站大全| 国产精品系列在线观看| 久久精品国产一区二区三区免费看 | 亚洲一区二区三区国产| 国产精品国产精品国产专区不片| 欧美精品一区二区三区视频| 欧美精品乱码久久久久久| 欧美影院午夜播放| 在线视频国产一区| 色综合久久精品| av激情综合网| 99热在这里有精品免费| 成人少妇影院yyyy| 高清av一区二区| 国产成人aaa| 国产1区2区3区精品美女| 国产高清不卡二三区| 久久成人免费网| 美女mm1313爽爽久久久蜜臀| 日产国产欧美视频一区精品| 视频在线在亚洲| 日韩av一二三| 免费成人av在线播放| 日本午夜一本久久久综合| 五月天激情小说综合| 天天综合天天综合色| 日本女优在线视频一区二区| 日韩成人免费看| 老司机一区二区| 国产精品一二一区| 成人一区二区三区在线观看 | 波多野结衣中文字幕一区 | 久久69国产一区二区蜜臀| 蜜桃av噜噜一区| 国产乱码精品一区二区三区忘忧草| 国内精品免费在线观看| 国产精品18久久久久久久网站| 国产一区二区三区久久久 | 大陆成人av片| 91香蕉视频污在线| 欧美色老头old∨ideo| 91精品国产综合久久小美女| 欧美成人免费网站| 亚洲国产精品99久久久久久久久| 国产精品国产三级国产三级人妇| 自拍偷拍欧美激情| 亚洲成人一区二区| 国产麻豆午夜三级精品| 99精品久久99久久久久| 欧美日韩高清不卡| 欧美mv日韩mv国产网站| 中文在线免费一区三区高中清不卡| 日韩理论在线观看| 丝袜亚洲另类欧美综合| 国产美女精品人人做人人爽 | 欧美电视剧在线看免费| 国产精品乱子久久久久| 亚洲午夜久久久久久久久电影院 | 国产麻豆精品在线| 色综合一区二区三区| 日韩欧美资源站| 中文字幕亚洲区| 日韩精品视频网| 不卡高清视频专区| 欧美一区二区三区系列电影| 欧美国产在线观看| 亚洲成av人影院| 成人精品小蝌蚪| 宅男在线国产精品| 综合色中文字幕| 国产在线不卡一区| 欧美色老头old∨ideo| 国产欧美视频一区二区| 香蕉成人伊视频在线观看| 国产成人精品免费看| 欧美日韩一区三区四区| 国产精品私人自拍| 蜜桃视频在线一区| 欧美性淫爽ww久久久久无| 久久久99精品免费观看不卡| 亚洲大片精品永久免费| av午夜一区麻豆| 精品美女一区二区| 性做久久久久久久久| 99久久国产综合精品女不卡| 精品国产伦一区二区三区免费| 亚洲一级二级在线| 99久久免费精品| 久久精品视频在线看| 日韩av电影一区| 在线免费视频一区二区| 国产精品国产三级国产a| 国产主播一区二区三区| 91精品国产综合久久精品| 亚洲乱码国产乱码精品精的特点 | 大尺度一区二区| 日韩三级视频在线观看| 日韩高清不卡在线| 欧美性一级生活| 亚洲另类中文字| 91蜜桃免费观看视频| 中文字幕av不卡| 国产一区二区伦理片| 日韩免费观看高清完整版 | 91丨porny丨蝌蚪视频| 久久久精品免费免费| 激情五月激情综合网| 日韩一级完整毛片| 日本欧美在线看| 欧美日韩在线综合| 午夜久久电影网| 欧美日韩一本到| 亚洲第一福利一区| 欧美日本一区二区三区四区| 亚洲国产一区在线观看| 欧美自拍偷拍一区| 一区二区理论电影在线观看| 色婷婷亚洲综合| 亚洲精品日韩一| 在线视频一区二区三| 亚洲另类春色校园小说| 在线精品视频免费观看| 一级精品视频在线观看宜春院| 色综合久久综合网| 亚洲资源中文字幕| 666欧美在线视频| 蜜臀a∨国产成人精品| 精品国产乱码久久久久久影片| 韩国精品主播一区二区在线观看 | 老司机精品视频线观看86| 欧美mv日韩mv国产网站| 国产精品亚洲综合一区在线观看| 国产日韩欧美综合在线| 成人成人成人在线视频| 国产精品理论在线观看| 日本道色综合久久| 天天色天天爱天天射综合| 欧美xfplay| 成人激情动漫在线观看| 亚洲精品中文在线影院| 欧美精品一级二级三级| 韩国精品久久久| 国产精品美日韩| 精品视频全国免费看| 国产一区999| 亚洲女同女同女同女同女同69| 欧美日韩国产首页在线观看| 久久99精品国产.久久久久| 国产区在线观看成人精品| 色婷婷综合在线| 免费成人结看片| 中文字幕在线视频一区| 欧美日韩精品一区二区三区四区| 久久av资源站| 中文字幕一区二区三区视频 | 欧美日韩在线播放三区四区| 九色综合狠狠综合久久| 国产精品久久久久7777按摩 | 在线播放欧美女士性生活| 国内精品久久久久影院薰衣草| 国产精品久久精品日日| 欧美一级欧美三级在线观看| 国产传媒日韩欧美成人| 午夜精彩视频在线观看不卡| 国产视频亚洲色图| 欧美日韩高清在线| av亚洲精华国产精华精| 久久99热狠狠色一区二区| 亚洲欧美区自拍先锋| 久久久精品一品道一区| 欧美精品三级在线观看| a级精品国产片在线观看| 免费看日韩a级影片| 亚洲精品国产一区二区三区四区在线| 日韩亚洲国产中文字幕欧美| 91视频免费看| 国产精品影视在线观看| 日韩av在线发布|