-
-/** RAII wrapper on FILE* to close files on exceptions */
-struct FileWrapper
-{
- FILE* const f;
- FileWrapper(FILE* file) : f(file) {}
- operator bool() { return f; }
- operator FILE*() { return f; }
- ~FileWrapper()
- {
- if (f)
- fclose(f);
- }
-};
-
-