Documentation/Labs

From SlicerWiki
Revision as of 13:02, 7 June 2019 by JChris.FillionR (talk | contribs) (Extension)

Jump to: navigation, search
Home < Documentation < Labs

This is the place where we will keep track of our experiments and projects.

On-going

Roadmap

Internals

Libraries

Python

Compilers & IDE

  • Modernize to c++11

The use of auto

 run-clang-tidy.py -checks=-*,modernize-use-auto  -header-filter=.* -fix 

The automatic fix use auto in cases where static_cast is used:

 - int a = static_cast<int>(something);
 + auto a = static_cast<int>(something);

No much gain on this particular case, however, when using iterators and other verbose types, it really helps readability.

The change should be discussed with the main developers to reach a consensus. VTK and ITK are using auto in a lot of cases.


Move not implemented constructors and assignment operators to the public interface

Now that we use = delete, we don't need the constructors and assignment operator to be in the private interface. Moving them to the public interface is better. Including better integrations with IDE's.


Other modernizers

 clang-tidy --list-checks -checks='*' | grep "modernize"
   modernize-avoid-bind
   modernize-deprecated-headers
   modernize-loop-convert
   modernize-make-shared
   modernize-make-unique
   modernize-pass-by-value
   modernize-raw-string-literal
   modernize-redundant-void-arg
   modernize-replace-auto-ptr
   modernize-replace-random-shuffle
   modernize-return-braced-init-list
   modernize-shrink-to-fit
   modernize-unary-static-assert
   modernize-use-auto # ToDiscuss
   modernize-use-bool-literals
   modernize-use-default-member-init
   modernize-use-emplace # easy!
   modernize-use-equals-default # DONE
   modernize-use-equals-delete # DONE
   modernize-use-noexcept 
   modernize-use-nullptr # DONE
   modernize-use-override # DONE
   modernize-use-transparent-functors
   modernize-use-uncaught-exceptions
   modernize-use-using # Better style, to discuss.

Check https://github.com/InsightSoftwareConsortium/ITK/tree/master/Utilities/ITKv5Preparation for a list of commands used in the ITKv5 transition.

Virtual Machines

Documentation

Tutorials

Source code management

Extension

Functionalities

Packaging

  • [[Documentation/Labs/HomebrewCask|Homebrew Cask]

Completed

Extension

Internals

Libraries

Python

Compilers & IDE

Modules

Tutorials testing

Debug

Internals


Abandoned