====== Code style ======
To gradually improve the code style in diana, we ask to format all changesets using [[http://releases.llvm.org/4.0.0/tools/clang/docs/ClangFormat.html|clang-format]] (4.0) with these style options:
---
BasedOnStyle: LLVM
Language: Cpp
PointerAlignment: Left
ColumnLimit: 160
AllowShortFunctionsOnASingleLine: Inline
AlwaysBreakTemplateDeclarations: true
BreakBeforeBraces: Custom
BraceWrapping:
AfterClass: true
AfterFunction: true
AfterStruct: true
AfterUnion: true
BreakConstructorInitializersBeforeComma: true
...
This style configuration should be saved in the diana top-level source-directory as ''.clang-format''.
We suggest using [[https://gist.github.com/spott/98e25623ebc1d923dce4|git-clang-format]] to reformat modified lines:
* save [[https://gist.github.com/spott/98e25623ebc1d923dce4|git-clang-format]] in your ''PATH'' and make it executable
* if ''clang-format'' is not version 4.0, it might necessary to configure git with git config clangFormat.binary clang-format-4.0
* preview reformatted modifications with git clang-format --diff
* reformat modifications with git clang-format -f