00001 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- 00002 * 00003 * $Id: vtkObjectBaseHashMapIterator.h,v 1.5 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_HASH_MAP_ITERATOR_H_ 00017 # define VTK_OBJECT_BASE_HASH_MAP_ITERATOR_H_ 00018 # include "vtkAbstractMapIterator.h" 00019 00020 VTK_EXTENSIONS_CONTAINERS_NAMESPACE_BEGIN 00021 00022 class vtkObjectBaseHashMapIteratorInternal; 00023 00030 class VTK_EXTENSIONS_CONTAINERS_EXPORT vtkObjectBaseHashMapIterator 00031 : public vtkAbstractMapIterator 00032 { 00033 public: 00034 static vtkObjectBaseHashMapIterator* New (void); 00035 vtkTypeRevisionMacro (vtkObjectBaseHashMapIterator, vtkAbstractMapIterator); 00036 00045 const char* GetKey (void) const; 00046 00051 vtkObjectBase* GetObject (void) const; 00052 00057 int SetObject (vtkObjectBase* object); 00069 int InitTraversal (void); 00070 00079 int InitTraversal (const char* key); 00080 00087 int Increment (void); 00088 00095 int Decrement (void); 00098 protected: 00099 vtkObjectBaseHashMapIterator (void); 00100 ~vtkObjectBaseHashMapIterator(); 00101 00102 //BTX 00103 friend class vtkObjectBaseHashMap; 00104 //ETX 00105 00106 private: 00107 //BTX 00108 vtkObjectBaseHashMapIteratorInternal* Internal; 00109 //ETX 00110 00111 private: 00117 vtkObjectBaseHashMapIterator (const vtkObjectBaseHashMapIterator&); 00118 void operator= (const vtkObjectBaseHashMapIterator&); 00120 }; 00121 00122 VTK_EXTENSIONS_CONTAINERS_NAMESPACE_END 00123 00124 #endif /* VTK_OBJECT_BASE_HASH_MAP_ITERATOR_H_ */ 00125 /* 00126 * End of: $Id: vtkObjectBaseHashMapIterator.h,v 1.5 2004/06/03 18:58:28 xpxqx Exp $. 00127 * 00128 */