Code Inspection |
LLVM/Clang Equivalent
and Documentation |
Default
Level |
Fixable |
Introduced
in Build |
Calling std::move() when it is not needed |
performance-move-const-arg |
3 |
|
2451 |
Check emptiness with empty() instead of size() |
readability-container-size-empty |
5 |
|
2219 |
Check innacurate use of erase() |
bugprone-inaccurate-erase |
3 |
|
2476 |
Check implicit conversions from bool pointer to bool |
bugprone-bool-pointer-implicit-conversion |
3 |
|
2476 |
Check argument comments match parameter names |
bugprone-argument-comment |
4 |
|
2488 |
Constructor of shared_pointer can be replaced with make_shared |
modernize-make-shared |
3 |
|
2210 |
Constructor of unique_ptr can be replaced with make_unique |
modernize-make-unique |
3 |
|
2210 |
Escaped string literal can be written as raw string literal |
modernize-raw-string-literal |
3 |
|
2217 |
Find bug-prone usage of string comparison functions |
bugprone-suspicious-string-compare |
3 |
|
2406 |
Find manually-defined constructor definitions that do not initialize all fields |
cppcoreguidelines-pro-type-member-init |
3 |
|
2458 |
Find suspicious assignments of integers to strings |
bugprone-string-integer-assignment |
3 |
|
2463 |
Find suspicious string constructors |
bugprone-string-constructor |
3 |
|
2406 |
Fix potential swapped arguments |
bugprone-swapped-arguments |
4 |
|
2488 |
For loop can be converted to range-based loop |
modernize-loop-convert |
3 |
|
2210 |
Include of deprecated header file can be replaced or removed |
modernize-deprecated-headers |
3 |
|
2375 |
Integer literal can be replaced with 'true' or 'false' |
modernize-use-bool-literals |
3 |
|
2235 |
Local variable can be a const reference |
performance-unnecessary-copy-initialization |
3 |
|
2248 |
Move constructor or assignment operator is not marked 'noexcept' |
performance-noexcept-move-constructor |
3 |
|
2451 |
Optimize call to std::string::find() to use single character literal |
performance-faster-string-find |
3 |
|
2399 |
Optimize inefficient vector push_back() |
performance-inefficient-vector-operation |
3 |
|
2399 |
Overriding function without 'override' specifier |
modernize-use-override |
3 |
|
2210 |
Prefer transparent functor |
modernize-use-transparent-functors |
3 |
|
2248 |
push_back can be replaced with emplace_back |
modernize-use-emplace |
3 |
|
2210 |
Range-based loop variable can be a const reference |
performance-for-range-copy |
3 |
|
2248 |
Reduce container capacity with shrink_to_fit() instead of copy and swap |
modernize-shrink-to-fit |
3 |
|
2235 |
Redundant call to c_str() or data() on string |
readability-redundant-string-cstr |
4 |
|
2380 |
Redundant get() on smart pointer |
readability-redundant-smartptr-get |
3 |
|
2219 |
Redundant 'return' or 'continue' statement |
readability-redundant-control-flow |
3 |
|
2219 |
Redundant 'void' parameter list |
modernize-redundant-void-arg |
5 |
|
2210 |
Reset unique_ptr with '= nullptr' instead of delete 'p.release()' |
readability-uniqueptr-delete-release |
3 |
|
2219 |
Special member function body can be replaced with '= default' |
modernize-use-equals-default |
3 |
|
2210 |
Standard algorithm can be replaced by container's more efficient implementation |
performance-inefficient-algorithm |
3 |
|
2393 |
Typedef can be converted to 'using' declaration |
modernize-use-using |
3 |
|
2210 |
Unnecessary explicit call to the constructor in return statement |
modernize-return-braced-init-list |
3 |
|
2387 |
Unnecessary member initialization |
readability-redundant-member-init |
5 |
|
2380 |
Unnecessary string initialization |
readability-redundant-string-init |
4 |
|
2380 |
Unnecessary use of else after early exit |
readability-else-after-return |
5 |
|
2387 |
Use string (in)equality operator instead of the compare method |
readability-string-compare.html |
4 |
|
2458 |
Use shuffle() instead of random_shuffle() |
modernize-replace-random-shuffle |
3 |
|
2283 |
Variable can be declared 'auto' |
modernize-use-auto |
5 |
|
2210 |
Zero constant can be replaced with nullptr |
modernize-use-nullptr |
3 |
|
2210 |