Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members

mitkList.h

00001 /*=========================================================================
00002 
00003   Program:   3DMed
00004   Date:      $Date: 2014-02-25 18:30:00 +0800 $
00005   Version:   $Version: 4.6.0 $
00006   Copyright: MIPG, Institute of Automation, Chinese Academy of Sciences
00007 
00008 =========================================================================*/
00009 
00010 
00011 #ifndef __mitkList_h
00012 #define __mitkList_h
00013 
00014 #include "mitkObject.h"
00015 
00016 struct mitkListNode 
00017 {
00018     mitkObject *Item;
00019     mitkListNode *Next;
00020 };
00021 
00025 class MITK_COMMON_API mitkList
00026 {
00027 public:
00028     mitkList(); 
00029     virtual ~mitkList();
00030     void Delete() {delete this;}
00031 
00035     void Add(mitkObject *itemAdding);
00036 
00040     void Insert(mitkObject *itemInserting, int pos);
00041 
00045     void Replace(int i, mitkObject *itemNew);
00046     
00050     void Remove(int i);  
00051 
00055     void Remove(mitkObject *itemRemove);
00056 
00060     void RemoveAll();
00061     void Clear();
00062 
00067     int  Find(mitkObject *itemFinding);
00068 
00072     mitkObject* GetItem(int i);
00073     mitkObject* Item(int i);
00074 
00078     int  Count()  {return m_Count;}
00079     int  GetNumberOfItems() {return m_Count;}
00080 
00084     void InitTraversal() {m_Current = m_Top;}
00085     mitkObject* GetNextItem(void);  
00086 
00087 protected:
00088     int m_Count;
00089     mitkListNode *m_Top;
00090     mitkListNode *m_Bottom; 
00091     mitkListNode *m_Current;    
00092     
00093 
00094 private:
00095     mitkList(const mitkList&);
00096     void operator=(const mitkList&);
00097 };
00098 
00099 
00100 //#define DEFINED_mitkList
00101 
00102 
00103 
00104 #endif
00105 

Generated on Tue Feb 25 15:00:37 2014 for MITK (Medical Imaging ToolKit) by  doxygen 1.4.3