Boost
C++ Libraries
...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
This is an older version of Boost and was released in 2023. The current version is 1.89.0.
The header <boost/core/fclose_deleter.hpp>
defines the boost::fclose_deleter function object, which can
be used as a deleter with smart pointers such as unique_ptr
or shared_ptr pointing to
std::FILE. structures returned by std::fopen
calls. The deleter calls std::fclose
on the passed pointer, causing the file stream to be flushed and closed.
std::unique_ptr< std::FILE, boost::fclose_deleter > make_file(const char* filename, const char* open_mode) { return { std::fopen(filename, open_mode) }; }