Imported Upstream version 6.10.0.49

Former-commit-id: 1d6753294b2993e1fbf92de9366bb9544db4189b
This commit is contained in:
Xamarin Public Jenkins (auto-signing)
2020-01-16 16:38:04 +00:00
parent d94e79959b
commit 468663ddbb
48518 changed files with 2789335 additions and 61176 deletions

View File

@@ -0,0 +1,27 @@
.. title:: clang-tidy - performance-for-range-copy
performance-for-range-copy
==========================
Finds C++11 for ranges where the loop variable is copied in each iteration but
it would suffice to obtain it by const reference.
The check is only applied to loop variables of types that are expensive to copy
which means they are not trivially copyable or have a non-trivial copy
constructor or destructor.
To ensure that it is safe to replace the copy with a const reference the
following heuristic is employed:
1. The loop variable is const qualified.
2. The loop variable is not const, but only const methods or operators are
invoked on it, or it is used as const reference or value argument in
constructors or function calls.
Options
-------
.. option:: WarnOnAllAutoCopies
When non-zero, warns on any use of `auto` as the type of the range-based for
loop variable. Default is `0`.