[PATCH] D61644: Documentation for bugprone-inaccurate-erase: added an example of a bug that this checker catches
Dmitri Gribenko via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Wed May 8 05:00:25 PDT 2019
This revision was automatically updated to reflect the committed changes.
Closed by commit rCTE360247: Documentation for bugprone-inaccurate-erase: added an example of a bug that… (authored by gribozavr, committed by ).
Changed prior to commit:
https://reviews.llvm.org/D61644?vs=198492&id=198628#toc
Repository:
rCTE Clang Tools Extra
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D61644/new/
https://reviews.llvm.org/D61644
Files:
docs/clang-tidy/checks/bugprone-inaccurate-erase.rst
Index: docs/clang-tidy/checks/bugprone-inaccurate-erase.rst
===================================================================
--- docs/clang-tidy/checks/bugprone-inaccurate-erase.rst
+++ docs/clang-tidy/checks/bugprone-inaccurate-erase.rst
@@ -11,3 +11,19 @@
of the container. These redundant elements must be removed using the
``erase()`` method. This check warns when not all of the elements will be
removed due to using an inappropriate overload.
+
+For example, the following code erases only one element:
+
+.. code-block:: c++
+
+ std::vector<int> xs;
+ ...
+ xs.erase(std::remove(xs.begin(), xs.end(), 10));
+
+Call the two-argument overload of ``erase()`` to remove the subrange:
+
+.. code-block:: c++
+
+ std::vector<int> xs;
+ ...
+ xs.erase(std::remove(xs.begin(), xs.end(), 10), xs.end());
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D61644.198628.patch
Type: text/x-patch
Size: 814 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20190508/3a78236c/attachment-0001.bin>
More information about the cfe-commits
mailing list