---
Checks:          'clang-diagnostic-*,
                  clang-analyzer-*,
                  bugprone-assert-side-effect, bugprone-copy-constructor-init,
                  bugprone-dangling-handle, bugprone-fold-init-type,
                  bugprone-forwarding-reference-overload,
                  bugprone-inaccurate-erase, bugprone-incorrect-roundings,
                  bugprone-infinite-loop, bugprone-integer-division,
                  bugprone-macro-parentheses,
                  bugprone-macro-repeated-side-effects,
                  bugprone-misplaced-widening-cast,
                  bugprone-move-forwarding-reference,
                  bugprone-multiple-statement-macro,
                  bugprone-parent-virtual-call,
                  bugprone-reserved-identifier,
                  bugprone-signed-char-misuse,
                  bugprone-sizeof-container,
                  bugprone-sizeof-expression,
                  bugprone-spuriously-wake-up-functions,
                  bugprone-string-constructor,
                  bugprone-string-integer-assignment,
                  bugprone-suspicious-include,
                  bugprone-suspicious-semicolon,
                  bugprone-swapped-arguments,
                  bugprone-undefined-memory-manipulation,
                  bugprone-undelegated-constructor,
                  bugprone-unhandled-self-assignment,
                  bugprone-unused-raii,
                  bugprone-use-after-move,
                  cert-dcl58-cpp,
                  cert-err34-c,
                  cert-err58-cpp
                  cert-flp30-c,
                  cert-msc51-cpp,
                  cert-oop57-cpp,
                  cert-oop58-cpp,
                  cppcoreguidelines-*,
                  -cppcoreguidelines-pro-type-member-init,
                  google-build-explicit-make-pair,
                  google-build-namespaces,
                  google-default-arguments,
                  google-explicit-constructor,
                  google-global-names-in-headers,
                  google-readability-casting,
                  misc-*,
                  -misc-no-recursion,
                  -misc-static-assert,
                  modernize-*,
                  -modernize-loop-convert,
                  -modernize-pass-by-value,
                  -modernize-replace-auto-ptr,
                  -modernize-replace-disallow-copy-and-assign-macro,
                  -modernize-use-equals-default,
                  -modernize-use-equals-delete,
                  -modernize-use-trailing-return-type,
                  -modernize-use-nodiscard,
                  performance-*,
                  readability-*,
                  -readability-else-after-return,
                  -readability-function-size,
                  -readability-identifier-naming,
                  -readability-implicit-bool-conversion,
                  -readability-named-parameter,
                  -readability-qualified-auto,
                  -readability-redundant-smartptr-get,
                  -readability-simplify-boolean-expr,
                  -readability-use-anyofallof,
                  -readability-identifier-length'
CheckOptions:
  - key:  bugprone-assert-side-effect.AssertMacros
    value: 'assert'
  - key:  bugprone-dangling-handle.HandleClasses
    value: 'std::basic_string_view, std::span'
  - key:  modernize-use-auto.MinTypeNameLength
    value: 0
  - key:  modernize-use-auto.RemoveStars
    value: 1
  - key: cppcoreguidelines-special-member-functions.AllowSoleDefaultDtor
    value: true
