File: performance-inefficient-algorithm.rst

package info (click to toggle)
llvm-toolchain-6.0 1%3A6.0.1-10
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 598,080 kB
  • sloc: cpp: 3,046,253; ansic: 595,057; asm: 271,965; python: 128,926; objc: 106,554; sh: 21,906; lisp: 10,191; pascal: 6,094; ml: 5,544; perl: 5,265; makefile: 2,227; cs: 2,027; xml: 686; php: 212; csh: 117
file content (29 lines) | stat: -rw-r--r-- 653 bytes parent folder | download | duplicates (6)
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 advanatage 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);