00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
#ifndef VTK_OBJECT_BASE_STACK_ITERATOR_H_
00017
# define VTK_OBJECT_BASE_STACK_ITERATOR_H_
00018
# include "vtkIterator.h"
00019
00020
VTK_EXTENSIONS_CONTAINERS_NAMESPACE_BEGIN
00021
00022
class vtkObjectBaseStack;
00023
class vtkObjectBaseStackIteratorInternal;
00024
00031 class VTK_EXTENSIONS_CONTAINERS_EXPORT vtkObjectBaseStackIterator
00032 :
public vtkIterator
00033 {
00034
public:
00035
static vtkObjectBaseStackIterator*
New (
void);
00036 vtkTypeRevisionMacro (vtkObjectBaseStackIterator,
vtkIterator);
00037
00044
vtkObjectBase*
GetObject (
void)
const;
00045
00050
int SetObject (
vtkObjectBase* object);
00062
int InitTraversal (
void);
00063
00070
int Increment (
void);
00071
00078
int Decrement (
void);
00081
protected:
00082 vtkObjectBaseStackIterator (
void);
00083 ~vtkObjectBaseStackIterator();
00084
00085
private:
00086
00087 vtkObjectBaseStackIteratorInternal* Internal;
00088
00089
friend class vtkObjectBaseStack;
00090
00091
00092
private:
00098 vtkObjectBaseStackIterator (
const vtkObjectBaseStackIterator&);
00099
void operator= (
const vtkObjectBaseStackIterator&);
00101 };
00102
00103
VTK_EXTENSIONS_CONTAINERS_NAMESPACE_END
00104
00105
#endif
00106
00107
00108
00109