00001 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- 00002 * 00003 * $Id: vtkObjectBaseHashMapIterator.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_HASH_MAP_ITERATOR_H_ 00017 # define VTK_OBJECT_BASE_HASH_MAP_ITERATOR_H_ 00018 # include "vtkAssociativeIterator.h" 00019 00020 class vtkObjectBaseHashMapIteratorInternal; 00021 00032 class VTK_CONTAINERS_EXPORT vtkObjectBaseHashMapIterator 00033 : public vtkAssociativeIterator 00034 { 00035 public: 00036 static vtkObjectBaseHashMapIterator* New (void); 00037 vtkTypeRevisionMacro (vtkObjectBaseHashMapIterator, 00038 vtkAssociativeIterator); 00039 void PrintSelf (ostream&, vtkIndent); 00040 00047 vtkIdType GetPosition (void) const; 00048 00055 const char* GetKey (void) const; 00056 00061 vtkObjectBase* GetItem (void) const; 00062 00067 int SetItem (vtkObjectBase* object); 00079 int InitTraversal (void); 00080 00089 int InitTraversal (const char* key); 00090 00097 int Increment (void); 00098 00105 int Decrement (void); 00108 protected: 00109 vtkObjectBaseHashMapIterator (void); 00110 ~vtkObjectBaseHashMapIterator(); 00111 00112 private: 00113 //BTX 00114 vtkObjectBaseHashMapIteratorInternal* Internal; 00115 00116 friend class vtkObjectBaseHashMap; 00117 //ETX 00118 00119 private: 00125 vtkObjectBaseHashMapIterator(const vtkObjectBaseHashMapIterator&); 00126 void operator= (const vtkObjectBaseHashMapIterator&); 00128 }; 00129 00130 #endif /* VTK_OBJECT_BASE_HASH_MAP_ITERATOR_H_ */ 00131 /* 00132 * End of: $Id: vtkObjectBaseHashMapIterator.h,v 1.3 2005/07/13 02:22:18 xpxqx Exp $. 00133 * 00134 */