Checks: '*,
         -altera-*,
         -android-*,
         -google-objc-*,
         -linuxkernel-*,
         -llvmlibc-*,
         -mpi-*,
         -objc-*,
         -openmp-*,
         -fuchsia-trailing-return,
         -fuchsia-default-arguments-*,
         -fuchsia-overloaded-operator,
         -readability-identifier-length,
         -readability-suspicious-call-argument,
         -readability-function-cognitive-complexity,
         -cppcoreguidelines-owning-memory,
         -cppcoreguidelines-avoid-c-arrays,
         -cppcoreguidelines-avoid-do-while,
         -cppcoreguidelines-avoid-magic-numbers,
         -cppcoreguidelines-pro-type-union-access,
         -cppcoreguidelines-pro-bounds-pointer-arithmetic,
         -cppcoreguidelines-pro-bounds-constant-array-index,
         -cppcoreguidelines-pro-bounds-array-to-pointer-decay,
         -modernize-use-nodiscard,
         -modernize-avoid-c-arrays,
         -modernize-use-trailing-return-type,
         -hicpp-avoid-c-arrays,
         -hicpp-no-array-decay,
         -bugprone-easily-swappable-parameters,
         -llvm-header-guard,
         -cert-err58-cpp,
         -google-build-using-namespace'

WarningsAsErrors: '*'

CheckOptions:
  - key: readability-identifier-naming.ClassCase
    value: CamelCase
  - key: readability-identifier-naming.ClassMemberCase
    value: lower_case
  - key: readability-identifier-naming.ConstexprVariableCase
    value: CamelCase
  - key: readability-identifier-naming.ConstexprVariablePrefix
    value: k
  - key: readability-identifier-naming.EnumCase
    value: CamelCase
  - key: readability-identifier-naming.EnumConstantCase
    value: CamelCase
  - key: readability-identifier-naming.EnumConstantPrefix
    value: k
  - key: readability-identifier-naming.FunctionCase
    value: CamelCase
  - key: readability-identifier-naming.GlobalConstantCase
    value: CamelCase
  - key: readability-identifier-naming.GlobalConstantPrefix
    value: k
  - key: readability-identifier-naming.StaticConstantCase
    value: CamelCase
  - key: readability-identifier-naming.StaticConstantPrefix
    value: k
  - key: readability-identifier-naming.StaticVariableCase
    value: lower_case
  - key: readability-identifier-naming.MacroDefinitionCase
    value: UPPER_CASE
  - key: readability-identifier-naming.MacroDefinitionIgnoredRegexp
    value: '^[A-Z]+(_[A-Z]+)*_$'
  - key: readability-identifier-naming.MemberCase
    value: lower_case
  - key: readability-identifier-naming.PrivateMemberSuffix
    value: _
  - key: readability-identifier-naming.NamespaceCase
    value: lower_case
  - key: readability-identifier-naming.ParameterCase
    value: lower_case
  - key: readability-identifier-naming.TypeAliasCase
    value: CamelCase
  - key: readability-identifier-naming.TypedefCase
    value: CamelCase
  - key: readability-identifier-naming.VariableCase
    value: lower_case
  - key: readability-identifier-naming.IgnoreMainLikeFunctions
    value: 1
  - key: readability-simplify-boolean-expr.ChainedConditionalReturn
    value: 1
  - key: readability-simplify-boolean-expr.ChainedConditionalAssignment
    value: 1
  - key: misc-non-private-member-variables-in-classes.IgnoreClassesWithAllMemberVariablesBeingPublic
    value: 1
