00001 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- 00002 * 00003 * $Id: vtkExtensionsObjectSet.h,v 1.3 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_EXTENSIONS_OBJECT_SET_H_ 00017 # define VTK_EXTENSIONS_OBJECT_SET_H_ 00018 # include "vtkObjectSet.h" 00019 // (Covarient return from some virtual methods) 00020 # include "vtkExtensionsObjectSetIterator.h" 00021 00022 VTK_EXTENSIONS_CONTAINERS_NAMESPACE_BEGIN 00023 00037 class VTK_EXTENSIONS_CONTAINERS_EXPORT vtkExtensionsObjectSet 00038 : public vtkObjectSet 00039 { 00040 public: 00041 static vtkExtensionsObjectSet* New (void); 00042 vtkTypeRevisionMacro (vtkExtensionsObjectSet, vtkObjectSet); 00043 00048 virtual int Swap (vtkExtensionsObjectSet* container) 00049 { return this->Superclass::Swap(container); } 00050 00055 virtual int Find (vtkExtensionsObject* object) const 00056 { return this->Superclass::Find(object); } 00057 00062 virtual int Insert (vtkExtensionsObject* object) 00063 { return this->Superclass::Insert(object); } 00064 00069 virtual int Erase (vtkExtensionsObject* object) 00070 { return this->Superclass::Erase(object); } 00071 00080 virtual vtkExtensionsObject* Front (void) const 00081 { return static_cast<vtkExtensionsObject*>(this->Superclass::Front()); } 00082 00089 virtual vtkExtensionsObject* Back (void) const 00090 { return static_cast<vtkExtensionsObject*>(this->Superclass::Back()); } 00094 vtkExtensionsObjectSetIterator* CreateIterator (void); 00095 00096 protected: 00097 vtkExtensionsObjectSet (void) {} 00098 ~vtkExtensionsObjectSet() {} 00099 00100 private: 00101 //BTX 00102 friend class vtkExtensionsObjectSetIterator; 00103 00106 int Swap (vtkObjectSet* a) 00107 { return this->Superclass::Swap(a); } 00108 int Find (vtkObject* a) const 00109 { return this->Superclass::Find(a); } 00110 int Insert (vtkObject* a) 00111 { return this->Superclass::Insert(a); } 00112 int Erase (vtkObject* a) 00113 { return this->Superclass::Erase(a); } 00115 //ETX 00116 00117 private: 00123 vtkExtensionsObjectSet (const vtkExtensionsObjectSet&); 00124 void operator= (const vtkExtensionsObjectSet&); 00126 }; 00127 00128 VTK_EXTENSIONS_CONTAINERS_NAMESPACE_END 00129 00130 #endif /* VTK_EXTENSIONS_OBJECT_SET_H_ */ 00131 /* 00132 * End of: $Id: vtkExtensionsObjectSet.h,v 1.3 2004/06/03 18:58:28 xpxqx Exp $. 00133 * 00134 */