00001 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- 00002 * 00003 * $Id: vtkObjectBaseMapIterator.h,v 1.3 2005/07/13 02:22:18 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_MAP_ITERATOR_H_ 00017 # define VTK_OBJECT_BASE_MAP_ITERATOR_H_ 00018 # include "vtkAssociativeIterator.h" 00019 00020 class vtkObjectBaseMap; 00021 class vtkObjectBaseMapIteratorInternal; 00022 00029 class VTK_CONTAINERS_EXPORT vtkObjectBaseMapIterator 00030 : public vtkAssociativeIterator 00031 { 00032 public: 00033 static vtkObjectBaseMapIterator* New (void); 00034 vtkTypeRevisionMacro (vtkObjectBaseMapIterator, vtkAssociativeIterator); 00035 void PrintSelf (ostream&, vtkIndent); 00036 00043 vtkIdType GetPosition (void) const; 00044 00051 const char* GetKey (void) const; 00052 00057 vtkObjectBase* GetItem (void) const; 00058 00063 int SetItem (vtkObjectBase* object); 00075 int InitTraversal (void); 00076 00085 int InitTraversal (const char* key); 00086 00093 int Increment (void); 00094 00101 int Decrement (void); 00104 protected: 00105 vtkObjectBaseMapIterator (void); 00106 ~vtkObjectBaseMapIterator(); 00107 00108 private: 00109 //BTX 00110 vtkObjectBaseMapIteratorInternal* Internal; 00111 00112 friend class vtkObjectBaseMap; 00113 //ETX 00114 00115 private: 00121 vtkObjectBaseMapIterator (const vtkObjectBaseMapIterator&); 00122 void operator= (const vtkObjectBaseMapIterator&); 00124 }; 00125 00126 #endif /* VTK_OBJECT_BASE_MAP_ITERATOR_H_ */ 00127 /* 00128 * End of: $Id: vtkObjectBaseMapIterator.h,v 1.3 2005/07/13 02:22:18 xpxqx Exp $. 00129 * 00130 */