---
# Remarks about the checks:
# * modernize-use-equals-delete: removed to avoid warnings generated in TEST_F macro from google-test
# * clang-analyzer-cplusplus.NewDelete: removed to avoid warnings generated in TEST_F macro from google-test
# * clang-analyzer-cplusplus.NewDeleteLeaks: removed to avoid warnings generated in TEST_F macro from google-test
# * clang-analyzer-optin.cplusplus.VirtualCall: removed to avoid warnings generated in google-test
# * cppcoreguidelines-slicing: removed because of PropertyData in Delib
# * clang-analyzer-core.NullDereference: removed because of warning in clang's headers
Checks:          '-*,
                  bugprone-*,
                  clang-analyzer-*,
                  -clang-analyzer-cplusplus.NewDelete,
                  -clang-analyzer-cplusplus.NewDeleteLeaks,
                  -clang-analyzer-optin.cplusplus.VirtualCall,
                  -clang-analyzer-core.NullDereference,
                  cppcoreguidelines-*,
                  -cppcoreguidelines-avoid-magic-numbers,
                  -cppcoreguidelines-owning-memory,
                  -cppcoreguidelines-pro-bounds-array-to-pointer-decay,
                  -cppcoreguidelines-pro-bounds-constant-array-index,
                  -cppcoreguidelines-pro-bounds-pointer-arithmetic,
                  -cppcoreguidelines-pro-type-const-cast,
                  -cppcoreguidelines-pro-type-member-init,
                  -cppcoreguidelines-pro-type-vararg,
                  -cppcoreguidelines-special-member-functions,
                  -cppcoreguidelines-slicing,
                  -cppcoreguidelines-non-private-member-variables-in-classes,
                  misc-*,
                  -misc-non-private-member-variables-in-classes,
                  modernize-*,
                  -modernize-use-equals-delete,
                  -modernize-use-trailing-return-type,
                  performance-*,
                  portability-*,
                  readability-*,
                  -readability-magic-numbers'
#HeaderFilterRegex: './src/*'
AnalyzeTemporaryDtors: false
FormatStyle:     none
CheckOptions:
  - 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:             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-replace-auto-ptr.IncludeStyle
    value:           llvm
  - key:             modernize-use-nullptr.NullMacros
    value:           'NULL'
  - key:             readability-implicit-bool-conversion.AllowPointerConditions # Do not complain for "if (x)" when x is a pointer
    value:           1
  - key:             performance-move-const-arg.CheckTriviallyCopyableMove # Do not complain on "std::move(x)" if x is trivially copyable
    value:           0
...

