Skip to content

Comments

Use new dissallow copy and move#242

Closed
hjmjohnson wants to merge 2 commits intoKitwareMedical:masterfrom
hjmjohnson:use-new-dissallow-copy-and-move
Closed

Use new dissallow copy and move#242
hjmjohnson wants to merge 2 commits intoKitwareMedical:masterfrom
hjmjohnson:use-new-dissallow-copy-and-move

Conversation

@hjmjohnson
Copy link
Contributor

No description provided.

…acro

Added two new macro's, intended to replace the old 'itkTypeMacro' and
'itkTypeMacroNoParent'.

The main aim is to be clearer about what those macro's do: add a virtual
'GetNameOfClass()' member function and override it. Unlike 'itkTypeMacro',
'itkOverrideGetNameOfClassMacro' does not have a 'superclass' parameter, as it
was not used anyway.

Note that originally 'itkTypeMacro' did not use its 'superclass' parameter
either, looking at commit 699b66cb04d410e555656828e8892107add38ccb, Will
Schroeder, June 27, 2001:
https://github.com/InsightSoftwareConsortium/ITK/blob/699b66cb04d410e555656828e8892107add38ccb/Code/Common/itkMacro.h#L331-L337
Clarifies that the macro does not just disallow copy and assign, but
also move operations. Note that in this context, the term 'move' refers
to both move-construct and move-assign.

With this commit, the old macro name will remain available, as long as
'ITK_FUTURE_LEGACY_REMOVE = OFF' (which is the default).
@hjmjohnson
Copy link
Contributor Author

@dzenanz PRs to match modern ITK coding practices. Use new macro names, remove unnecessary macros.

@dzenanz
Copy link
Member

dzenanz commented Jan 26, 2025

There are some compile errors of the style: include/itkHDF5UltrasoundImageIOFactory.h:58:3: error: ISO C++ forbids declaration of 'itkOverrideGetNameOfClassMacro' with no type [-fpermissive]

@dzenanz
Copy link
Member

dzenanz commented Feb 3, 2025

Superseded by #241.

@dzenanz dzenanz closed this Feb 3, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants