Checks: '*,
         -abseil-*,
         -altera-*,
         -android-*,
         -boost-*,
         -google-objc-*,
         -linuxkernel-*,
         -llvmlibc-*,
         -mpi-*,
         -objc-*,
         -openmp-*,

         -cert-err58-cpp,
         -cppcoreguidelines-pro-type-static-cast-downcast,
         -fuchsia-default-arguments-*,
         -google-build-using-namespace,
         -modernize-use-trailing-return-type,
         -readability-identifier-length,
         -fuchsia-overloaded-operator,
         -cppcoreguidelines-pro-type-union-access,
         -hicpp-named-parameter,
         -modernize-use-default-member-init,
         -readability-named-parameter,
         -google-explicit-constructor,
         -hicpp-explicit-conversions,
         -llvm-header-guard,
         -cppcoreguidelines-owning-memory'

WarningsAsErrors: '*'

HeaderFilterRegex: '^<.*\.hpp>$'

CheckOptions: # TODO(Ri7ay) Setup all options
  - key: readability-identifier-naming.NamespaceCase
    value: lower_case
  - key: readability-identifier-naming.ClassCase
    value: CamelCase
  - key: readability-identifier-naming.StructCase
    value: CamelCase
  - key: readability-identifier-naming.TypedefCase
    value: CamelCase
  - key: readability-identifier-naming.TypeAliasCase
    value: CamelCase
  - key: readability-identifier-naming.FunctionCase
    value: CamelCase
  - key: readability-identifier-naming.ParameterCase
    value: lower_case
  - key: readability-identifier-naming.VariableCase
    value: lower_case
  - key: readability-identifier-naming.PrivateMemberCase
    value: lower_case
  - key: readability-identifier-naming.PrivateMemberPrefix
    value: _
  - 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.ConstexprVariableCase
    value: CamelCase
  - key: readability-identifier-naming.ConstexprVariablePrefix
    value: k
  - key: readability-identifier-naming.TypeTemplateParameterCase
    value: CamelCase
  - 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
