# Clang-Format config used by .pre-commit-config.yaml's clang-format hook.
# Base matches the cuspatial/RAPIDS C++ style (Google with LLVM tweaks).
BasedOnStyle: Google
Language: Cpp
Standard: c++17

ColumnLimit: 100
IndentWidth: 2
TabWidth: 2
UseTab: Never
AccessModifierOffset: -2

AlignAfterOpenBracket: Align
AlignConsecutiveAssignments: true
AlignConsecutiveDeclarations: false
AlignTrailingComments: true

AllowShortBlocksOnASingleLine: Empty
AllowShortCaseLabelsOnASingleLine: false
AllowShortFunctionsOnASingleLine: InlineOnly
AllowShortIfStatementsOnASingleLine: Never
AllowShortLoopsOnASingleLine: false

BinPackArguments: false
BinPackParameters: false

BreakBeforeBraces: Attach
BreakConstructorInitializers: BeforeComma

DerivePointerAlignment: false
PointerAlignment: Left
SpaceAfterCStyleCast: false
SpaceAfterTemplateKeyword: true

IncludeBlocks: Regroup

SortIncludes: true
SortUsingDeclarations: true
