Checks: >
    -*,

    bugprone-*,
    -bugprone-sizeof-expression,

    cert-dcl21-cpp,
    cert-dcl50-cpp,
    cert-env33-c,
    cert-err34-c,
    cert-err52-cpp,
    cert-flp30-c,
    cert-mem57-cpp,
    cert-msc50-cpp,
    cert-oop58-cpp,

    clang-analyzer-*,
    -clang-analyzer-cplusplus.NewDeleteLeaks,
    -clang-analyzer-deadcode.DeadStores,

    clang-diagnostic-*,

    misc-definitions-in-headers,
    misc-throw-by-value-catch-by-reference,
    misc-misplaced-const,
    misc-unconventional-assign-operator,
    misc-redundant-expression,
    -misc-static-assert,
    misc-unconventional-assign-operator,
    misc-uniqueptr-reset-release,
    misc-unused-alias-decls,
    misc-unused-parameters,
    misc-unused-using-decls,

    modernize-avoid-bind,
    modernize-loop-convert,
    modernize-make-shared,
    modernize-make-unique,
    -modernize-pass-by-value,
    modernize-raw-string-literal,
    modernize-redundant-void-arg,
    modernize-replace-auto-ptr,
    modernize-replace-random-shuffle,
    modernize-use-bool-literals,
    modernize-use-nullptr,
    modernize-use-using,
    -modernize-use-equals-default,
    modernize-use-equals-delete,
    -modernize-use-override,

    -performance-*,

    -readability-identifier-naming,
    -readability-braces-around-statements,
    -readability-inconsistent-declaration-parameter-name,

CheckOptions:
    - { key: readability-identifier-naming.ClassCase,           value: CamelCase  }
    - { key: readability-identifier-naming.PrivateMemberCase,   value: CamelCase  }
    - { key: readability-identifier-naming.PrivateMemberSuffix, value: ''         }
    - { key: readability-identifier-naming.FunctionCase,        value: CamelCase  }
