---
# Base Style
BasedOnStyle: LLVM
Standard: Latest
ColumnLimit: 120
ReflowComments: true
SortIncludes: true
IncludeBlocks: Regroup

# Indentation
UseTab: Always
TabWidth: 8
IndentWidth: 8
ContinuationIndentWidth: 8
AlignAfterOpenBracket: Align
PointerAlignment: Right

# Braces
BreakBeforeBraces: Custom
BraceWrapping:
  AfterFunction: false
  AfterClass: false
  AfterControlStatement: false
  AfterNamespace: false
  IndentBraces: false

# Containers & lists
SpacesInContainerLiterals: true
Cpp11BracedListStyle: false

SpaceBeforeCpp11BracedList: true

# Control statements & loops
SpaceBeforeParens: Custom
SpaceBeforeParensOptions:
  AfterControlStatements: true
SpaceBeforeRangeBasedForLoopColon: true
AllowShortFunctionsOnASingleLine: true

# Preprocessor
IndentPPDirectives: AfterHash
PPIndentWidth: 0
