---
Checks:          '*,-cert-dcl21-cpp,-cert-err60-cpp,-cppcoreguidelines-pro-bounds-pointer-arithmetic,-cppcoreguidelines-pro-bounds-array-to-pointer-decay,-cppcoreguidelines-pro-type-reinterpret-cast,-google-runtime-references'
#
#  Disabled checks:
#
#  cert-dcl21-cpp
#    It is unclear whether this is still a good recommendation in modern C++.
#
#  cert-err60-cpp
#    Reports std::runtime_error as broken which we can't do anything about.
#
#  cppcoreguidelines-pro-bounds-pointer-arithmetic
#    This is a low-level library, it needs to do pointer arithmetic.
#
#  cppcoreguidelines-pro-bounds-array-to-pointer-decay
#    Limited use and many false positives including for all asserts
#
#  cppcoreguidelines-pro-type-reinterpret-cast
#    This is a low-level library, it needs to do reinterpret-casts.
#
#  google-runtime-references
#    This is just a matter of preference, and we can't change the interfaces
#    now anyways.
#
WarningsAsErrors: '*'
HeaderFilterRegex: '\/include\/'
AnalyzeTemporaryDtors: false
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'
...

