---
Language: Cpp
BasedOnStyle: LLVM

# Indentation
IndentWidth: 2
TabWidth: 2
UseTab: Never
ContinuationIndentWidth: 4
NamespaceIndentation: None

# Braces
BreakBeforeBraces: Attach
AllowShortBlocksOnASingleLine: Empty
AllowShortFunctionsOnASingleLine: Empty
AllowShortIfStatementsOnASingleLine: WithoutElse
AllowShortLoopsOnASingleLine: true

# Line width
ColumnLimit: 80

# Alignment
AlignAfterOpenBracket: Align
AlignOperands: Align
AlignTrailingComments: true

# Include sorting
SortIncludes: CaseSensitive
IncludeBlocks: Preserve

# Pointer/Reference
PointerAlignment: Right
ReferenceAlignment: Right

# Spaces
SpaceAfterCStyleCast: false
SpaceBeforeParens: ControlStatements
SpacesInAngles: Never

# Other
AllowAllParametersOfDeclarationOnNextLine: true
BinPackArguments: true
BinPackParameters: true
BreakConstructorInitializersBeforeComma: false
Cpp11BracedListStyle: true
DerivePointerAlignment: false
ReflowComments: true
