00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #ifndef VTK_CONTAINER_H_
00017 # define VTK_CONTAINER_H_
00018 # include "vtkContainersConfigure.h"
00019 # include "vtkObject.h"
00020
00021 class vtkIterator;
00022
00048 class VTK_CONTAINERS_EXPORT vtkContainer : public vtkObject
00049 {
00050 public:
00051 vtkTypeRevisionMacro (vtkContainer, vtkObject);
00052 void PrintSelf (ostream&, vtkIndent);
00053
00055 virtual vtkIdType GetSize (void) const;
00056
00058 virtual int IsEmpty (void) const;
00059
00061 virtual vtkIdType GetMaxSize (void) const;
00062
00067 virtual int Clear (void) = 0;
00068
00073 virtual int Swap (vtkContainer* container) = 0;
00074
00079 virtual int Copy (vtkContainer* container) = 0;
00080
00087 virtual vtkObjectBase* Front (void) const;
00088
00093 virtual vtkObjectBase* Back (void) const;
00097 virtual vtkIterator* CreateIterator (void) = 0;
00098
00100 void Register (vtkObjectBase*);
00101
00103 void UnRegister (vtkObjectBase*);
00104
00105 protected:
00106 vtkContainer (void);
00107 ~vtkContainer();
00108
00109 private:
00115 vtkContainer (const vtkContainer&);
00116 void operator= (const vtkContainer&);
00118 };
00119
00120 #endif
00121
00122
00123
00124