HeaderFilterRegex: \./.+

Checks: >-
  bugprone-*,
  cppcoreguidelines-*,
  misc-*,
  modernize-*,
  performance-*,
  readability-*,
  -bugprone-lambda-function-name,
  -bugprone-reserved-identifier,
  -cppcoreguidelines-avoid-goto,
  -cppcoreguidelines-avoid-magic-numbers,
  -cppcoreguidelines-avoid-non-const-global-variables,
  -cppcoreguidelines-pro-bounds-array-to-pointer-decay,
  -cppcoreguidelines-pro-type-vararg,
  -google-readability-braces-around-statements,
  -google-readability-function-size,
  -google-readability-namespace-comments,
  -misc-no-recursion,
  -modernize-return-braced-init-list,
  -modernize-use-nodiscard,
  -modernize-use-trailing-return-type,
  -performance-unnecessary-value-param,
  -readability-identifier-length,
  -readability-magic-numbers

CheckOptions:
  - key: readability-function-cognitive-complexity.Threshold
    value: 100
  - key: readability-function-cognitive-complexity.IgnoreMacros
    value: true
  # Set naming conventions for your style below (there are dozens of naming settings possible):
  # See https://clang.llvm.org/extra/clang-tidy/checks/readability/identifier-naming.html
  - key: readability-identifier-naming.ClassCase
    value: CamelCase