.TH "FBB::IFdStream" "3bobcat" "2005\-2023" "libbobcat\-dev_6\&.04\&.00" "File Descriptor Input Stream" .PP .SH "NAME" FBB::Ifdstream \- Input Stream initialized by a File Descriptor .PP .SH "SYNOPSIS" \fB#include \fP (when using \fBFBB::IFdStream\fP .br \fB#include \fP (when using \fBFBB::IFdStreamS\fP .PP Linking option: \fI\-lbobcat\fP .PP .SH "DESCRIPTION" \fBFBB::IFdStream\fP objects are used to extract information from devices whose file descriptors are available\&. .PP \fBFBB::IFdStreamS\fP objects operate like \fBFBB::IFdStream\fP objects but use \fBFBB::Selector\fP objects to check whether information on the object\(cq\&s file descriptor is available before reading information from the file descriptor\&. .PP File descriptors are not defined within the context of \fBC++\fP, but they can be used on operating systems that support the concept\&. Realize that using file descriptors introduces operating system dependencies\&. .PP Note that \fIsockets\fP can be used as file descriptors\&. .PP .SH "NAMESPACE" \fBFBB\fP .br All constructors, members, operators and manipulators, mentioned in this man\-page, are defined in the namespace \fBFBB\fP\&. .PP .SH "INHERITS FROM" \fBstd::istream\fP .PP .SH "CONSTRUCTORS" .IP o \fBIFdStream(int fd, size_t n = 1)\fP: .br The constructor initializes the object to read from descriptor \fIfd\fP, using a buffer of size \fIn\fP, by default having size 1\&. .br Use \fBIFdStreamS\fP(int fd, size_t n = 1) to construct an \fIIFdStreamS\fP object\&. .PP Copy and move constructors (and assignment operators) are not available\&. .PP .SH "MEMBER FUNCTIONS" All members of \fBstd::istream\fP are available, as \fBFBB::IFdStream(S)\fP inherits from this class\&. There are no additional members\&. .PP .SH "EXAMPLE" See the \fBclientsocket\fP(3bobcat) man\-page for an example showing how to use \fIIFdStream\fP\&. .PP .SH "FILES" \fIbobcat/ifdstream\fP \- defines the \fBFBB::IFdStream\fP class interface .br \fIbobcat/ifdstreams\fP \- defines the \fBFBB::IFdStreamS\fP class interface .PP .SH "SEE ALSO" \fBbobcat\fP(7), \fBifdbuf\fP(3bobcat), \fBofdstream\fP(3bobcat), \fBselector\fP(3bobcat) .PP .SH "BUGS" The \fIIFdStream(S)\fP object uses an \fIIFdBuf(S)\fP for its \fIstd::streambuf\fP\&. This buffer is associated with the file descriptor passed to \fIIFdStream(S)\fP\(cq\&s constructor\&. When the \fIIFdStream(S)\fP object goes out of scope the device (file, socket, etc\&.) to which the file descriptor that was passed to \fIIFdStream(S)\fP\(cq\&s constructor is \fInot\fP closed\&. .PP .SH "BOBCAT PROJECT FILES" .PP .IP o \fIhttps://fbb\-git\&.gitlab\&.io/bobcat/\fP: gitlab project page; .IP o \fIbobcat_6\&.04\&.00\-x\&.dsc\fP: detached signature; .IP o \fIbobcat_6\&.04\&.00\-x\&.tar\&.gz\fP: source archive; .IP o \fIbobcat_6\&.04\&.00\-x_i386\&.changes\fP: change log; .IP o \fIlibbobcat1_6\&.04\&.00\-x_*\&.deb\fP: debian package containing the libraries; .IP o \fIlibbobcat1\-dev_6\&.04\&.00\-x_*\&.deb\fP: debian package containing the libraries, headers and manual pages; .PP .SH "BOBCAT" Bobcat is an acronym of `Brokken\(cq\&s Own Base Classes And Templates\(cq\&\&. .PP .SH "COPYRIGHT" This is free software, distributed under the terms of the GNU General Public License (GPL)\&. .PP .SH "AUTHOR" Frank B\&. Brokken (\fBf\&.b\&.brokken@rug\&.nl\fP)\&. .PP