Hi Luc, > I'm currently trying to push code that exploits SFINAE and itk::EnableIf.
Cool :-) > I have a problem with clang, in C++98 mode, as it barks when we are > using an unnamed type as a template parameter > -> "note: unnamed type used in template argument was declared here" > > There is an easy fix for it: drop the compatibility to old compilers > like VC++6 when writing metaprograms. In this case, itkStaticConstMAcro > shall not generate an enum, > enum { variable = value }; // (1) > but > const static type variable = value; // (2) > > I've searched google and gerrit to see why definition (2) has been > commented out, but I've found nothing. If I understand correctly, in the > past, a CMake test was used to choose how the macro shall be written. > This is not the case any more. Yes, that is also my recollection. But, nobody has just bothered to update the definition. > So my questions: > Does anybody remember/know why definition (2) has been dropped? Can't we > revert to it (or at least to a conditional definition of > itkStaticConstMacro) for compilers clang that are pedantically compliant > to C++98 standard? > (constexpr will of course be required with C++11 compliant compilers > used in C++11 (or more) mode) Yes :-) > BTW, which is the oldest VC++ compiler officially supported by ITK? Must > I understand from this that VC++7.1 support has already been dropped > since 2012? > (http://www.itk.org/Wiki/ITK_Release_4/Modern_C%2B%2B#Fully_Committed_to_Support) Correct. The current oldest version of VC++ is 9. Thanks, Matt _______________________________________________ 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