00001 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- 00002 * 00003 * $Id: vtkObjectBaseListIterator.h,v 1.3 2005/07/13 00:21:58 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_OBJECT_BASE_LIST_ITERATOR_H_ 00017 # define VTK_OBJECT_BASE_LIST_ITERATOR_H_ 00018 # include "vtkSequenceIterator.h" 00019 00020 class vtkObjectBaseList; 00021 class vtkObjectBaseListIteratorInternal; 00022 00033 class VTK_CONTAINERS_EXPORT vtkObjectBaseListIterator 00034 : public vtkSequenceIterator 00035 { 00036 public: 00037 static vtkObjectBaseListIterator* New (void); 00038 vtkTypeRevisionMacro (vtkObjectBaseListIterator, 00039 vtkSequenceIterator); 00040 void PrintSelf (ostream&, vtkIndent); 00041 00048 vtkIdType GetPosition (void) const; 00049 00054 vtkObjectBase* GetItem (void) const; 00055 00060 int SetItem (vtkObjectBase* object); 00072 int InitTraversal (void); 00073 00082 int InitTraversal (vtkIdType i); 00083 00090 int Increment (void); 00091 00098 int Decrement (void); 00101 protected: 00102 vtkObjectBaseListIterator (void); 00103 ~vtkObjectBaseListIterator(); 00104 00105 private: 00106 //BTX 00107 vtkObjectBaseListIteratorInternal* Internal; 00108 00109 friend class vtkObjectBaseList; 00110 //ETX 00111 00112 private: 00118 vtkObjectBaseListIterator 00119 (const vtkObjectBaseListIterator&); 00120 void operator= (const vtkObjectBaseListIterator&); 00122 }; 00123 00124 #endif /* VTK_OBJECT_BASE_LIST_ITERATOR_H_ */ 00125 /* 00126 * End of: $Id: vtkObjectBaseListIterator.h,v 1.3 2005/07/13 00:21:58 xpxqx Exp $. 00127 * 00128 */