]> git.tdb.fi Git - libs/core.git/commitdiff
Hide the delegating constructor of ZlibCompressed in the .cpp file
authorMikko Rasa <tdb@tdb.fi>
Wed, 6 Sep 2023 22:02:15 +0000 (01:02 +0300)
committerMikko Rasa <tdb@tdb.fi>
Wed, 6 Sep 2023 22:02:15 +0000 (01:02 +0300)
MSVC has trouble with exporting the vftable if the main constructor is
in a .cpp file but the delegating one is not.

source/io/zlibcompressed.cpp
source/io/zlibcompressed.h

index 8896f147bf6b1ecb038e7739a275a4a7c5732a96..23922e6f9fdcf1a33ced89f8cb27816d8672d977 100644 (file)
@@ -38,6 +38,10 @@ ZlibCompressed::Private::Private()
 }
 
 
+ZlibCompressed::ZlibCompressed(Base &b, unsigned level):
+       ZlibCompressed(b, b.get_mode()&M_RDWR, level)
+{ }
+
 ZlibCompressed::ZlibCompressed(Base &b, Mode m, unsigned level):
        below(b)
 {
index 1dc15697fc3e59089ac745fe16aa42a5aaff8094..a36be540c7f6f362102e95dee1fb09082d89486c 100644 (file)
@@ -44,7 +44,7 @@ public:
        /** Creates a zlib de/compression object.  The underlying object must be
        open for reading or writing, not both.  The level parameter determines
        compression quality, ranging from 1 (fastest) to 9 (best compression). */
-       ZlibCompressed(Base &b, unsigned level = 9): ZlibCompressed(b, b.get_mode()&M_RDWR, level) { }
+       ZlibCompressed(Base &, unsigned level = 9);
 
        /** Creates a zlib de/compression object.  Mode must be either read or
        write, and compatible with the underlying object. */