VTK  9.3.1
vtkMPIEventLog.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
21 #ifndef vtkMPIEventLog_h
22 #define vtkMPIEventLog_h
23 
24 #include "vtkObject.h"
25 #include "vtkParallelMPIModule.h" // For export macro
26 
27 VTK_ABI_NAMESPACE_BEGIN
28 class VTKPARALLELMPI_EXPORT vtkMPIEventLog : public vtkObject
29 {
30 public:
31  vtkTypeMacro(vtkMPIEventLog, vtkObject);
32 
37  static vtkMPIEventLog* New();
38 
49  int SetDescription(const char* name, const char* desc);
50 
52 
58  static void InitializeLogging();
59  static void FinalizeLogging(VTK_FILEPATH const char* fileName);
61 
63 
66  void StartLogging();
67  void StopLogging();
69 
70  void PrintSelf(ostream& os, vtkIndent indent) override;
71 
72 protected:
74  ~vtkMPIEventLog() override;
75 
76  static int LastEventId;
77  int Active;
78  int BeginId;
79  int EndId;
80 
81 private:
82  vtkMPIEventLog(const vtkMPIEventLog&) = delete;
83  void operator=(const vtkMPIEventLog&) = delete;
84 };
85 
86 VTK_ABI_NAMESPACE_END
87 #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.
static int LastEventId
a simple class to control print indentation
Definition: vtkIndent.h:28
#define VTK_FILEPATH
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...
Class for logging and timing.