00001 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- 00002 * 00003 * $Id: vtkObjectBaseMapIterator.h,v 1.7 2004/06/03 18:58:28 xpxqx Exp $ 00004 * 00005 * Copyright (c) 2004 Sean McInerney 00006 * All rights reserved. 00007 * 00008 * See Copyright.txt or http://vtkextensions.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 "vtkAbstractMapIterator.h" 00019 00020 VTK_EXTENSIONS_CONTAINERS_NAMESPACE_BEGIN 00021 00022 class vtkObjectBaseMap; 00023 class vtkObjectBaseMapIteratorInternal; 00024 00031 class VTK_EXTENSIONS_CONTAINERS_EXPORT vtkObjectBaseMapIterator 00032 : public vtkAbstractMapIterator 00033 { 00034 public: 00035 static vtkObjectBaseMapIterator* New (void); 00036 vtkTypeRevisionMacro (vtkObjectBaseMapIterator, vtkAbstractMapIterator); 00037 00046 const char* GetKey (void) const; 00047 00052 vtkObjectBase* GetObject (void) const; 00053 00058 int SetObject (vtkObjectBase* object); 00070 int InitTraversal (void); 00071 00080 int InitTraversal (const char* key); 00081 00088 int Increment (void); 00089 00096 int Decrement (void); 00099 protected: 00100 vtkObjectBaseMapIterator (void); 00101 ~vtkObjectBaseMapIterator(); 00102 00103 //BTX 00104 friend class vtkObjectBaseMap; 00105 //ETX 00106 00107 private: 00108 //BTX 00109 vtkObjectBaseMapIteratorInternal* Internal; 00110 //ETX 00111 00112 private: 00118 vtkObjectBaseMapIterator (const vtkObjectBaseMapIterator&); 00119 void operator= (const vtkObjectBaseMapIterator&); 00121 }; 00122 00123 VTK_EXTENSIONS_CONTAINERS_NAMESPACE_END 00124 00125 #endif /* VTK_OBJECT_BASE_MAP_ITERATOR_H_ */ 00126 /* 00127 * End of: $Id: vtkObjectBaseMapIterator.h,v 1.7 2004/06/03 18:58:28 xpxqx Exp $. 00128 * 00129 */