# SPDX-License-Identifier: GPL-3.0-or-later
# SPDX-FileCopyrightText: 2018-2020 Carles Fernandez-Prades <carles.fernandez@cttc.es>
---
Checks: '-*,
        boost-use-to-string,
        bugprone-argument-comment,
        bugprone-assert-side-effect,
        bugprone-bool-pointer-implicit-conversion,
        bugprone-copy-constructor-init,
        bugprone-dangling-handle,
        bugprone-exception-escape,
        bugprone-fold-init-type,
        bugprone-forward-declaration-namespace,
        bugprone-forwarding-reference-overload,
        bugprone-inaccurate-erase,
        bugprone-incorrect-roundings,
        bugprone-integer-division,
        bugprone-lambda-function-name,
        bugprone-macro-parentheses,
        bugprone-macro-repeated-side-effects,
        bugprone-misplaced-operator-in-strlen-in-alloc,
        bugprone-misplaced-widening-cast,
        bugprone-move-forwarding-reference,
        bugprone-multiple-statement-macro,
        bugprone-parent-virtual-call,
        bugprone-sizeof-container,
        bugprone-sizeof-expression,
        bugprone-string-constructor,
        bugprone-string-integer-assignment,
        bugprone-string-literal-with-embedded-nul,
        bugprone-suspicious-enum-usage,
        bugprone-suspicious-memset-usage,
        bugprone-suspicious-missing-comma,
        bugprone-suspicious-semicolon,
        bugprone-suspicious-string-compare,
        bugprone-swapped-arguments,
        bugprone-terminating-continue,
        bugprone-throw-keyword-missing,
        bugprone-too-small-loop-variable,
        bugprone-undefined-memory-manipulation,
        bugprone-undelegated-constructor,
        bugprone-unused-raii,
        bugprone-unused-return-value,
        bugprone-use-after-move,
        bugprone-virtual-near-miss,
        cert-dcl21-cpp,
        cert-dcl58-cpp,
        cert-env33-c,
        cert-err52-cpp,
        cert-err60-cpp,
        cert-flp30-c,
        cert-msc50-cpp,
        cert-msc51-cpp,
        clang-analyzer-cplusplus.*,
        clang-analyzer-optin.performance.*,
        clang-analyzer-optin.portability.UnixAPI,
        clang-analyzer-security.*,
        cppcoreguidelines-pro-type-cstyle-cast,
        cppcoreguidelines-pro-type-static-cast-downcast,
        cppcoreguidelines-slicing,
        cppcoreguidelines-special-member-functions,
        google-build-namespaces,
        google-global-names-in-headers,
        google-runtime-int,
        hicpp-exception-baseclass,
        hicpp-explicit-conversions,
        hicpp-noexcept-move,
        misc-misplaced-const,
        misc-new-delete-overloads,
        misc-non-copyable-objects,
        misc-static-assert,
        misc-throw-by-value-catch-by-reference,
        misc-uniqueptr-reset-release,
        misc-unused-using-decls,
        modernize-avoid-bind,
        modernize-use-default-member-init,
        modernize-deprecated-headers,
        modernize-loop-convert,
        modernize-raw-string-literal,
        modernize-redundant-void-arg,
        modernize-return-braced-init-list,
        modernize-shrink-to-fit,
        modernize-use-auto,
        modernize-use-bool-literals,
        modernize-use-emplace,
        modernize-use-equals-default,
        modernize-use-equals-delete,
        modernize-use-noexcept,
        modernize-use-nullptr,
        modernize-use-override,
        performance-faster-string-find,
        performance-for-range-copy,
        performance-implicit-conversion-in-loop,
        performance-inefficient-algorithm,
        performance-inefficient-string-concatenation,
        performance-inefficient-vector-operation,
        performance-move-const-arg,
        performance-move-constructor-init,
        performance-noexcept-move-constructor,
        performance-type-promotion-in-math-fn,
        performance-unnecessary-copy-initialization,
        performance-unnecessary-value-param,
        readability-avoid-const-params-in-decls,
        readability-braces-around-statements,
        readability-container-size-empty,
        readability-identifier-naming,
        readability-inconsistent-declaration-parameter-name,
        readability-isolate-declaration,
        readability-named-parameter,
        readability-non-const-parameter,
        readability-redundant-control-flow,
        readability-redundant-member-init,
        readability-string-compare,
        readability-uppercase-literal-suffix'
WarningsAsErrors: ''
HeaderFilterRegex: ''
AnalyzeTemporaryDtors: false
FormatStyle: 'file'
CheckOptions:
  - key:             bugprone-argument-comment.StrictMode
    value:           '0'
  - key:             bugprone-assert-side-effect.AssertMacros
    value:           assert
  - key:             bugprone-assert-side-effect.CheckFunctionCalls
    value:           '0'
  - key:             bugprone-dangling-handle.HandleClasses
    value:           'std::basic_string_view;std::experimental::basic_string_view'
  - key:             bugprone-exception-escape.FunctionsThatShouldNotThrow
    value:           ''
  - key:             bugprone-exception-escape.IgnoredExceptions
    value:           ''
  - key:             bugprone-misplaced-widening-cast.CheckImplicitCasts
    value:           '0'
  - key:             bugprone-sizeof-expression.WarnOnSizeOfCompareToConstant
    value:           '1'
  - key:             bugprone-sizeof-expression.WarnOnSizeOfConstant
    value:           '1'
  - key:             bugprone-sizeof-expression.WarnOnSizeOfIntegerExpression
    value:           '0'
  - key:             bugprone-sizeof-expression.WarnOnSizeOfThis
    value:           '1'
  - key:             bugprone-string-constructor.LargeLengthThreshold
    value:           '8388608'
  - key:             bugprone-string-constructor.WarnOnLargeLength
    value:           '1'
  - key:             bugprone-suspicious-enum-usage.StrictMode
    value:           '0'
  - key:             bugprone-suspicious-missing-comma.MaxConcatenatedTokens
    value:           '5'
  - key:             bugprone-suspicious-missing-comma.RatioThreshold
    value:           '0.200000'
  - key:             bugprone-suspicious-missing-comma.SizeThreshold
    value:           '5'
  - key:             bugprone-suspicious-string-compare.StringCompareLikeFunctions
    value:           ''
  - key:             bugprone-suspicious-string-compare.WarnOnImplicitComparison
    value:           '1'
  - key:             bugprone-suspicious-string-compare.WarnOnLogicalNotComparison
    value:           '0'
  - key:             bugprone-unused-return-value.CheckedFunctions
    value:           '::std::async;::std::launder;::std::remove;::std::remove_if;::std::unique;::std::unique_ptr::release;::std::basic_string::empty;::std::vector::empty'
  - key:             cert-dcl16-c.NewSuffixes
    value:           'L;LL;LU;LLU'
  - key:             cert-msc51-cpp.DisallowedSeedTypes
    value:           'time_t,std::time_t'
  - key:             cppcoreguidelines-non-private-member-variables-in-classes.IgnoreClassesWithAllMemberVariablesBeingPublic
    value:           '1'
  - key:             cppcoreguidelines-special-member-functions.AllowMissingMoveFunctions
    value:           '0'
  - key:             cppcoreguidelines-special-member-functions.AllowSoleDefaultDtor
    value:           '0'
  - key:             google-build-namespaces.HeaderFileExtensions
    value:           ',h'
  - key:             google-global-names-in-headers.HeaderFileExtensions
    value:           ',h,hh,hpp,hxx'
  - key:             google-readability-braces-around-statements.ShortStatementLines
    value:           '1'
  - key:             google-readability-function-size.StatementThreshold
    value:           '800'
  - key:             google-readability-namespace-comments.ShortNamespaceLines
    value:           '10'
  - key:             google-readability-namespace-comments.SpacesBeforeComments
    value:           '2'
  - key:             google-runtime-int.SignedTypePrefix
    value:           int
  - key:             google-runtime-int.TypeSuffix
    value:           _t
  - key:             google-runtime-int.UnsignedTypePrefix
    value:           uint
  - key:             misc-throw-by-value-catch-by-reference.CheckThrowTemporaries
    value:           '1'
  - key:             modernize-loop-convert.MaxCopySize
    value:           '16'
  - key:             modernize-loop-convert.MinConfidence
    value:           reasonable
  - key:             modernize-loop-convert.NamingStyle
    value:           CamelCase
  - key:             modernize-pass-by-value.IncludeStyle
    value:           llvm
  - key:             modernize-raw-string-literal.ReplaceShorterLiterals
    value:           '0'
  - key:             modernize-replace-auto-ptr.IncludeStyle
    value:           llvm
  - key:             modernize-use-auto.MinTypeNameLength
    value:           '5'
  - key:             modernize-use-auto.RemoveStars
    value:           '0'
  - key:             modernize-use-default-member-init.IgnoreMacros
    value:           '1'
  - key:             modernize-use-default-member-init.UseAssignment
    value:           '0'
  - key:             modernize-use-emplace.ContainersWithPushBack
    value:           '::std::vector;::std::list;::std::deque'
  - key:             modernize-use-emplace.SmartPointers
    value:           '::std::shared_ptr;::std::unique_ptr;::std::auto_ptr;::std::weak_ptr'
  - key:             modernize-use-emplace.TupleMakeFunctions
    value:           '::std::make_pair;::std::make_tuple'
  - key:             modernize-use-emplace.TupleTypes
    value:           '::std::pair;::std::tuple'
  - key:             modernize-use-equals-default.IgnoreMacros
    value:           '1'
  - key:             modernize-use-equals-delete.IgnoreMacros
    value:           '1'
  - key:             modernize-use-noexcept.ReplacementString
    value:           ''
  - key:             modernize-use-noexcept.UseNoexceptFalse
    value:           '1'
  - key:             modernize-use-nullptr.NullMacros
    value:           'NULL'
  - key:             performance-faster-string-find.StringLikeClasses
    value:           'std::basic_string'
  - key:             performance-for-range-copy.AllowedTypes
    value:           ''
  - key:             performance-for-range-copy.WarnOnAllAutoCopies
    value:           '0'
  - key:             performance-inefficient-string-concatenation.StrictMode
    value:           '0'
  - key:             performance-inefficient-vector-operation.VectorLikeClasses
    value:           '::std::vector'
  - key:             performance-move-const-arg.CheckTriviallyCopyableMove
    value:           '1'
  - key:             performance-move-constructor-init.IncludeStyle
    value:           llvm
  - key:             performance-type-promotion-in-math-fn.IncludeStyle
    value:           llvm
  - key:             performance-unnecessary-copy-initialization.AllowedTypes
    value:           ''
  - key:             performance-unnecessary-value-param.AllowedTypes
    value:           ''
  - key:             performance-unnecessary-value-param.IncludeStyle
    value:           llvm
  - key:             readability-braces-around-statements.ShortStatementLines
    value:           '0'
  - key:             readability-identifier-naming.AbstractClassCase
    value:           CamelCase
  - key:             readability-identifier-naming.AbstractClassPrefix
    value:           ''
  - key:             readability-identifier-naming.AbstractClassSuffix
    value:           ''
  - key:             readability-identifier-naming.ClassCase
    value:           Camel_Snake_Case
  - key:             readability-identifier-naming.ClassPrefix
    value:           ''
  - key:             readability-identifier-naming.ClassSuffix
    value:           ''
  - key:             readability-identifier-naming.GlobalConstantCase
    value:           UPPER_CASE
  - key:             readability-identifier-naming.GlobalConstantPrefix
    value:           ''
  - key:             readability-identifier-naming.GlobalConstantSuffix
    value:           ''
  - key:             readability-identifier-naming.IgnoreFailedSplit
    value:           '0'
  - key:             readability-identifier-naming.StructCase
    value:           aNy_CasE
  - key:             readability-identifier-naming.StructPrefix
    value:           ''
  - key:             readability-identifier-naming.StructSuffix
    value:           ''
  - key:             readability-inconsistent-declaration-parameter-name.IgnoreMacros
    value:           '1'
  - key:             readability-inconsistent-declaration-parameter-name.Strict
    value:           '0'
  - key:             readability-uppercase-literal-suffix.IgnoreMacros
    value:           '1'
  - key:             readability-uppercase-literal-suffix.NewSuffixes
    value:           ''
...
