[Insight-users] Does itkSmartPointer.h need to do #include "itkMacro.h"?

Bill Lorensen bill.lorensen at gmail.com
Sat May 17 13:09:33 EDT 2008


Luis,

I agree that having the ITK_EXPORT is misleading. I was not the
original author of the PrintSelfCheck.tcl script (actually Rick Avila
wrote it as his 6-sigma project at GE Research). Perhaps a gifted tcl
guru could make it work properly. It is an important check.

Maybe during the winter or if the weather turns bad for a few weeks, I
could look at it. Right now, it's too nice out to be fixing 10 year
old scripts...

Bill

On Sat, May 17, 2008 at 11:07 AM, Luis Ibanez <luis.ibanez at kitware.com> wrote:
>
> Bill,
>
>
> Could we modify the PrintSelfCheck.tcl script to use the combination
> of the Doxygen "\class" and the C++ "class" keywords to find the
> classname ?
>
> I see why just the C++ class keyword is not enough, given that we
> use it in almost all template parameters... but the combination of
> the two tags above should be unique enough.  It has the added benefit
> that if a file is missing the Doxygen \class tag, we will see the errors
> and will fix the documentation.
>
> Alternatively, we could also see the rules that KWStyle uses for finding
> the name of a class, it may be possible to translate these rules to the
> PrintSelfCheck.tcl script.
>
> Keeping the ITK_EXPORT macro around is a bit misleading, since it
> is not really serving any purpose related to generation of DLLs.
>
>
>    Luis
>
>
> ---------------------
> Bill Lorensen wrote:
>>
>> Luis,
>>
>> I think that the PrintSelfCheck.tcl script needs to see the ITK_EXPORT
>> to properly find the classname. I think it's fine to remove it here,
>> but don't start removing the ITK_EXPORT from other .txx classes.
>>
>> Bill
>>
>> On Sat, May 17, 2008 at 6:53 AM, Niels Dekker <niels-xtk at xs4all.nl> wrote:
>>
>>> Luis Ibanez wrote:
>>>
>>>> It seems that we don't even need the ITK_EXPORT here,
>>>> given that the SmartPointer is a template and it is
>>>> always fully instantiated from the .h file. (e.g.
>>>> there is no implementation that goes into a .cxx file
>>>> and that need to be exported if we build a shared
>>>> library).
>>>>
>>>> That is, we can remove both the ITK_EXPORT and the
>>>> #include "itkMacro.h". There may not be a need for
>>>> #include "itkWin32Header.h" either.
>>>>
>>>> I'm running an experimental build with this change,
>>>> and if it goes well, I'll commit the change.
>>>
>>>
>>> Cool!  I just saw your revision, and it looks fine to me:
>>>
>>> www.itk.org/cgi-bin/viewcvs.cgi/Code/Common/itkSmartPointer.h?revision=1.39&root=Insight&view=markup
>>>
>>> My first entrance into the long CVS history log of ITK.  :-)  Thank you,
>>> Luis!
>>>
>>> Kind regards, Niels
>>>
>>> _______________________________________________
>>> Insight-users mailing list
>>> Insight-users at itk.org
>>> http://www.itk.org/mailman/listinfo/insight-users
>>>
>>
>>
>


More information about the Insight-users mailing list