Commit Graph
2680 Commits
Author SHA1 Message Date
Rosen PenevandGitHub 37ba5a5cc1 convert missed for loop (#1136)
clang-tidy missed it as the declaration is outside of the loop.

Signed-off-by: Rosen Penev <[email protected]>
2023-09-07 11:04:02 -05:00
Rosen PenevandGitHub 23186f24ff remove unused typedefs (#1138)
This was done in C++98 times. No longer needed with auto.

Signed-off-by: Rosen Penev <[email protected]>
2023-09-07 11:02:55 -05:00
Rosen PenevandGitHub 528b84fbde size() to isEmpty() (#1131)
Signed-off-by: Rosen Penev <[email protected]>
2023-09-06 21:23:28 +02:00
Rosen PenevandGitHub 912897cd35 simplify boolean expressions (#1130)
Signed-off-by: Rosen Penev <[email protected]>
2023-09-06 21:16:59 +02:00
Rosen PenevandGitHub 54f84cc924 clang-tidy: use data() (#1129)
Found with readability-container-data-pointer

Signed-off-by: Rosen Penev <[email protected]>
2023-09-06 21:15:56 +02:00
Urs FleischandGitHub 47c4e0859c Restore const iterators replaced in #1107 (#1128)
Also make sure that the lines calling std algorithms are not
excessively long.
2023-09-06 20:59:01 +02:00
524b588a1e manual range loop conversions (#1126)
* manual range loop conversions

Signed-off-by: Rosen Penev <[email protected]>

* Restore const containers where non const temporaries are iterated

* Use std::as_const() instead of const container copies where possible

---------

Signed-off-by: Rosen Penev <[email protected]>
Co-authored-by: Urs Fleisch <[email protected]>
2023-09-06 20:58:13 +02:00
Rosen PenevandGitHub 303b55fb97 clang-tidy: ending namespace comment (#1132)
Signed-off-by: Rosen Penev <[email protected]>
2023-09-03 21:39:49 -05:00
Rosen PenevandGitHub ecf1d4fa53 clang: fix documentation (#1111)
* Use [[deprecated]] always

Simplifies the code. Codebase is C++17 anyways.

Signed-off-by: Rosen Penev <[email protected]>

* clang: fix documentation

Found with Wdocumentation

Signed-off-by: Rosen Penev <[email protected]>

* add deprecated to length() and fix usages

Signed-off-by: Rosen Penev <[email protected]>

---------

Signed-off-by: Rosen Penev <[email protected]>
2023-09-03 15:14:05 +02:00
Urs Fleisch d2bd56c519 Fix possible loss of data warning by MSVC 2023-09-02 16:30:45 +02:00
Rosen PenevandGitHub 040b069957 clang-tidy: fix mismatched variable names (#1109)
Found with readability-inconsistent-declaration-parameter-name

Signed-off-by: Rosen Penev <[email protected]>
2023-08-31 06:46:58 +02:00
Urs Fleisch f44ea9b80b Fixed signedness warning 2023-08-30 17:58:15 +02:00
Rosen PenevandGitHub 0ba61343a4 std::list and unique_ptr conversions (#1122)
The former is standard C++ and the latter allows getting rid of
autodelete.

Signed-off-by: Rosen Penev <[email protected]>
2023-08-30 16:49:31 +02:00
Rosen PenevandGitHub cdc87aec10 clang-tidy: init members by default (#1110)
Found with modernize-use-default-member-init

Signed-off-by: Rosen Penev <[email protected]>
2023-08-30 16:26:14 +02:00
Rosen PenevandGitHub 4a86489186 clang-tidy: no else after return (#1119)
Signed-off-by: Rosen Penev <[email protected]>
2023-08-21 09:19:53 -05:00
Rosen PenevandGitHub 85c678f587 Use nullptr (#1117)
Found with modernize-use-nullptr

Signed-off-by: Rosen Penev <[email protected]>
2023-08-17 10:36:22 -05:00
Rosen PenevandGitHub 29e88cfe66 Default FileName copy constructor (#1118)
Found with: modernize-use-equals-default

Signed-off-by: Rosen Penev <[email protected]>
2023-08-17 10:33:56 -05:00
Rosen PenevandGitHub 128c55bc53 Remove dead forward declaration (#1121)
Signed-off-by: Rosen Penev <[email protected]>
2023-08-17 10:30:01 -05:00
Rosen PenevandGitHub cf352ac7f4 Move temporary into vector instead of copying (#1115)
more efficient.

Signed-off-by: Rosen Penev <[email protected]>
2023-08-15 19:13:22 -05:00
Rosen PenevandGitHub bbb8221301 Handle self-assignment (#1114)
Found with cert-oop54-cpp

Signed-off-by: Rosen Penev <[email protected]>
2023-08-15 16:58:56 -05:00
Rosen PenevandGitHub f69c21c8e6 Additional none_of conversion (#1113) 2023-08-15 09:21:43 -05:00
Rosen PenevandGitHub 574604765f Use std algorithms (#1107)
Found with: readability-use-anyofallof

Signed-off-by: Rosen Penev <[email protected]>
2023-08-09 12:09:28 -05:00
Rosen PenevandGitHub f2d0e664e7 Add ending namespace comments (#1108)
Found with google-readability-namespace-comments

Signed-off-by: Rosen Penev <[email protected]>
2023-08-07 20:44:11 -05:00
Rosen PenevandGitHub 185bb7042e Use unique_ptr for d-pointers (#1095)
* clang-tidy: make deleted members public

One oversight of modernize-use-equals-delete is that the C++11 way of
doing this is to make it public, which makes the warning still trigger.

Signed-off-by: Rosen Penev <[email protected]>

* clang-tidy: add missing deleted functions

Found with cppcoreguidelines-special-member-functions

Signed-off-by: Rosen Penev <[email protected]>

* unique_ptr conversions

unique_ptr is a safer and cleaner way to handle d pointers.

Also added missing = default.

Signed-off-by: Rosen Penev <[email protected]>

---------

Signed-off-by: Rosen Penev <[email protected]>
2023-08-07 15:08:40 -05:00
Rosen PenevandGitHub 843a8aac80 Replace RefCounter with shared_ptr (#1100)
* clang-tidy: replace RefCounter with shared_ptr

The latter is C++11.

Found with clang-analyzer-webkit.NoUncountedMemberChecker

Signed-off-by: Rosen Penev <[email protected]>

* remove trefcounter

It is now unused.

Signed-off-by: Rosen Penev <[email protected]>

---------

Signed-off-by: Rosen Penev <[email protected]>
2023-08-07 08:40:24 -05:00
Rosen PenevandGitHub dcef356e3f Replace raw buffers with std containers (#1101)
Signed-off-by: Rosen Penev <[email protected]>
2023-08-06 17:46:59 -05:00
Rosen PenevandGitHub 868f4eef3d Various cleanups (#1099)
* cmake: remove atomic checks

All this stuff was replaced with std::atomic

Fixes: 9bcba812af

Signed-off-by: Rosen Penev <[email protected]>

* cmake: remove vsnprintf checks

Available since C++11

Signed-off-by: Rosen Penev <[email protected]>

* clang-tidy: const ref conversions

Signed-off-by: Rosen Penev <[email protected]>

* clang-tidy: handle self assignment

Found with bugprone-unhandled-self-assignment,cert-oop54-cpp

Signed-off-by: Rosen Penev <[email protected]>

* clang-tidy: remove wrong forward declarations

Found with bugprone-forward-declaration-namespace

Signed-off-by: Rosen Penev <[email protected]>

---------

Signed-off-by: Rosen Penev <[email protected]>
2023-08-05 10:31:46 -05:00
Rosen PenevandGitHub c0e9428218 Fix warnings under clang-cl (#1106)
-Wmicrosoft-unqualified-friend
-Wdllexport-explicit-instantiation-decl
-Wunused-parameter

Signed-off-by: Rosen Penev <[email protected]>
2023-08-05 10:07:52 -05:00
Rosen PenevandGitHub bec59b4b7b Convert to range-based for (#1104)
Found with MSVC: warning C4456

Signed-off-by: Rosen Penev <[email protected]>
2023-08-05 10:00:07 -05:00
Rosen PenevandGitHub bd6c3ba174 Use constexpr if (#1103)
Signed-off-by: Rosen Penev <[email protected]>
2023-08-05 09:56:23 -05:00
Rosen PenevandGitHub ee8124ed7a Replace unnecessary loop (#1105)
Signed-off-by: Rosen Penev <[email protected]>
2023-08-05 09:45:32 -05:00
Scott Wheeler 965260e3cb Add a note about how I generated list of classes 2023-07-30 06:55:23 +02:00
Scott Wheeler f903e1ad71 Add checks for the expected sizes of all public classes
This ensures that d-pointers exist where they're expected, and that
classes are virtual that we expect to be virtual, as well as ensuring
that we get a failure if the class size changes when it shouldn't.

This also fixes the issues that were discovered by adding these tests.
2023-07-30 06:31:48 +02:00
Scott Wheeler a1bdb0171d Remove virtual destructors from POD toolkit types
This one's been haunting me for a couple decades.  "Make all the things
virtual!" was kind of a strategy I had for forward compatibility when I
wrote this code when I was 20 or so and didn't know better.
2023-07-30 02:47:00 +02:00
Stephen BoothandGitHub 9bcba812af Use C++11 atomics for RefCounter (#1097) 2023-07-29 06:58:50 +02:00
Max-F-HelmandUrs Fleisch 271bd05afa Improve FrameFactory subclassing
Change the ID3v2 frame factory so it is possible to subclass it for
implementing own frames.  Additionally it splits up the createFrame()
method to make its usage in subclasses a bit more easy.
2023-07-26 07:39:31 +02:00
Urs Fleisch c54c924333 Use static_cast instead of C-style casts 2023-07-22 07:09:58 +02:00
Urs Fleisch d314bfa06a Make sure that own header file is included first
Each header corresponding to a .cpp file must be self-contained,
and can be #included without prerequisites.
2023-07-22 07:09:58 +02:00
Urs Fleisch cc7d23cdf5 Consistently use quote form when including our own headers 2023-07-22 07:09:58 +02:00
Urs Fleisch 2a1fb27735 clang-tidy: Replace C headers with C++ alternatives
run-clang-tidy -header-filter='.*' -checks='-*,modernize-deprecated-headers'

Fixed manually as automatic fix would shuffle headers around.
2023-07-22 07:09:58 +02:00
Urs Fleisch b5516c9718 clang-tidy: Use default function declarations
run-clang-tidy -header-filter='.*' -checks='-*,modernize-use-equals-default' -fix
2023-07-22 07:09:58 +02:00
Urs Fleisch 231772b2ad clang-tidy: Delete unimplemented private constructors
run-clang-tidy -header-filter='.*' -checks='-*,modernize-use-equals-delete' -fix
2023-07-22 07:09:58 +02:00
Urs Fleisch 77ab5e9689 Narrow the scope of iterators
Also make sure that it is visible at first glance that iterators are
not taken from temporaries.
2023-07-22 07:09:58 +02:00
Urs Fleisch c2c9e8989c clang-tidy: Use auto where it improves the readability
run-clang-tidy -header-filter='.*' -checks='-*,modernize-use-auto' \
-config="{CheckOptions: [{key: modernize-use-auto.RemoveStars, value: '1'}]}" \
-fix

Manually fixed some wrong `const auto` replacements and verified
that all types are deduced correctly.
2023-07-22 07:09:58 +02:00
Urs Fleisch 63922f2676 Avoid unnecessary detaching of containers
If only a constant iterator is needed, make the container const if
possible, otherwise use cbegin() and cend() to get a constant iterator
without detaching the container.

These fixes are needed so that `auto` can deduce the correct
iterator type.
2023-07-22 07:09:58 +02:00
Urs Fleisch b273505c28 clang-tidy: static accessed through instance.
run-clang-tidy -header-filter='.*' -checks='-*,readability-static-accessed-through-instance' -fix
2023-07-22 07:09:58 +02:00
Urs Fleisch abc6c31890 clang-tidy: Use nullptr instead of 0
run-clang-tidy -header-filter='.*' -checks='-*,modernize-use-nullptr' -fix
2023-07-22 07:09:58 +02:00
Urs Fleisch 9867bc947e clang-tidy: Use override keyword
run-clang-tidy -header-filter='.*' -checks='-*,modernize-use-override' -fix
2023-07-22 07:09:58 +02:00
e20a53afbb C bindings - properties i/f (#1091)
Support properties in C bindings

---------

Co-authored-by: whatdoineed2do/Ray <[email protected]>
Co-authored-by: Urs Fleisch <[email protected]>
2023-07-09 19:48:27 +02:00
Urs Fleisch ceb142c9bd Remove functions documented (but not marked) as deprecated
Clean up other stuff with comments about binary incompatibility,
but only as far as to mostly keep source compatibility.
2023-07-09 07:01:37 +02:00