Brad,
Could these be macros?
#if C++11
DEFAULT_CONSTRUCTOR {}
#else
DEFAULT_CONSTRUCTOR = default;
#end
From: Bradley Lowekamp <[email protected]<mailto:[email protected]>>
Date: Thursday, August 15, 2013 2:51 PM
To: Matt McCormick
<[email protected]<mailto:[email protected]>>
Cc: Slicer Development
<[email protected]<mailto:[email protected]>>, ITK
<[email protected]<mailto:[email protected]>>
Subject: Re: [Insight-developers] [slicer-devel] Improved readability of VTK
derived class - What would you think of VTK_DISABLE_COPY macro ?
New with C++11 you can explicitly delete these methods. It may give better
compiler error messages. It may be worth the try compile to give a useful error
message to users.
I messed a bit with in in SimpleITK, though I don't think I turned it on:
https://github.com/SimpleITK/SimpleITK/blob/master/Code/Common/include/sitkNonCopyable.h#L60
I think it would make the change to the newer C++ code easier.
Brad
On Aug 15, 2013, at 3:43 PM, Matt McCormick
<[email protected]<mailto:[email protected]>> wrote:
Hi Jc,
I like the idea -- it is more explicit, and it saves time. What do members of
the ITK community think of an itkDisableCopy(MyClass) macro?
Thanks,
Matt
On Thu, Aug 15, 2013 at 6:11 PM, Jean-Christophe Fillion-Robin
<[email protected]<mailto:[email protected]>> wrote:
Hi Folks,
On the VTK developer list, I recently discussed the introduction of a new VTK
macro named "VTK_DISABLE_COPY" [1][2] that would allow to easily disable
assignment and copy constructor in VTK class deriving from vtkObject.
Note that disabling these constructors for class deriving from vtkObject IS
mandatory, it has to be done. You probably already copied this two constructor
lines over and over ...
This macro would be similar to what is done in Qt with Q_DISABLE_COPY. For
details [3]
For example, to declare the class MyClass, you would do ....
// -----------------
class MyClass : public vtkObject
{
private:
VTK_DISABLE_COPY(MyClass)
};
// -----------------
instead of
// -----------------
class MyClass : public vtkObject
{
private:
MyClass(const MyClass &);
MyClass &operator=(const MyClass &);
};
// -----------------
The more people reply to this email, the more chance we will have to see this
macro added to VTK6.
Let us know what you think.
Thanks
Jc
[1]
http://vtk.1045678.n5.nabble.com/Implicit-copy-constructors-in-VTK-tp5722193p5722205.html
[2]
http://vtk.1045678.n5.nabble.com/Implicit-copy-constructors-in-VTK-tp5722193p5722217.html
[3] http://qt-project.org/doc/qt-5.0/qtcore/qobject.html#Q_DISABLE_COPY
--
+1 919 869 8849<tel:%2B1%20919%20869%208849>
_______________________________________________
slicer-devel mailing list
[email protected]<mailto:[email protected]>
http://massmail.spl.harvard.edu/mailman/listinfo/slicer-devel
To unsubscribe: send email to
[email protected]<mailto:[email protected]>
with unsubscribe as the subject
http://www.slicer.org/slicerWiki/index.php/Documentation/Nightly/Developers/FAQ
_______________________________________________
slicer-devel mailing list
[email protected]<mailto:[email protected]>
http://massmail.spl.harvard.edu/mailman/listinfo/slicer-devel
To unsubscribe: send email to
[email protected]<mailto:[email protected]>
with unsubscribe as the subject
http://www.slicer.org/slicerWiki/index.php/Documentation/Nightly/Developers/FAQ
________________________________
Notice: This UI Health Care e-mail (including attachments) is covered by the
Electronic Communications Privacy Act, 18 U.S.C. 2510-2521, is confidential and
may be legally privileged. If you are not the intended recipient, you are
hereby notified that any retention, dissemination, distribution, or copying of
this communication is strictly prohibited. Please reply to the sender that you
have received the message in error, then delete it. Thank you.
________________________________
_______________________________________________
Powered by www.kitware.com
Visit other Kitware open-source projects at
http://www.kitware.com/opensource/opensource.html
Kitware offers ITK Training Courses, for more information visit:
http://kitware.com/products/protraining.php
Please keep messages on-topic and check the ITK FAQ at:
http://www.itk.org/Wiki/ITK_FAQ
Follow this link to subscribe/unsubscribe:
http://www.itk.org/mailman/listinfo/insight-developers