diff options
Diffstat (limited to 'butl/fdstream.ixx')
-rw-r--r-- | butl/fdstream.ixx | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/butl/fdstream.ixx b/butl/fdstream.ixx index 0d3d098..884d190 100644 --- a/butl/fdstream.ixx +++ b/butl/fdstream.ixx @@ -30,6 +30,14 @@ namespace butl reset (); } + // fdbuf + // + inline auto_fd fdbuf:: + release () + { + return std::move (fd_); + } + // ifdstream // inline ifdstream:: @@ -104,6 +112,12 @@ namespace butl open (f.string (), m); } + inline auto_fd ifdstream:: + release () + { + return buf_.release (); + } + // ofdstream // inline ofdstream:: @@ -176,6 +190,15 @@ namespace butl open (f.string (), m); } + inline auto_fd ofdstream:: + release () + { + if (is_open ()) + flush (); + + return buf_.release (); + } + // fdopen() // inline auto_fd |