Difference between revisions of "Documentation/Labs"

From Slicer Wiki
Jump to: navigation, search
m (Making a new page for missing functionality of plotting 2D arbitrary lines)
Line 40: Line 40:
  
 
== Compilers & IDE ==
 
== 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.
  
 
== Virtual Machines ==
 
== Virtual Machines ==

Revision as of 20:44, 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.

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