18#ifndef itkEventObject_h
19#define itkEventObject_h
85 [[nodiscard]]
virtual const char *
116#define ITKEvent_EXPORT ITKCommon_EXPORT
122#define itkEventMacroDeclaration(classname, super) \
124 class ITKEvent_EXPORT classname : public super \
127 using Self = classname; \
128 using Superclass = super; \
129 classname() = default; \
130 classname(const Self & s); \
131 ~classname() override; \
133 GetEventName() const override; \
135 CheckEvent(const itk::EventObject * e) const override; \
137 MakeObject() const override; \
139 operator=(const Self &) = delete; \
141 ITK_MACROEND_NOOP_STATEMENT
144#define itkEventMacroDefinition(classname, super) \
145 classname::classname(const classname &) = default; \
146 classname::~classname() = default; \
147 const char * classname::GetEventName() const { return #classname; } \
148 bool classname::CheckEvent(const itk::EventObject * e) const \
150 return dynamic_cast<const classname *>(e) != nullptr; \
152 itk::EventObject * classname::MakeObject() const { return new classname; } \
153 ITK_MACROEND_NOOP_STATEMENT
155#if !defined(ITK_LEGACY_REMOVE)
166# define itkEventMacro(classname, super) \
168 class ITKEvent_EXPORT classname : public super \
171 using Self = classname; \
172 using Superclass = super; \
173 classname() = default; \
174 ~classname() override = default; \
175 virtual const char * \
176 GetEventName() const \
181 CheckEvent(const itk::EventObject * e) const \
183 return dynamic_cast<const Self *>(e) != nullptr; \
185 virtual itk::EventObject * \
190 classname(const Self &) = default; \
192 operator=(const Self &) = delete; \
220#undef ITKEvent_EXPORT
221#define ITKEvent_EXPORT ITK_ABI_EXPORT
Abstraction of the Events used to communicating among filters and with GUIs.
virtual void PrintHeader(std::ostream &os, Indent indent) const
EventObject(const EventObject &)=default
virtual void Print(std::ostream &os) const
virtual void PrintTrailer(std::ostream &os, Indent indent) const
virtual ~EventObject()=default
virtual void PrintSelf(std::ostream &os, Indent indent) const
EventObject & operator=(const EventObject &)=delete
virtual bool CheckEvent(const EventObject *) const =0
virtual EventObject * MakeObject() const =0
virtual const char * GetEventName() const =0
Control indentation during Print() invocation.
#define itkEventMacroDeclaration(classname, super)
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
ITKCommon_EXPORT std::ostream & operator<<(std::ostream &out, AnatomicalOrientation::CoordinateEnum value)