00001 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- 00002 * 00003 * $Id: vtkObjectBaseDequeIterator.h,v 1.3 2005/07/13 00:21:58 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_DEQUE_ITERATOR_H_ 00017 # define VTK_OBJECT_BASE_DEQUE_ITERATOR_H_ 00018 # include "vtkSequenceIterator.h" 00019 00020 class vtkObjectBaseDeque; 00021 class vtkObjectBaseDequeIteratorInternal; 00022 00033 class VTK_CONTAINERS_EXPORT vtkObjectBaseDequeIterator 00034 : public vtkSequenceIterator 00035 { 00036 public: 00037 static vtkObjectBaseDequeIterator* New (void); 00038 vtkTypeRevisionMacro (vtkObjectBaseDequeIterator, 00039 vtkSequenceIterator); 00040 void PrintSelf (ostream&, vtkIndent); 00041 00048 vtkIdType GetPosition (void) const; 00049 00054 vtkObjectBase* GetItem (void) const; 00055 00060 int SetItem (vtkObjectBase* object); 00072 int InitTraversal (void); 00073 00082 int InitTraversal (vtkIdType i); 00083 00090 int Increment (void); 00091 00098 int Decrement (void); 00101 protected: 00102 vtkObjectBaseDequeIterator (void); 00103 ~vtkObjectBaseDequeIterator(); 00104 00105 private: 00106 //BTX 00107 vtkObjectBaseDequeIteratorInternal* Internal; 00108 00109 friend class vtkObjectBaseDeque; 00110 //ETX 00111 00112 private: 00118 vtkObjectBaseDequeIterator 00119 (const vtkObjectBaseDequeIterator&); 00120 void operator= (const vtkObjectBaseDequeIterator&); 00122 }; 00123 00124 #endif /* VTK_OBJECT_BASE_DEQUE_ITERATOR_H_ */ 00125 /* 00126 * End of: $Id: vtkObjectBaseDequeIterator.h,v 1.3 2005/07/13 00:21:58 xpxqx Exp $. 00127 * 00128 */