00001 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- 00002 * 00003 * $Id: vtkObjectBaseVectorIterator.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_VECTOR_ITERATOR_H_ 00017 # define VTK_OBJECT_BASE_VECTOR_ITERATOR_H_ 00018 # include "vtkSequenceIterator.h" 00019 00020 class vtkObjectBaseVector; 00021 class vtkObjectBaseVectorIteratorInternal; 00022 00033 class VTK_CONTAINERS_EXPORT vtkObjectBaseVectorIterator 00034 : public vtkSequenceIterator 00035 { 00036 public: 00037 static vtkObjectBaseVectorIterator* New (void); 00038 vtkTypeRevisionMacro (vtkObjectBaseVectorIterator, 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 vtkObjectBaseVectorIterator (void); 00103 ~vtkObjectBaseVectorIterator(); 00104 00105 private: 00106 //BTX 00107 vtkObjectBaseVectorIteratorInternal* Internal; 00108 00109 friend class vtkObjectBaseVector; 00110 //ETX 00111 00112 private: 00118 vtkObjectBaseVectorIterator (const vtkObjectBaseVectorIterator&); 00119 void operator= (const vtkObjectBaseVectorIterator&); 00121 }; 00122 00123 #endif /* VTK_OBJECT_BASE_VECTOR_ITERATOR_H_ */ 00124 /* 00125 * End of: $Id: vtkObjectBaseVectorIterator.h,v 1.3 2005/07/13 00:21:58 xpxqx Exp $. 00126 * 00127 */