00001 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- 00002 * 00003 * $Id: vtkObjectSet.h,v 1.6 2004/06/03 18:58:29 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_SET_H_ 00017 # define VTK_OBJECT_SET_H_ 00018 # include "vtkObjectBaseSet.h" 00019 # include "vtkObjectSetIterator.h" 00020 00021 VTK_EXTENSIONS_CONTAINERS_NAMESPACE_BEGIN 00022 00036 class VTK_EXTENSIONS_CONTAINERS_EXPORT vtkObjectSet 00037 : public vtkObjectBaseSet 00038 { 00039 public: 00040 static vtkObjectSet* New (void); 00041 vtkTypeRevisionMacro (vtkObjectSet, vtkObjectBaseSet); 00042 00047 virtual int Swap (vtkObjectSet* object) 00048 { return this->Superclass::Swap(object); } 00049 00054 virtual int Find (vtkObject* object) const 00055 { return this->Superclass::Find(object); } 00056 00061 virtual int Insert (vtkObject* object) 00062 { return this->Superclass::Insert(object); } 00063 00068 virtual int Erase (vtkObject* object) 00069 { return this->Superclass::Erase(object); } 00070 00079 virtual vtkObject* Front (void) const 00080 { return static_cast<vtkObject*>(this->Superclass::Front()); } 00081 00088 virtual vtkObject* Back (void) const 00089 { return static_cast<vtkObject*>(this->Superclass::Back()); } 00093 vtkObjectSetIterator* CreateIterator (void); 00094 00095 protected: 00096 vtkObjectSet (void) {} 00097 ~vtkObjectSet() {} 00098 00099 private: 00100 //BTX 00101 friend class vtkObjectSetIterator; 00102 00105 int Swap (vtkObjectBaseSet* a) 00106 { return this->Superclass::Swap(a); } 00107 int Find (vtkObjectBase* a) const 00108 { return this->Superclass::Find(a); } 00109 int Insert (vtkObjectBase* a) 00110 { return this->Superclass::Insert(a); } 00111 int Erase (vtkObjectBase* a) 00112 { return this->Superclass::Erase(a); } 00114 //ETX 00115 00116 private: 00122 vtkObjectSet (const vtkObjectSet&); 00123 void operator= (const vtkObjectSet&); 00125 }; 00126 00127 VTK_EXTENSIONS_CONTAINERS_NAMESPACE_END 00128 00129 #endif /* VTK_OBJECT_SET_H_ */ 00130 /* 00131 * End of: $Id: vtkObjectSet.h,v 1.6 2004/06/03 18:58:29 xpxqx Exp $. 00132 * 00133 */