#https://clang.llvm.org/docs/ClangFormatStyleOptions.html
BasedOnStyle: LLVM

AccessModifierOffset: -4
AllowShortLambdasOnASingleLine: All
AllowShortFunctionsOnASingleLine: None
AlignTrailingComments: true
AlwaysBreakTemplateDeclarations: true
AlignConsecutiveAssignments: true
AlignConsecutiveDeclarations: true
AlignAfterOpenBracket: Align
AllowShortEnumsOnASingleLine: false
BreakBeforeBraces: Custom
BraceWrapping:
  AfterClass: false
  AfterControlStatement: false
  AfterEnum: false
  AfterFunction: true
  AfterNamespace: false
  AfterObjCDeclaration: false
  AfterStruct: false
  AfterUnion: false
  BeforeCatch: true
  BeforeElse: true
  IndentBraces: false
BreakConstructorInitializersBeforeComma: true
ColumnLimit:     140
#ColumnLimit: 0
Cpp11BracedListStyle: true
FixNamespaceComments: false
IndentWidth: 4
IndentCaseLabels: true
KeepEmptyLinesAtTheStartOfBlocks: true
LambdaBodyIndentation: Signature 
NamespaceIndentation: All
PenaltyExcessCharacter: 1
PointerAlignment: Left
ReflowComments: false
SortIncludes: true
SortUsingDeclarations: true
SpaceBeforeParens: Always
SpacesInAngles: false
SpacesInParentheses: false
SpacesBeforeTrailingComments: 1
Standard: c++20
TabWidth: 4
UseTab: Never
