VTK  9.3.1
vtkInformationIterator.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2 // SPDX-License-Identifier: BSD-3-Clause
18 #ifndef vtkInformationIterator_h
19 #define vtkInformationIterator_h
20 
21 #include "vtkCommonCoreModule.h" // For export macro
22 #include "vtkObject.h"
23 
24 VTK_ABI_NAMESPACE_BEGIN
25 class vtkInformation;
26 class vtkInformationKey;
27 class vtkInformationIteratorInternals;
28 
29 class VTKCOMMONCORE_EXPORT vtkInformationIterator : public vtkObject
30 {
31 public:
32  static vtkInformationIterator* New();
34  void PrintSelf(ostream& os, vtkIndent indent) override;
35 
37 
40  void SetInformation(vtkInformation*);
41  vtkGetObjectMacro(Information, vtkInformation);
43 
50  void SetInformationWeak(vtkInformation*);
51 
55  void InitTraversal() { this->GoToFirstItem(); }
56 
60  virtual void GoToFirstItem();
61 
65  virtual void GoToNextItem();
66 
71  virtual int IsDoneWithTraversal();
72 
77  virtual vtkInformationKey* GetCurrentKey();
78 
79 protected:
81  ~vtkInformationIterator() override;
82 
84  vtkInformationIteratorInternals* Internal;
85 
87 
88 private:
90  void operator=(const vtkInformationIterator&) = delete;
91 };
92 
93 VTK_ABI_NAMESPACE_END
94 #endif
abstract base class for most VTK objects
Definition: vtkObject.h:51
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
Store vtkAlgorithm input/output information.
vtkInformationIteratorInternals * Internal
Superclass for vtkInformation keys.
a simple class to control print indentation
Definition: vtkIndent.h:28
Iterates over keys of an information object.
void InitTraversal()
Move the iterator to the beginning of the collection.
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...