Difference between revisions of "Documentation/Labs"

From Slicer Wiki
Jump to: navigation, search
Line 61: Line 61:
 
Now that we use = delete, we don't need the constructors and assignment operator to be in the private 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.
 
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 ==
 
== Virtual Machines ==

Revision as of 22:03, 16 March 2019

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