File: performance-inefficient-algorithm.rst

package info (click to toggle)
llvm-toolchain-11 1%3A11.0.1-2
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 995,808 kB
  • sloc: cpp: 4,767,656; ansic: 760,916; asm: 477,436; python: 170,940; objc: 69,804; lisp: 29,914; sh: 23,855; f90: 18,173; pascal: 7,551; perl: 7,471; ml: 5,603; awk: 3,489; makefile: 2,573; xml: 915; cs: 573; fortran: 503; javascript: 452
file content (29 lines) | stat: -rw-r--r-- 652 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
.. title:: clang-tidy - performance-inefficient-algorithm

performance-inefficient-algorithm
=================================


Warns on inefficient use of STL algorithms on associative containers.

Associative containers implements some of the algorithms as methods which
should be preferred to the algorithms in the algorithm header. The methods
can take advantage of the order of the elements.

.. code-block:: c++

  std::set<int> s;
  auto it = std::find(s.begin(), s.end(), 43);

  // becomes

  auto it = s.find(43);

.. code-block:: c++

  std::set<int> s;
  auto c = std::count(s.begin(), s.end(), 43);

  // becomes

  auto c = s.count(43);