# FBB::IFdStream(3bobcat)

## File Descriptor Input Stream
(libbobcat-dev_6.02.02)

## 2005-2022

## NAME

FBB::Ifdstream - Input Stream initialized by a File Descriptor

## SYNOPSIS

#include <bobcat/ifdstream>

## DESCRIPTION

FBB::IFdStream objects may be used to extract information from a device whose file descriptor is available.

File descriptors are not defined within the context of C++, but they can be used on operating systems that support the concept. Realize that using file descriptors introduces operating system dependencies.

Note that sockets can be used as file descriptors.

## NAMESPACE

FBB
All constructors, members, operators and manipulators, mentioned in this man-page, are defined in the namespace FBB.

## INHERITS FROM

std::istream

## CONSTRUCTORS

- IFdStream(int fd, size_t n = 1):
  The constructor initializes the object to read from descriptor fd, using a buffer of size n, by default having size 1.

Copy and move constructors (and assignment operators) are not available.

## MEMBER FUNCTIONS

All members of std::istream are available, as FBB::IFdStream inherits from this class. There are no additional members.

## EXAMPLE

See the clientsocket(3bobcat) man-page for an example showing how to use IFdStream.

## FILES

bobcat/ifdstream - defines the class interface

## SEE ALSO

bobcat(7), ifdbuf(3bobcat), ofdstream(3bobcat)

## BUGS

The IFdStream object uses a IFdStreamBuf for its std::streambuf. This buffer is associated with the file descriptor passed to IFdStream's constructor. When the IFdStream object goes out of scope the device (file, socket, etc.) to which the file descriptor that was passed to IFdStream's constructor is not closed.

## BOBCAT PROJECT FILES

- https://fbb-git.gitlab.io/bobcat/: gitlab project page;
- bobcat_6.02.02-x.dsc: detached signature;
- bobcat_6.02.02-x.tar.gz: source archive;
- bobcat_6.02.02-x_i386.changes: change log;
- libbobcat1_6.02.02-x_*.deb: debian package containing the libraries;
- libbobcat1-dev_6.02.02-x_*.deb: debian package containing the libraries, headers and manual pages;

## BOBCAT

Bobcat is an acronym of `Brokken's Own Base Classes And Templates'.

## COPYRIGHT

This is free software, distributed under the terms of the GNU General Public License (GPL).

## AUTHOR

Frank B. Brokken (f.b.brokken@rug.nl).