Force the FreeImage, FreeImageLib and FreeImagePlus projects, and the Test and fipTest solutions, to be compiled with C++17 language semantics when using VS2017.
Use unique_ptr<> to replace auto_ptr<>
unique_ptr<> requires that ...
stream_ptr = buf_ptr;
be expressed as ...
stream_ptr.reset(buf_ptr.release());
in situations where stream_ptr is a std::streambuf and buf_ptr is a std::filebuf. Note: this is only within the LibRaw sub-project (which is never (?) actually used the WinMerge or WinIMerge projects).
register is eliminated; it has been "meaningless" for a very-very long time.
throw as a function declarator has been deprecated since C++11, in favor of the newer noexcept syntax. Both forms have been acceptable in C++14, but C++17 no longer accepts the old throw declarator. These are now all fixed OpenEXR sub-project
The FreeImage, FreeImageLib and FreeImagePlus continue to compile correctly with VS2015. The Test and fipTest continue to compile and execute correctly with VS2015.
Force the FreeImage, FreeImageLib and FreeImagePlus projects, and the Test and fipTest solutions, to be compiled with C++17 language semantics when using VS2017.
Use
unique_ptr<>
to replaceauto_ptr<>
unique_ptr<>
requires that ...stream_ptr = buf_ptr;
be expressed as ...stream_ptr.reset(buf_ptr.release());
in situations wherestream_ptr
is astd::streambuf
andbuf_ptr
is astd::filebuf
. Note: this is only within the LibRaw sub-project (which is never (?) actually used the WinMerge or WinIMerge projects).register
is eliminated; it has been "meaningless" for a very-very long time.throw
as a function declarator has been deprecated since C++11, in favor of the newernoexcept
syntax. Both forms have been acceptable in C++14, but C++17 no longer accepts the oldthrow
declarator. These are now all fixed OpenEXR sub-project