BasedOnStyle: LLVM

UseTab: Never
TabWidth: 4
IndentWidth: 4
ColumnLimit: 0
AccessModifierOffset: -4
ContinuationIndentWidth: 4
ConstructorInitializerIndentWidth: 4
ConstructorInitializerAllOnOneLineOrOnePerLine: true
Cpp11BracedListStyle: false
SpaceBeforeCpp11BracedList: false
SortIncludes: true
SortUsingDeclarations: true
BinPackArguments: false
BinPackParameters: false
FixNamespaceComments: true
NamespaceIndentation: Inner
PointerAlignment: Left
# IndentPPDirectives: AfterHash

AlignOperands: DontAlign
AlignAfterOpenBracket: DontAlign
AlignEscapedNewlines: Left
AlignTrailingComments: false
AlignConsecutiveAssignments: false
AlignConsecutiveDeclarations: false

AlwaysBreakAfterReturnType: TopLevelDefinitions
AlwaysBreakTemplateDeclarations: true
AlwaysBreakBeforeMultilineStrings: false

AllowShortLoopsOnASingleLine: true
AllowShortBlocksOnASingleLine: true
AllowShortFunctionsOnASingleLine: true
AllowShortCaseLabelsOnASingleLine: true
AllowShortIfStatementsOnASingleLine: true
AllowAllConstructorInitializersOnNextLine: true
AllowAllArgumentsOnNextLine: true

BreakInheritanceList: BeforeComma
BreakConstructorInitializers: BeforeComma
BreakBeforeBraces: Custom
BraceWrapping:
  AfterEnum: true
  AfterUnion: true
  AfterClass: true
  AfterStruct: true
  AfterFunction: true
  AfterNamespace: true
  AfterExternBlock: true
  AfterCaseLabel: false
  AfterControlStatement: Never
  BeforeElse: false
  BeforeWhile: false
  BeforeCatch: false
  IndentBraces: false
  BeforeLambdaBody: false
  SplitEmptyRecord: false
  SplitEmptyFunction: false
  SplitEmptyNamespace: false
