FBB::IFdStream(3bobcat)

File Descriptor Input Stream
(libbobcat-dev_6.04.00)

2005-2023

NAME

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

SYNOPSIS

#include <bobcat/ifdstream> (when using FBB::IFdStream
#include <bobcat/ifdstreams> (when using FBB::IFdStreamS

Linking option: -lbobcat

DESCRIPTION

FBB::IFdStream objects are used to extract information from devices whose file descriptors are available.

FBB::IFdStreamS objects operate like FBB::IFdStream objects but use FBB::Selector objects to check whether information on the object's file descriptor is available before reading information from the file descriptor.

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

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

MEMBER FUNCTIONS

All members of std::istream are available, as FBB::IFdStream(S) 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 FBB::IFdStream class interface
bobcat/ifdstreams - defines the FBB::IFdStreamS class interface

SEE ALSO

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

BUGS

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

BOBCAT PROJECT FILES

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).