Difference between revisions of "Documentation/Labs"

From Slicer Wiki
Jump to: navigation, search
Line 112: Line 112:
 
== Extension ==
 
== Extension ==
  
 +
* [[{{FULLPAGENAME}}/ExtensionsServer|Extensions Server]]
 
* [[{{FULLPAGENAME}}/ExtensionsFrameworkRoadmap|Extensions Framework Roadmap]]
 
* [[{{FULLPAGENAME}}/ExtensionsFrameworkRoadmap|Extensions Framework Roadmap]]
 
* [[{{FULLPAGENAME}}/CustomSlicerGenerator|Custom Slicer Generator]]
 
* [[{{FULLPAGENAME}}/CustomSlicerGenerator|Custom Slicer Generator]]

Revision as of 18:01, 7 June 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