Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members

vtkIterator.h

Go to the documentation of this file.
00001 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*-
00002  *
00003  * $Id: vtkIterator.h,v 1.1.1.1 2005/06/17 17:48:36 xpxqx Exp $
00004  *
00005  * Copyright (c) 2005 Sean McInerney
00006  * All rights reserved.
00007  *
00008  * See Copyright.txt or http://vtkcontainers.sourceforge.net/Copyright.html
00009  * for details.
00010  *
00011  *    This software is distributed WITHOUT ANY WARRANTY; without even 
00012  *    the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
00013  *    PURPOSE.  See the above copyright notice for more information.
00014  *
00015  */
00016 #ifndef VTK_ITERATOR_H_
00017 #  define VTK_ITERATOR_H_
00018 #  include "vtkContainersConfigure.h" // vtk configuration
00019 #  include "vtkObject.h"
00020 
00021 class vtkGarbageCollector;
00022 
00023 class vtkContainer;
00024 
00037 class VTK_CONTAINERS_EXPORT vtkIterator : public vtkObject
00038 {
00039 public:
00040   vtkTypeRevisionMacro (vtkIterator, vtkObject);
00041   void PrintSelf (ostream&, vtkIndent);
00042 
00044   virtual vtkContainer*      GetContainer (void) const;
00045 
00054   virtual vtkIdType             GetPosition (void) const;
00055 
00062   virtual const char*           GetKey (void) const;
00063 
00068   virtual vtkObjectBase*        GetItem (void) const;
00069 
00074   virtual int                   SetItem (vtkObjectBase* object) = 0;
00086   virtual int                   InitTraversal (void) = 0;
00087 
00094   virtual int                   Increment (void) = 0;
00095 
00102   virtual int                   Decrement (void) = 0;
00106   void  Register (vtkObjectBase*);
00107 
00109   void  UnRegister (vtkObjectBase*);
00110 
00111 protected:
00112   vtkIterator (void);
00113   ~vtkIterator();
00114 
00115   //BTX
00116   friend class vtkContainer;
00117 
00118   vtkContainer* Container;
00119 
00121   virtual void  SetContainer (vtkContainer*);
00122 
00123   void  ReportReferences (vtkGarbageCollector*);
00124   //ETX
00125 
00126 private:
00132   vtkIterator (const vtkIterator&);
00133   void operator= (const vtkIterator&);
00135 };
00136 
00137 #endif /* VTK_ITERATOR_H_ */
00138 /* 
00139  * End of: $Id: vtkIterator.h,v 1.1.1.1 2005/06/17 17:48:36 xpxqx Exp $
00140  * 
00141  */

Generated on Thu Jul 14 14:39:37 2005 for vtkContainers by doxygen 1.3.6