#include <file.h>
FileDeleter is the deleter class for std::unique_ptr of std::FILE.
std::unique_ptr takes a second template argument which determines what happens when the resource it holds needs to be freed. The default implementation calls delete. For std::FILE the resource needs to be freed with a call to std::fclose instead. Therefore FilePtr requires a custom deleter class to correctly free the resource.
Public Member Functions | |
| constexpr | FileDeleter ()=default |
| The class has no members, so this is a noop. More... | |
| void | operator() (std::FILE *f) const |
| Frees the std::FILE resource if it is non-zero. More... | |
|
constexprdefault |
The class has no members, so this is a noop.
|
inline |
Frees the std::FILE resource if it is non-zero.
| [in] | f | File resource. |
| runtime_error | if the file could not get closed. |