Checks: >-
  bugprone-*,
  cppcoreguidelines-*,
  google-*,
  misc-*,
  modernize-*,
  performance-*,
  readability-*,
  -bugprone-lambda-function-name,
  -bugprone-easily-swappable-parameters,
  -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-bounds-pointer-arithmetic,
  -cppcoreguidelines-pro-type-vararg,
  -google-readability-braces-around-statements,
  -google-readability-function-size,
  -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:
  readability-function-cognitive-complexity.Threshold: 100
  readability-function-cognitive-complexity.IgnoreMacros: true
  readability-identifier-naming.ClassCase: CamelCase