Hi Everyone,

    Just wanted to bring to your attention a problem I faced working on a 
project using ITK 4.9 on Mac OS X 10.11, Apple declares a macro called 'check’  
that takes just a parameter and apparently there is a name clash with a typedef 
of ITK’s (see itkPromoteType.h).

// snippet
template <typename TA, typename TB> struct PromoteType
{
  static TA a;
  static TB b;

  // Aimed at supporting overloads
  template <typename T> static Details::Identity<1>::Type& check(typename 
Details::SizeToType<1,  TA, TB>::Type, T);
  template <typename T> static Details::Identity<2>::Type& check(typename 
Details::SizeToType<2,  TA, TB>::Type, T);

  // Common numeric types
  static Details::Identity<3 >::Type& itkcheck(typename Details::SizeToType<3,  
TA, TB>::Type, int);

// end of snippet

 I set about trying to fix this issue and on renaming the ‘check’ in my case I 
chose ‘itkcheck’, rebuilt ITK and ran my project everything worked fine.

My proposal to the team if indeed I’m right is the above typedef need renaming 
as we can’t change Apple’s implementation so it’s most likely ITK will need to 
fix this. Currently renaming the check typedef works fine. 
Thanks

Regards Seun

p.s: I could submit a patch if that’s fine but I would like to know what name 
the ITK team would prefer to be substituted for the ‘check' typedef above.
_______________________________________________
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://public.kitware.com/mailman/listinfo/insight-developers

Reply via email to