Rosen Penev and GitHub
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 Penev and GitHub
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 Penev and GitHub
528b84fbde
size() to isEmpty() ( #1131 )
...
Signed-off-by: Rosen Penev <[email protected] >
2023-09-06 21:23:28 +02:00
Rosen Penev and GitHub
912897cd35
simplify boolean expressions ( #1130 )
...
Signed-off-by: Rosen Penev <[email protected] >
2023-09-06 21:16:59 +02:00
Rosen Penev and GitHub
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 Fleisch and GitHub
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 Penev and GitHub
303b55fb97
clang-tidy: ending namespace comment ( #1132 )
...
Signed-off-by: Rosen Penev <[email protected] >
2023-09-03 21:39:49 -05:00
Rosen Penev and GitHub
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 Penev and GitHub
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 Penev and GitHub
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 Penev and GitHub
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 Penev and GitHub
4a86489186
clang-tidy: no else after return ( #1119 )
...
Signed-off-by: Rosen Penev <[email protected] >
2023-08-21 09:19:53 -05:00
Rosen Penev and GitHub
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 Penev and GitHub
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 Penev and GitHub
128c55bc53
Remove dead forward declaration ( #1121 )
...
Signed-off-by: Rosen Penev <[email protected] >
2023-08-17 10:30:01 -05:00
Rosen Penev and GitHub
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 Penev and GitHub
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 Penev and GitHub
f69c21c8e6
Additional none_of conversion ( #1113 )
2023-08-15 09:21:43 -05:00
Rosen Penev and GitHub
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 Penev and GitHub
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 Penev and GitHub
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 Penev and GitHub
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 Penev and GitHub
dcef356e3f
Replace raw buffers with std containers ( #1101 )
...
Signed-off-by: Rosen Penev <[email protected] >
2023-08-06 17:46:59 -05:00
Rosen Penev and GitHub
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 Penev and GitHub
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 Penev and GitHub
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 Penev and GitHub
bd6c3ba174
Use constexpr if ( #1103 )
...
Signed-off-by: Rosen Penev <[email protected] >
2023-08-05 09:56:23 -05:00
Rosen Penev and GitHub
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 Booth and GitHub
9bcba812af
Use C++11 atomics for RefCounter ( #1097 )
2023-07-29 06:58:50 +02:00
Max-F-Helm and Urs 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