---
Language: Cpp
BasedOnStyle: LLVM
Standard: c++20
ColumnLimit: 100
IndentWidth: 4
AccessModifierOffset: -4
PointerAlignment: Left
AllowShortFunctionsOnASingleLine: Inline
AllowShortLambdasOnASingleLine: Inline
BreakTemplateDeclarations: Yes
RequiresClausePosition: OwnLine
FixNamespaceComments: true
InsertNewlineAtEOF: true
IncludeBlocks: Regroup
IncludeCategories:
  # Quickbeam headers, then third-party, then the standard library.
  - Regex: '^<quickbeam/'
    Priority: 1
  - Regex: '^<(catch2|nanobind)/'
    Priority: 2
  - Regex: '^<[a-z_]+>$'
    Priority: 3
  - Regex: '.*'
    Priority: 4
