freebsd-src/lib/libutil++/freebsd__FILE_up.3
John Baldwin 1595031258 libutil++: Rename manpage source files to avoid colons
To permit checking the sources out on systems such as Windows with
more restrictive file name requirements, rename the manpage source
files to replace colons with underscrores.  Use MANSRC.foo to point
<bsd.man.mk> at the new source file names.

Reviewed by:	ivy
Sponsored by:	Chelsio Communications
Differential Revision:	https://reviews.freebsd.org/D51794
2025-08-26 16:44:38 -04:00

41 lines
861 B
Groff

.\"
.\" SPDX-License-Identifier: BSD-2-Clause
.\"
.\" Copyright (c) 2025 Chelsio Communications, Inc.
.\" Written by: John Baldwin <jhb@FreeBSD.org>
.\"
.Dd July 31, 2025
.Dt FREEBSD::FILE_UP 3
.Os
.Sh NAME
.Nm freebsd::FILE_up
.Nd std::unique_ptr specialization for stdio FILE objects
.Sh LIBRARY
.Lb libutil++
.Sh SYNOPSIS
.In libutil++.hh
.Ft using FILE_up = std::unique_ptr<FILE, fclose_deleter>;
.Sh DESCRIPTION
This class is a specialization of
.Vt std::unique_ptr
for stdio
.Vt FILE
objects.
When a
.Vt FILE
object managed by an instance of this class is disposed,
.Xr fclose 3
is invoked to dispose of the
.Vt FILE
object.
.Sh EXAMPLES
.Bd -literal -offset indent
freebsd::FILE_up fp(fopen("foo.txt", "w"));
if (!fp)
err(1, "fopen");
fprintf(fp.get(), "hello\n");
// `fp' is implicitly closed on destruction
.Ed
.Sh SEE ALSO
.Xr fclose 3 ,
.Xr fopen 3