.. title:: clang-tidy - abseil-string-find-str-contains

abseil-string-find-str-contains
===============================

Finds ``s.find(...) == string::npos`` comparisons (for various string-like types)
and suggests replacing with ``absl::StrContains()``.

This improves readability and reduces the likelihood of accidentally mixing
``find()`` and ``npos`` from different string-like types.

By default, "string-like types" includes ``::std::basic_string``,
``::std::basic_string_view``, and ``::absl::string_view``. See the
StringLikeClasses option to change this.

.. code-block:: c++

  std::string s = "...";
  if (s.find("Hello World") == std::string::npos) { /* do something */ }

  absl::string_view a = "...";
  if (absl::string_view::npos != a.find("Hello World")) { /* do something */ }

becomes

.. code-block:: c++

  std::string s = "...";
  if (!absl::StrContains(s, "Hello World")) { /* do something */ }

  absl::string_view a = "...";
  if (absl::StrContains(a, "Hello World")) { /* do something */ }


Options
-------

.. option:: StringLikeClasses

   Semicolon-separated list of names of string-like classes. By default includes
   ``::std::basic_string``, ``::std::basic_string_view``, and
   ``::absl::string_view``.

.. option:: IncludeStyle

   A string specifying which include-style is used, `llvm` or `google`. Default
   is `llvm`.

.. option:: AbseilStringsMatchHeader

   The location of Abseil's ``strings/match.h``. Defaults to
   ``absl/strings/match.h``.
