Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members

vtkObjectHashMap.h

Go to the documentation of this file.
00001 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- 00002 * 00003 * $Id: vtkObjectHashMap.h,v 1.9 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_HASH_MAP_H_ 00017 # define VTK_OBJECT_HASH_MAP_H_ 00018 # include "vtkObjectBaseHashMap.h" 00019 # include "vtkObjectHashMapIterator.h" /* Covarient return type. */ 00020 00021 VTK_EXTENSIONS_CONTAINERS_NAMESPACE_BEGIN 00022 00036 class VTK_EXTENSIONS_CONTAINERS_EXPORT vtkObjectHashMap 00037 : public vtkObjectBaseHashMap 00038 { 00039 public: 00040 static vtkObjectHashMap* New (void); 00041 vtkTypeRevisionMacro (vtkObjectHashMap, vtkObjectBaseHashMap); 00042 00047 virtual int Swap (vtkObjectHashMap* container) 00048 { return this->Superclass::Swap(container); } 00049 00059 vtkObject* Find (const char* key) const 00060 { return static_cast<vtkObject*>(this->Superclass::Find(key)); } 00061 00074 virtual int Insert (const char* key, 00075 vtkObject* object) 00076 { return this->Superclass::Insert(key, object); } 00077 00082 virtual const char* FindKey (const vtkObject* object) 00083 { return this->Superclass::FindKey(object); } 00084 00092 vtkObject* Front (void) const 00093 { return static_cast<vtkObject*>(this->Superclass::Front()); } 00094 00100 virtual int Front (const char* & key, 00101 vtkObject* & object) const; 00102 00108 vtkObject* Back (void) const 00109 { return static_cast<vtkObject*>(this->Superclass::Back()); } 00110 00116 virtual int Back (const char* & key, 00117 vtkObject* & object) const; 00121 vtkObjectHashMapIterator* CreateIterator (void); 00122 00123 protected: 00124 vtkObjectHashMap (void) {} 00125 ~vtkObjectHashMap() {} 00126 00127 private: 00128 //BTX 00131 int Swap (vtkObjectBaseHashMap* map) 00132 { return this->Superclass::Swap(map); } 00133 int Insert (const char* key, vtkObjectBase* object) 00134 { return this->Superclass::Insert(key, object); } 00135 const char* FindKey (const vtkObjectBase* object) 00136 { return this->Superclass::FindKey(object); } 00137 int Front (const char* & key, vtkObjectBase* & object) const 00138 { return this->Superclass::Front(key, object); } 00139 int Back (const char* & key, vtkObjectBase* & object) const 00140 { return this->Superclass::Back(key, object); } 00142 //ETX 00143 00144 private: 00150 vtkObjectHashMap (const vtkObjectHashMap&); 00151 vtkObjectHashMap& operator= (const vtkObjectHashMap&); 00153 }; 00154 00155 // ---------------------------------------------------------------------------- 00156 inline int 00157 vtkObjectHashMap::Front (const char* & aKey, 00158 vtkObject* & aObject) const 00159 { 00160 vtkObjectBase* object = (vtkObjectBase *) 0; 00161 int result = this->Superclass::Front(aKey, object); 00162 aObject = static_cast<vtkObject*>(object); 00163 return result; 00164 } 00165 00166 inline int 00167 vtkObjectHashMap::Back (const char* & aKey, 00168 vtkObject* & aObject) const 00169 { 00170 vtkObjectBase* object = (vtkObjectBase *) 0; 00171 int result = this->Superclass::Back(aKey, object); 00172 aObject = static_cast<vtkObject*>(object); 00173 return result; 00174 } 00175 00176 VTK_EXTENSIONS_CONTAINERS_NAMESPACE_END 00177 00178 #endif /* VTK_OBJECT_HASH_MAP_H_ */ 00179 /* 00180 * End of: $Id: vtkObjectHashMap.h,v 1.9 2004/06/03 18:58:28 xpxqx Exp $. 00181 * 00182 */

Generated on Tue Aug 10 03:37:46 2004 for vtkExtensions by doxygen 1.3.7