---
HeaderFilterRegex: .*/tests/libtransmission/.*

# Many of these checks are disabled only because the code hasn't been
# cleaned up yet. Pull requests welcomed.
#
# -readability-container-contains (P0458R2): GCC 9.1, clang 13
# Ref: https://gcc.gnu.org/onlinedocs/libstdc++/manual/status.html
# Ref: https://libcxx.llvm.org/Status/Cxx20.html
Checks: >
  bugprone-*,
  -bugprone-easily-swappable-parameters,
  -bugprone-narrowing-conversions,
  -bugprone-unchecked-optional-access,
  cert-*,
  -cert-int09-c,
  clang-analyzer-optin*,
  cppcoreguidelines-*,
  -cppcoreguidelines-avoid-const-or-ref-data-members,
  -cppcoreguidelines-avoid-magic-numbers,
  -cppcoreguidelines-avoid-non-const-global-variables,
  -cppcoreguidelines-macro-usage,
  -cppcoreguidelines-narrowing-conversions,
  -cppcoreguidelines-non-private-member-variables-in-classes,
  -cppcoreguidelines-pro-bounds-constant-array-index,
  -cppcoreguidelines-pro-bounds-pointer-arithmetic,
  -cppcoreguidelines-pro-type-reinterpret-cast,
  google-readability-*,
  google-runtime-operator,
  hicpp-*,
  -hicpp-signed-bitwise,
  misc-*,
  -misc-include-cleaner,
  -misc-no-recursion,
  -misc-non-private-member-variables-in-classes,
  modernize-*,
  -modernize-use-trailing-return-type,
  performance-*,
  readability-*,
  -readability-container-contains,
  -readability-enum-initial-value,
  -readability-function-cognitive-complexity,
  -readability-identifier-length,
  -readability-magic-numbers,
  -readability-qualified-auto,

CheckOptions:
  - { key: cppcoreguidelines-avoid-do-while.IgnoreMacros,                   value: true       }
  - { key: readability-identifier-naming.ClassCase,                         value: CamelCase  }
  - { key: readability-identifier-naming.ClassMethodCase,                   value: camelBack  }
  - { key: readability-identifier-naming.ConstexprVariableCase,             value: CamelCase  }
  - { key: readability-identifier-naming.FunctionCase,                      value: camelBack  }
  - { key: readability-identifier-naming.GlobalConstantCase,                value: CamelCase  }
  - { key: readability-identifier-naming.MemberConstantCase,                value: CamelCase  }
  - { key: readability-identifier-naming.NamespaceCase,                     value: lower_case }
  - { key: readability-identifier-naming.PrivateMemberSuffix,               value: _          }
  - { key: readability-identifier-naming.ProtectedMemberSuffix,             value: _          }
  - { key: readability-identifier-naming.StaticConstantCase,                value: CamelCase  }
  - { key: readability-identifier-naming.StructCase,                        value: CamelCase  }
  - { key: readability-identifier-naming.TemplateParameterCase,             value: CamelCase  }
  - { key: readability-identifier-naming.VariableCase,                      value: lower_case }
  - { key: readability-implicit-bool-conversion.UseUpperCaseLiteralSuffix,  value: true       }
