---
Checks: >
  -*,
  bugprone-*,
  -bugprone-easily-swappable-parameters,
  clang-analyzer-*,
  concurrency-*,
  cppcoreguidelines-*,
  -cppcoreguidelines-avoid-magic-numbers,
  -cppcoreguidelines-pro-type-reinterpret-cast,
  misc-*,
  -misc-include-cleaner,
  -misc-non-private-member-variables-in-classes,
  modernize-*,
  -modernize-use-trailing-return-type,
  performance-*,
  portability-*,
  readability-*,
  -readability-identifier-length,
  -readability-magic-numbers
# reinterpret_cast is allowed: the perf_event ring buffer and binary merge
# format need it. Each use should still carry a comment.
WarningsAsErrors: '*'
HeaderFilterRegex: '(include/quickbeam|src|tests)/'
FormatStyle: file
CheckOptions:
  # Standard-library naming, matching std::error_code and friends.
  - { key: readability-identifier-naming.NamespaceCase, value: lower_case }
  - { key: readability-identifier-naming.ClassCase, value: lower_case }
  - { key: readability-identifier-naming.StructCase, value: lower_case }
  - { key: readability-identifier-naming.FunctionCase, value: lower_case }
  - { key: readability-identifier-naming.VariableCase, value: lower_case }
  - { key: readability-identifier-naming.ConceptCase, value: lower_case }
  - { key: readability-identifier-naming.TemplateParameterCase, value: CamelCase }
  - { key: readability-identifier-naming.MacroDefinitionCase, value: UPPER_CASE }
  - { key: readability-identifier-naming.MacroDefinitionPrefix, value: QUICKBEAM_ }
  - { key: readability-identifier-naming.PrivateMemberSuffix, value: _ }
