BasedOnStyle: LLVM
UseTab: Never
ColumnLimit: 150
IndentWidth: 3
# Use double 'tab' for additional indentation
ContinuationIndentWidth: 6

# Put 'public/protected/private' on column 0
AccessModifierOffset: -3

# Don't wrap '(abc)' to '( abc )'
SpacesInParentheses: false

# 'if()' -> 'if ()'
SpaceBeforeParens: ControlStatements

# PIPS uses 'double* a' over 'double *a'.
PointerAlignment: Left

# Break '} else' into
# }
# else
BreakBeforeBraces: Custom
BraceWrapping:
  BeforeElse: true

# Don't align after '(' - this quickly becomes ugly for long function names/signatures.
AlignAfterOpenBracket: DontAlign

# Misc. Don't touch includes.
AllowShortFunctionsOnASingleLine: InlineOnly
AllowShortIfStatementsOnASingleLine: false
IncludeBlocks: Preserve
# clang-format-19 marks AlwaysBreakTemplateDeclarations deprecated and replaces it with BreakTemplateDeclarations
AlwaysBreakTemplateDeclarations: Yes
SortIncludes: false
