C++11 modernization, update to ITK5, removal of obsolete Qt4 and VTK7 support

This past week we were busy modernizing the Slicer code base to:

  • support only C++11 (including update to use nullptr and override keywords)
  • use ITKv5
  • remove obsolete Qt4/VTK7 support.

Thanks to @phcerdan, @hjmjohnson and @Sam_Horvath for their contributions.

A new migration guide has also been added. See https://www.slicer.org/wiki/Documentation/Nightly/Developers/Tutorials/MigrationGuide#Obsolete_Code_Removal

1 Like

Does this mean it is now possible to use C++11 features in extension modules? If so, the following on advice on the Developers/FAQ should be updated:

Since Slicer is not built with these features (it used c++98/c++03), you should not use C++11/14/17 language features in your extensions.

Yes, C++11 features can be used. I’ve updated the FAQ - thanks for reporting the outdated documentation.

1 Like