From b0bd1a0e0a63b69678991183213a2939dcbb3842 Mon Sep 17 00:00:00 2001 From: Alex Guteniev Date: Fri, 23 Jan 2026 19:32:45 +0200 Subject: [PATCH] : comment on FILE* ownership --- stl/inc/__msvc_filebuf.hpp | 2 +- stl/inc/fstream | 9 ++++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/stl/inc/__msvc_filebuf.hpp b/stl/inc/__msvc_filebuf.hpp index 009265e0a19..fd6069db015 100644 --- a/stl/inc/__msvc_filebuf.hpp +++ b/stl/inc/__msvc_filebuf.hpp @@ -138,7 +138,7 @@ class basic_filebuf : public basic_streambuf<_Elem, _Traits> { // stream buffer _Init(nullptr, _Newfl); } - explicit basic_filebuf(FILE* const _File) : _Mysb() { // extension + explicit basic_filebuf(FILE* const _File) : _Mysb() { // extension, no ownership taking _Init(_File, _Newfl); } diff --git a/stl/inc/fstream b/stl/inc/fstream index cbae7586dbc..35d48b24fe2 100644 --- a/stl/inc/fstream +++ b/stl/inc/fstream @@ -61,7 +61,8 @@ public: : basic_ifstream(_Path.c_str(), _Mode, _Prot) {} // _Prot is an extension #endif // _HAS_CXX17 - explicit basic_ifstream(FILE* _File) : _Mybase(_STD addressof(_Filebuffer)), _Filebuffer(_File) {} // extension + explicit basic_ifstream(FILE* _File) + : _Mybase(_STD addressof(_Filebuffer)), _Filebuffer(_File) {} // extension, no ownership taking basic_ifstream(basic_ifstream&& _Right) : _Mybase(_STD addressof(_Filebuffer)) { _Assign_rv(_STD move(_Right)); @@ -207,7 +208,8 @@ public: : basic_ofstream(_Path.c_str(), _Mode, _Prot) {} // _Prot is an extension #endif // _HAS_CXX17 - explicit basic_ofstream(FILE* _File) : _Mybase(_STD addressof(_Filebuffer)), _Filebuffer(_File) {} // extension + explicit basic_ofstream(FILE* _File) + : _Mybase(_STD addressof(_Filebuffer)), _Filebuffer(_File) {} // extension, no ownership taking basic_ofstream(basic_ofstream&& _Right) : _Mybase(_STD addressof(_Filebuffer)) { _Assign_rv(_STD move(_Right)); @@ -358,7 +360,8 @@ public: : basic_fstream(_Path.c_str(), _Mode, _Prot) {} // _Prot is an extension #endif // _HAS_CXX17 - explicit basic_fstream(FILE* _File) : _Mybase(_STD addressof(_Filebuffer)), _Filebuffer(_File) {} // extension + explicit basic_fstream(FILE* _File) + : _Mybase(_STD addressof(_Filebuffer)), _Filebuffer(_File) {} // extension, no ownership taking basic_fstream(basic_fstream&& _Right) : _Mybase(_STD addressof(_Filebuffer)) { _Assign_rv(_STD move(_Right));