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.
This commit is contained in:
Scott Wheeler
2023-07-30 06:31:48 +02:00
parent a1bdb0171d
commit f903e1ad71
13 changed files with 335 additions and 28 deletions
+6
View File
@@ -110,6 +110,9 @@ namespace TagLib {
bool readAudioProperties = true,
AudioProperties::ReadStyle
audioPropertiesStyle = AudioProperties::Average) const = 0;
private:
class FileTypeResolverPrivate;
FileTypeResolverPrivate *d;
};
class TAGLIB_EXPORT StreamTypeResolver : public FileTypeResolver
@@ -124,6 +127,9 @@ namespace TagLib {
bool readAudioProperties = true,
AudioProperties::ReadStyle
audioPropertiesStyle = AudioProperties::Average) const = 0;
private:
class StreamTypeResolverPrivate;
StreamTypeResolverPrivate *d;
};
/*!