Checks: "abseil-cleanup-ctad,
  abseil-faster-strsplit-delimiter,
  abseil-duration-*,
  abseil-no-namespace,
  abseil-redundant-strcat-calls,
  abseil-str-cat-append,
  abseil-string-find-startswith,
  abseil-upgrade-duration-conversions
  bugprone-*,
  -bugprone-easily-swappable-parameters,
  google-build-using-namespace,
  google-explicit-constructor,
  google-global-names-in-headers,
  google-readability-casting,
  google-runtime-int,
  google-runtime-operator,
  misc-unused-using-decls,
  modernize-*,
  -modernize-use-trailing-return-type,
  -modernize-use-nodiscard,
  performance-*,
  readability-*,
  -readability-else-after-return,
  -readability-identifier-length,
  -readability-magic-numbers,
  -readability-named-parameter"

CheckOptions:
  - key: bugprone-argument-comment.StrictMode
    value: 1

  - key: bugprone-dangling-handle.HandleClasses
    value: "std::basic_string_view;std::experimental::basic_string_view;absl::string_view"

  - key: misc-non-private-member-variables-in-classes.IgnoreClassesWithAllMemberVariablesBeingPublic
    value: 1

    # Ignore GoogleTest function macros.
  - key: readability-identifier-naming.FunctionIgnoredRegexp
    value: "(TEST|TEST_F|TEST_P|INSTANTIATE_TEST_SUITE_P|MOCK_METHOD|TYPED_TEST)"

  - key: readability-identifier-naming.ClassCase
    value: "CamelCase"

  - key: readability-identifier-naming.EnumCase
    value: "CamelCase"

  - key: readability-identifier-naming.EnumConstantCase
    value: "CamelCase"

  - key: readability-identifier-naming.ParameterCase
    value: "lower_case"

  - key: readability-identifier-naming.PrivateMemberCase
    value: "lower_case"

  - key: readability-identifier-naming.PrivateMemberSuffix
    value: "_"

  - key: readability-identifier-naming.StructCase
    value: "CamelCase"

  - key: readability-identifier-naming.TypeAliasCase
    value: "CamelCase"

  - key: readability-identifier-naming.UnionCase
    value: "CamelCase"

  - key: readability-identifier-naming.FunctionCase
    value: "CamelBack"
