• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            隨心動(dòng)

            自處理list

            一個(gè)自處理的list 用途多多
              1
               1 //子項(xiàng)
              2   2 class autoItem
              3   3 {
              4   4 public:
              5   5     //處理
              6   6     virtual bool  proces() = 0;
              7   7     //彈出
              8   8     virtual bool  ok() = 0; 
              9   9     //處理順序
             10  10     virtual int   Order(){return 0;}
             11  11 };
             12  12 enum sortType
             13  13 {
             14  14     ST_Input,
             15  15     ST_Custom
             16  16 };
             17  17 //自處理list
             18  18 class _autolist
             19  19 {
             20  20 public:
             21  21     _autolist( sortType _type );
             22  22     ~_autolist();
             23  23 
             24  24     //繼承函數(shù)
             25  25 public:
             26  26     //加入處理序列
             27  27     virtual bool  push(autoItem *p);
             28  28     //執(zhí)行處理序列
             29  29     virtual bool  go();
             30  30     //清理所有
             31  31     virtual bool  clear(); 
             32  32 
             33  33     //
             34  34 protected:
             35  35     std::list<autoItem*> itemList;
             36  36     sortType _sortType;
             37  37 };
             38  38 
             39  39 
             40  40 _autolist::_autolist( sortType _type )
             41  41 {
             42  42     _sortType = _type;
             43  43 }
             44  44 
             45  45 _autolist::~_autolist()
             46  46 {
             47  47     clear();
             48  48 }
             49  49 
             50  50 bool _autolist::push( autoItem *p )
             51  51 {
             52  53     if (p == NULL) return false;
             53  54     switch (_sortType)
             54  55     {
             55  56     case ST_Input:
             56  57         {
             57  58             itemList.insert(itemList.end(),p);
             58  59             return true;
             59  60         }
             60  61     case ST_Custom:
             61  62         {
             62  63             if (itemList.size() == 0)
             63  64             {
             64  65                 itemList.push_back(p);
             65  66                 return true;
             66  67             }
             67  68             static std::list<autoItem*>::iterator it;
             68  69             it= itemList.begin();
             69  70             for (; it != itemList.end();it++)
             70  71             {
             71  72                 if ((*it)->Order() < p->Order())continue;
             72  73                 itemList.insert(it,p);
             73  74                 break;
             74  75             }
             75  76             return true;
             76  77         }
             77  78     default:
             78  80         return false;
             79  82     }
             80  83     return false;
             81  84 }
             82  85 
             83  86 bool _autolist::go()
             84  87 {
             85  88     static std::list<autoItem*>::iterator it;
             86  89     int nsize = itemList.size();
             87  90     it= itemList.begin();
             88  91     for (; it != itemList.end();)
             89  92     {
             90  93         (*it)->proces();
             91  94         if ( (*it)->ok())
             92  95             it = itemList.erase(it);
             93  96         else
             94  97             it++;
             95  98     }
             96  99     return true;
             97 100 }
             98 101 
             99 102 bool _autolist::clear()
            100 103 {
            101 104     itemList.clear();
            102 105     return true;
            103 106 }
            104 107 
            105 

            posted on 2013-12-15 22:30 陳志遠(yuǎn) 閱讀(1455) 評(píng)論(2)  編輯 收藏 引用

            評(píng)論

            # re: 自處理list 2013-12-17 16:50 ccsdu2009

            干啥的?  回復(fù)  更多評(píng)論   

            # re: 自處理list 2013-12-18 00:08 陳志遠(yuǎn)

            @ccsdu2009
            我用它畫 動(dòng)畫啊 或者執(zhí)行一些可變的過程,看那個(gè)autoItem怎么實(shí)現(xiàn)了  回復(fù)  更多評(píng)論   


            只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


            導(dǎo)航

            <2013年12月>
            24252627282930
            1234567
            891011121314
            15161718192021
            22232425262728
            2930311234

            統(tǒng)計(jì)

            常用鏈接

            留言簿

            隨筆檔案

            文章分類

            Othor's blog

            搜索

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            亚洲Av无码国产情品久久| 91精品观看91久久久久久| 东方aⅴ免费观看久久av| 色综合久久综合中文综合网| 精品久久久久久中文字幕人妻最新| 波多野结衣中文字幕久久| 国产福利电影一区二区三区,免费久久久久久久精 | 久久99精品免费一区二区| 亚洲精品视频久久久| 国产精品久久永久免费| 一级a性色生活片久久无| 色综合久久精品中文字幕首页| 亚洲日韩欧美一区久久久久我| 国产精品久久久久久影院 | 狠狠色丁香久久综合婷婷| 久久毛片免费看一区二区三区| 久久综合给久久狠狠97色 | 久久婷婷国产剧情内射白浆| 一本大道久久a久久精品综合| 婷婷五月深深久久精品| 午夜精品久久久内射近拍高清 | 亚洲国产精品无码久久九九| 久久国产精品99久久久久久老狼 | 欧美综合天天夜夜久久| 亚洲国产欧美国产综合久久| 久久这里有精品视频| 久久99精品国产麻豆婷婷| 久久这里只有精品久久| 久久人人爽人人爽人人片AV不| 色综合久久夜色精品国产| 国产精品久久久久久久久久免费| 九九久久自然熟的香蕉图片| 亚洲综合精品香蕉久久网| 午夜精品久久久久久影视riav| 久久久久亚洲AV成人网人人网站 | 久久w5ww成w人免费| 久久午夜羞羞影院免费观看| 亚洲级αV无码毛片久久精品| 99久久香蕉国产线看观香| 中文成人久久久久影院免费观看| 久久无码精品一区二区三区|