Bobcat(7) C++ Classes Bobcat(7)NAME
Bobcat - Overview of classes in the Bobcat library
DESCRIPTION
The classes of the Bobcat library may be used after including bob‐
cat/classname in sources.
Generally, programs using the Bobcat library must be at least linked
against the Bobcat library. Refer to section LINKING for more infor‐
matin about linking programs to required libraries.
All classes and other elements are defined in the FBB namespace. For
some classes manipulators are available, which are defined in the FBB
namespace. An overview of all manipulators defined in the FBB namespace
is provided by man -ebobcat manipulators.
Beyond this section the section CATEGORIES groups classes that somehow
belong together in various categories.
The following classes and functions are available:
FBB::Align: Specifies Table(Buf) column and element alignments.
(Manpage: man -ebobcat align)
FBB::Arg: Interfaces the command line arguments, allowing for short-
and long options. The class is implemented as a Singleton.
(Manpage: man -ebobcat arg)
FBB::ArgConfig: Inherits from Arg and ConfigFile allowing for options
to be specified as command line options and/or configuration file
options. The class is implemented as a Singleton.
(Manpage: man -ebobcat argconfig)
FBB::A2x: Ascii-to-x conversions of any type supporting extractions
from i[string]stream objects. (Manpage: man -ebobcat a2x)
FBB::BigInt: Wrapper class around the openssl BN_ functions for unlim‐
ited integer precision arithmetic.
(Manpage: man -ebobcat bigint)
FBB::binary_search: A modification of the STL binary_search algorithm
returning the location of the searched value in a sorted series of val‐
ues.
(Manpage: man -ebobcat binarysearch)
FBB::BinOps: A series of function templates implementing binary opera‐
tors for classes that implement the matching binary assignment opera‐
tors themselves.
(Manpage: man -ebobcat binops)
FBB::CGI: a class implementing the facilities accessing the data made
available through the Common Gateway Interface.
(Manpage: man -ebobcat cgi)
FBB::Cidr: a class testing whether IP4 Internet addresses belong to
address ranges defined by Classless Inter-Domain Routing (CIDR) address
block specifications.
(Manpage: man -ebobcat cidr)
FBB::ClientSocket: a socket for tcp-communication with a server.
(Manpage: man -ebobcat clientsocket)
FBB::CmdFinder: Command-function associations.
(Manpage: man -ebobcat cmdfinder)
FBB::CmdFinderBase: Base class for CmdFinder.
(Manpage: man -ebobcat cmdfinderbase)
FBB::ConfigFile: Processing standard configuration files.
(Manpage: man -ebobcat configfile)
FBB::CSV: Objects of this class allow easy handling of comma-separated
values.
(Manpage: man -ebobcat csv)
FBB::DateTime: Manipulations with date and time values.
(Manpage: man -ebobcat datetime)
FBB::DecryptBuf: Decrypting information.
(Manpage: man -ebobcat decryptbuf)
FBB::DiffieHellman: Computing shared keys using the Diffie-Hellman
algorithm.
(Manpage: man -ebobcat diffiehellman)
FBB::DigestBuf: Computing message digests.
(Manpage: man -ebobcat digestbuf)
FBB::EncryptBuf: Encrypting information.
(Manpage: man -ebobcat encryptbuf)
FBB::Exception: objects of this class accept ostream insertions, and
are also std::exception objects.
(Manpage: man -ebobcat exception)
FBB::Fork: Defines fork(2) as part of a Template Algorithm Design Pat‐
tern.
(Manpage: man -ebobcat fork)
FBB::GetHostent: Obtains hostent struct from hostname or -address.
(Manpage: man -ebobcat gethostent)
FBB::Glob: Obtain a list of files matching a certain pattern.
(Manpage: man -ebobcat glob)
FBB::HmacBuf: Computing HMAC message digests.
(Manpage: man -ebobcat hmacbuf)
FBB::Hostname: Derived from Hostent, allows the initialization from a
std::string, or from an FBB::InetAddrress.
(Manpage: man -ebobcat hostname)
FBB::IBase64Stream: stream implementing base64 encoding and decoding,
using a FBB::Base64Streambuf stream buffer.
(Manpage: man -ebobcat ibase64stream)
FBB::IBase64Streambuf: FBB::IFilterStreambuf specialization implement‐
ing base64 encoding and decoding.
(Manpage: man -ebobcat ibase64streambuf)
FBB::IFdStream: stream extracting information from a device whose file
descriptor is available.
(Manpage: man -ebobcat ifdstream)
FBB::IFdStreambuf: Input stream buffer initialized by a file descrip‐
tor.
(Manpage: man -ebobcat ifdstreambuf)
FBB::IFilterStreambuf: std::streambuf specialization implementing an
std::istream filtering design pattern.
(Manpage: man -ebobcat ifilterstreambuf)
FBB::Indent: Class and manipulators performing text indentation.
(Manpage: man -ebobcat indent)
FBB::InetAddress: Base class (no public constructor) for objects repre‐
senting an internet address as used with sockets. Contains address and
portnumbers.
(Manpage: man -ebobcat inetaddress)
FBB::IOStream: class combining std::istream and std::ostream features.
(Manpage: man -ebobcat iostream)
FBB::IOStreambuf: std::streambuf specialization allowing combined input
and output operations.
(Manpage: man -ebobcat iostreambuf)
FBB::ISharedStream: std::istream operations on shared memory.
(Manpage: man -ebobcat isharedstream)
FBB::IRandStream: stream to extract random numbers from.
(Manpage: man -ebobcat irandstream)
FBB::ISymCryptStream: stream implementing symmetric encryption and
decryption, using a FBB::ISymCryptStreambuf stream buffer.
(Manpage: man -ebobcat isymcryptstream)
FBB::ISymCryptStreambuf: FBB::IFilterStreambuf specialization imple‐
menting symmetric cryptography.
(Manpage: man -ebobcat isymcryptstreambuf)
FBB::Iterator: a class template creating a bidirectional iterator
returning values of a specified type.
(Manpage: man -ebobcat iterator)
FBB::Hash...: Various class templates implementing mapping containers
using hashing.
(Manpage: man -ebobcat hash)
FBB::Hostent: Wrapper around the hostent struct.
(Manpage: man -ebobcat hostent)
FBB::level: Manipulator setting the log-level of FBB::Log objects.
(Manpage: man -ebobcat level)
FBB::LinearMap: a class template container implementing a map using a
linear search algorithm.
(Manpage: man -ebobcat linearmap)
FBB::lm: Manipulator setting the left margin of FBB::OFoldStream
objects.
(Manpage: man -ebobcat lm)
FBB::LocalClientSocket: a Unix domain socket for tcp-communication with
a Unix domain (local) server.
(Manpage: man -ebobcat localclientsocket)
FBB::LocalServerSocket: defines a Unix domain socket to which clients
on the local host can connect.
(Manpage: man -ebobcat localserversocket)
FBB::LocalSocketBase: Base class for LocalClientSocket and LocalServer‐
Socket.
(Manpage: man -ebobcat localsocketbase)
FBB::Log: std::ostream handling log messages.
(Manpage: man -ebobcat log)
FBB::LogBuffer: std::streambuf handling log messages.
(Manpage: man -ebobcat logbuffer)
FBB::MailHeaders: extracts mail headers from SMTP-email.
(Manpage: man -ebobcat mailheaders)
FBB::Manipulators: manipulators defined in the namespace FBB.
(Manpage: man -ebobcat manipulators)
FBB::Mbuf: std::streambuf specialization for inserting messages, mainly
used by FBB::Mstream objects.
(Manpage: man -ebobcat mbuf)
FBB::Milter: interfaces the sendmail mail filter facilities.
(Manpage: man -ebobcat milter)
FBB::mlm: Manipulator modifying the left margin of FBB::OFoldStream
objects.
(Manpage: man -ebobcat mlm)
FBB::Mstream: Inserts messages into streams.
(Manpage: man -ebobcat mstream)
FBB::MultiStreambuf: std::streambuf specializations performing inser‐
tions to multiple std::ostream objects.
(Manpage: man -ebobcat multistreambuf)
FBB::OFdStream: stream inserting information into a device whose file
descriptor is available.
(Manpage: man -ebobcat ofdstream)
FBB::OFdStreambuf: Output stream buffer initialized by a file descrip‐
tor.
(Manpage: man -ebobcat ofdstreambuf)
FBB::OFilterStreambuf: std::streambuf specialization implementing an
std::ostream filtering design pattern.
(Manpage: man -ebobcat ofilterstreambuf)
FBB::OFoldStream: std::ostream using an OFoldStreambuf as its stream‐
buf.
(Manpage: man -ebobcat ofoldstream)
FBB::OFoldStreambuf: OFilterStreambuf (std::streambuf) specialization
folding text lines between left and right margins.
(Manpage: man -ebobcat ofoldstreambuf)
FBB::OHexStreambuf: OHexStreambuf (std::streambuf) specialization
inserting characters into a stream by their hex values.
(Manpage: man -ebobcat ohexstreambuf)
FBB::OneKey: Single keystroke input, not requiring `Return’.
(Manpage: man -ebobcat onekey)
FBB::OSharedStream: std::ostream operations on shared memory.
(Manpage: man -ebobcat osharedstream)
FBB::Pattern: Regular expression pattern matching.
(Manpage: man -ebobcat pattern)
FBB::Pipe: Defines a system level pipe.
(Manpage: man -ebobcat pipe)
FBB::PrimeFactors: Prime-number factorization of (BigInt) values.
(Manpage: man -ebobcat primefactors)
FBB::Process: Runs child processes, defining pipes between parents and
child processes.
(Manpage: man -ebobcat process)
FBB::PtrIter: Input iterator whose dereferenced value returns a pointer
rather than a reference to an element. Also offers: a ptrIter function
template.
(Manpage: man -ebobcat ptriter)
FBB::Randbuffer: implements a streambuf generating random numbers.
(Manpage: man -ebobcat randbuffer)
FBB::Ranger: a class template creating ranges that are accepted by
range-based for-loops. Also offered: a ranger function template.
(Manpage: man -ebobcat ranger)
FBB::ReadLineBuf: implements a streambuf using the Gnu readline library
to allow editing an std::istream’s contents.
(Manpage: man -ebobcat readlinebuf)
FBB::ReadLineHistory: provides access to the history of lines read from
a ReadLineBuf.
(Manpage: man -ebobcat readlinehistory)
FBB::ReadLineStream: std::istream class using a ReadLineBuf for its
std::streambuf.
(Manpage: man -ebobcat readlinestream)
FBB::Redirector: Defines system level file redirection.
(Manpage: man -ebobcat redirector)
FBB::repeat: Two short extensions of the STL for_each generic algo‐
rithm.
(Manpage: man -ebobcat repeat)
FBB::ReverseIterator: a class template creating a bidirectional reverse
iterator returning values of a specified type.
(Manpage: man -ebobcat reverseiterator)
FBB::Selector: Offers timed delays and multiple file I/O.
(Manpage: man -ebobcat selector)
FBB::Semaphore: Dijkstra’s (1962) Semaphore data type.
(Manpage: man -ebobcat semaphore)
FBB::ServerSocket: defines a socket to which clients can connect.
(Manpage: man -ebobcat serversocket)
FBB::SharedBlock: Shared memory data block info.
(Manpage: man -ebobcat sharedblock)
FBB::SharedCondition: Shared memory condition variable.
(Manpage: man -ebobcat sharedcondition)
FBB::SharedMemory: Shared memory structure.
(Manpage: man -ebobcat sharedmemory)
FBB::SharedMutex: Mutex for shared memory.
(Manpage: man -ebobcat sharedmutex)
FBB::SharedPos: Shared Memory offset controller.
(Manpage: man -ebobcat sharedpos)
FBB::SharedReadme: Background info about the implementation of Bob‐
cat’s Shared Memory.
(Manpage: man -ebobcat sharedreadme)
FBB::SharedSegment: Shared memory data structure.
(Manpage: man -ebobcat sharedsegment)
FBB::SharedStream: I/O operations on shared memory.
(Manpage: man -ebobcat sharedstream)
FBB::SharedStreambuf: std::streambuf interfacing to shared memory.
(Manpage: man -ebobcat sharedstreambuf)
FBB::Signal: Defines signals, allowing signal handlers to use object’s
data members c.q. to call object’s members functions.
(Manpage: man -ebobcat signal)
FBB::SocketBase: Base class for ClientSocket and ServerSocket.
(Manpage: man -ebobcat socketbase)
FBB::Stat: Determines file characteristics.
(Manpage: man -ebobcat stat)
FBB::String: Offers extended std::string functionality.
(Manpage: man -ebobcat string)
FBB::StringLine: Offers operator>> extracting lines from std::istream
objects.
(Manpage: man -ebobcat stringline)
FBB::Syslogbuf: streambuf to Buffer generating syslog(3) messages.
(Manpage: man -ebobcat syslogbuf)
FBB::SyslogStream: stream to Output stream inserting syslog(3) mes‐
sages.
(Manpage: man -ebobcat syslogstream)
FBB::fswap: templates implementing memory bytes based swap functional‐
ity
(Manpage: man -ebobcat fswap)
FBB::Table: Display tables row- or column-wise.
(Manpage: man -ebobcat table)
FBB::TableBuf: Display tables row- or column-wise.
(Manpage: man -ebobcat tablebuf)
FBB::TableLines: Support class for the class Table(Buf).
(Manpage: man -ebobcat tablelines)
FBB::TableSupport: Support class for the class Table(Buf).
(Manpage: man -ebobcat tablesupport)
FBB::TempStream: Temporary fstream.
(Manpage: man -ebobcat tempstream)
FBB::Tty: Controls echoing of characters entered at the terminal.
(Manpage: man -ebobcat tty)
FBB::TypeTrait: Traits class template to determine various characteris‐
tics of types.
(Manpage: man -ebobcat typetrait)
FBB::User: Determines the current user’s parameters from /etc/passwd.
(Manpage: man -ebobcat user)
FBB::Xpointer: sets and retrieves the X-windows pointer.
(Manpage: man -ebobcat xpointer)
FBB::X2a: x-to-Ascii conversions of any type supporting insertions into
o[string]stream objects.
(Manpage: man -ebobcat x2a)
CATEGORIES
This section groups classes that somehow belong together. The following
categories are offered:
o COMMAND LINE INTERFACE AND CONFIGURATION FILES
o CONVERSIONS
o DATE AND TIME
o ERRORS AND MESSAGE HANDLING
o GENERIC ALGORITHM EXTENSIONS
o INTERNET / NETWORKING
o OPENSSL AND ENCRYPTION
o PATTERN MATCHING
o PROCESSES, SIGNALS, THREADS
o STREAMS AND FILES
o SHARED MEMORY
o TABLES
o VARIOUS TEMPLATES
o VARIOUS OTHER CLASSES
o DEPRECATED CLASSES
o COMMAND LINE INTERFACE AND CONFIGURATION FILES
FBB::Arg: Interfaces the command line arguments, allowing for
short- and long options. The class is implemented as a Single‐
ton.
(Manpage: man -ebobcat arg)
FBB::ArgConfig: Inherits from Arg and ConfigFile allowing for
options to be specified as command line options and/or configu‐
ration file options. The class is implemented as a Singleton.
(Manpage: man -ebobcat argconfig)
FBB::CmdFinder: Command-function associations.
(Manpage: man -ebobcat cmdfinder)
FBB::CmdFinderBase: Base class for CmdFinder.
(Manpage: man -ebobcat cmdfinderbase)
FBB::ConfigFile: Processing standard configuration files.
(Manpage: man -ebobcat configfile)
o CONVERSIONS
FBB::A2x: Ascii-to-x conversions of any type supporting extrac‐
tions from i[string]stream objects. (Manpage: man -ebobcat
a2x)
FBB::BigInt: Wrapper class around the openssl BN_ functions for
unlimited integer precision arithmetic.
(Manpage: man -ebobcat bigint)
FBB::CSV: Objects of this class allow easy handling of
comma-separated values.
(Manpage: man -ebobcat csv)
FBB::IBase64Stream: stream implementing base64 encoding and
decoding, using a FBB::Base64Streambuf stream buffer.
(Manpage: man -ebobcat ibase64stream)
FBB::IBase64Streambuf: FBB::IFilterStreambuf specialization
implementing base64 encoding and decoding.
(Manpage: man -ebobcat ibase64streambuf)
FBB::X2a: x-to-Ascii conversions of any type supporting inser‐
tions into o[string]stream objects.
(Manpage: man -ebobcat x2a)
o DATE AND TIME
FBB::DateTime: Manipulations with date and time values.
(Manpage: man -ebobcat datetime)
o ERRORS AND MESSAGE HANDLING
FBB::Exception: objects of this class accept ostream insertions,
and are also std::exception objects.
(Manpage: man -ebobcat exception)
FBB::level: Manipulator setting the log-level of FBB::Log
objects.
(Manpage: man -ebobcat level)
FBB::Log: std::ostream handling log messages.
(Manpage: man -ebobcat log)
FBB::LogBuffer: std::streambuf handling log messages.
(Manpage: man -ebobcat logbuffer)
FBB::Syslogbuf: streambuf to Buffer generating syslog(3) mes‐
sages.
(Manpage: man -ebobcat syslogbuf)
FBB::SyslogStream: stream to Output stream inserting syslog(3)
messages.
(Manpage: man -ebobcat syslogstream)
o GENERIC ALGORITHM EXTENSIONS
FBB::binary_search: A modification of the STL binary_search
algorithm returning the location of the searched value in a
sorted series of values.
(Manpage: man -ebobcat binarysearch)
FBB::LinearMap: a class template container implementing a map
using a linear search algorithm.
(Manpage: man -ebobcat linearmap)
FBB::repeat: Two short extensions of the STL for_each generic
algorithm.
(Manpage: man -ebobcat repeat)
o INTERNET / NETWORKING
FBB::CGI: a class implementing the facilities accessing the data
made available through the Common Gateway Interface.
(Manpage: man -ebobcat cgi)
FBB::Cidr: a class testing whether IP4 Internet addresses belong
to address ranges defined by Classless Inter-Domain Routing
(CIDR) address block specifications.
(Manpage: man -ebobcat cidr)
FBB::ClientSocket: a socket for tcp-communication with a server.
(Manpage: man -ebobcat clientsocket)
FBB::GetHostent: Obtains hostent struct from hostname or
-address.
(Manpage: man -ebobcat gethostent)
FBB::Hostname: Derived from Hostent, allows the initialization
from a std::string, or from an FBB::InetAddrress.
(Manpage: man -ebobcat hostname)
FBB::InetAddress: Base class (no public constructor) for objects
representing an internet address as used with sockets. Contains
address and portnumbers.
(Manpage: man -ebobcat inetaddress)
FBB::Hostent: Wrapper around the hostent struct.
(Manpage: man -ebobcat hostent)
FBB::LocalClientSocket: a Unix domain socket for tcp-communica‐
tion with a Unix domain (local) server.
(Manpage: man -ebobcat localclientsocket)
FBB::LocalServerSocket: defines a Unix domain socket to which
clients on the local host can connect.
(Manpage: man -ebobcat localserversocket)
FBB::LocalSocketBase: Base class for LocalClientSocket and
LocalServerSocket.
(Manpage: man -ebobcat localsocketbase)
FBB::MailHeaders: extracts mail headers from SMTP-email.
(Manpage: man -ebobcat mailheaders)
FBB::Milter: interfaces the sendmail mail filter facilities.
(Manpage: man -ebobcat milter)
FBB::ServerSocket: defines a socket to which clients can con‐
nect.
(Manpage: man -ebobcat serversocket)
FBB::SocketBase: Base class for ClientSocket and ServerSocket.
(Manpage: man -ebobcat socketbase)
o OPENSSL AND ENCRYPTION
FBB::BigInt: Wrapper class around the openssl BN_ functions for
unlimited integer precision arithmetic.
(Manpage: man -ebobcat bigint)
FBB::DecryptBuf: Decrypting information.
(Manpage: man -ebobcat decryptbuf)
FBB::DiffieHellman: Computing shared keys using the Diffie-Hell‐
man algorithm.
(Manpage: man -ebobcat diffiehellman)
FBB::DigestBuf: Computing message digests.
(Manpage: man -ebobcat digestbuf)
FBB::EncryptBuf: Encrypting information.
(Manpage: man -ebobcat encryptbuf)
FBB::HmacBuf: Computing HMAC message digests.
(Manpage: man -ebobcat hmacbuf)
FBB::ISymCryptStream: stream implementing symmetric encryption
and decryption, using a FBB::ISymCryptStreambuf stream buffer.
(Manpage: man -ebobcat isymcryptstream)
FBB::ISymCryptStreambuf: FBB::IFilterStreambuf specialization
implementing symmetric cryptography.
(Manpage: man -ebobcat isymcryptstreambuf)
o PATTERN MATCHING
FBB::Glob: Obtain a list of files matching a certain pattern.
(Manpage: man -ebobcat glob)
FBB::Pattern: Regular expression pattern matching.
(Manpage: man -ebobcat pattern)
o PROCESSES, SIGNALS, THREADS
FBB::Fork: Defines fork(2) as part of a Template Algorithm
Design Pattern.
(Manpage: man -ebobcat fork)
FBB::Process: Runs child processes, defining pipes between par‐
ents and child processes.
(Manpage: man -ebobcat process)
FBB::Semaphore: Dijkstra’s (1962) Semaphore data type.
(Manpage: man -ebobcat semaphore)
FBB::Signal: Defines signals, allowing signal handlers to use
object’s data members c.q. to call object’s members functions.
(Manpage: man -ebobcat signal)
o STREAMS AND FILES
FBB::DigestBuf: Computing message digests.
(Manpage: man -ebobcat digestbuf)
FBB::IFdStream: stream extracting information from a device
whose file descriptor is available.
(Manpage: man -ebobcat ifdstream)
FBB::IFdStreambuf: Input stream buffer initialized by a file
descriptor.
(Manpage: man -ebobcat ifdstreambuf)
FBB::IFilterStreambuf: std::streambuf specialization implement‐
ing an std::istream filtering design pattern.
(Manpage: man -ebobcat ifilterstreambuf)
FBB::IOStream: class combining std::istream and std::ostream
features.
(Manpage: man -ebobcat iostream)
FBB::IOStreambuf: std::streambuf specialization allowing com‐
bined input and output operations.
(Manpage: man -ebobcat iostreambuf)
FBB::IRandStream: stream to extract random numbers from.
((Manpage: man -ebobcat irandstream))
FBB::ISharedStream: std::istream operations on shared memory.
(Manpage: man -ebobcat isharedstream)
FBB::lm: Manipulator setting the left margin of FBB::OFoldStream
objects.
(Manpage: man -ebobcat lm)
FBB::Mbuf: std::streambuf specialization for inserting messages,
mainly used by FBB::Mstream objects.
(Manpage: man -ebobcat mbuf)
FBB::mlm: Manipulator modifying the left margin of FBB::OFold‐
Stream objects.
(Manpage: man -ebobcat mlm)
FBB::Mstream: Inserts messages into streams.
(Manpage: man -ebobcat mstream)
FBB::MultiStreambuf: std::streambuf specializations performing
insertions to multiple std::ostream objects.
(Manpage: man -ebobcat multistreambuf)
FBB::OFdStream: stream inserting information into a device whose
file descriptor is available.
(Manpage: man -ebobcat ofdstream)
FBB::OFdStreambuf: Output stream buffer initialized by a file
descriptor.
(Manpage: man -ebobcat ofdstreambuf)
FBB::OFilterStreambuf: std::streambuf specialization implement‐
ing an std::ostream filtering design pattern.
(Manpage: man -ebobcat ofilterstreambuf)
FBB::OFoldStream: std::ostream using an OFoldStreambuf as its
streambuf.
(Manpage: man -ebobcat ofoldstream)
FBB::OFoldStreambuf: OFilterStreambuf (std::streambuf) special‐
ization folding text lines between left and right margins.
(Manpage: man -ebobcat ofoldstreambuf)
FBB::OHexStreambuf: OHexStreambuf (std::streambuf) specializa‐
tion inserting characters into a stream by their hex values.
(Manpage: man -ebobcat ohexstreambuf)
FBB::OSharedStream: std::ostream operations on shared memory.
(Manpage: man -ebobcat osharedstream)
FBB::Pipe: Defines a system level pipe.
(Manpage: man -ebobcat pipe)
FBB::Randbuffer: implements a streambuf generating random num‐
bers.
(Manpage: man -ebobcat randbuffer)
FBB::ReadLineBuf: implements a streambuf using the Gnu readline
library to allow editing an std::istream’s contents.
(Manpage: man -ebobcat readlinebuf)
FBB::ReadLineHistory: provides access to the history of lines
read from a ReadLineBuf.
(Manpage: man -ebobcat readlinehistory)
FBB::ReadLineStream: std::istream class using a ReadLineBuf for
its std::streambuf.
(Manpage: man -ebobcat readlinestream)
FBB::Redirector: Defines system level file redirection.
(Manpage: man -ebobcat redirector)
FBB::Selector: Offers timed delays and multiple file I/O.
(Manpage: man -ebobcat selector)
FBB::SharedStream: I/O operations on shared memory.
(Manpage: man -ebobcat sharedstream)
FBB::SharedStreambuf: std::streambuf interfacing to shared mem‐
ory.
(Manpage: man -ebobcat sharedstreambuf)
FBB::Stat: Determines file characteristics.
(Manpage: man -ebobcat stat)
FBB::TempStream: Temporary fstream.
(Manpage: man -ebobcat tempstream)
o SHARED MEMORY
FBB::ISharedStream: std::istream operations on shared memory.
(Manpage: man -ebobcat isharedstream)
FBB::OSharedStream: std::ostream operations on shared memory.
(Manpage: man -ebobcat osharedstream)
FBB::SharedBlock: Shared memory data block info.
(Manpage: man -ebobcat sharedblock)
FBB::SharedCondition: Shared memory condition variable.
(Manpage: man -ebobcat sharedcondition)
FBB::SharedMemory: Shared memory structure.
(Manpage: man -ebobcat sharedmemory)
FBB::SharedMutex: Mutex for shared memory.
(Manpage: man -ebobcat sharedmutex)
FBB::SharedPos: Shared Memory offset controller.
(Manpage: man -ebobcat sharedpos)
FBB::SharedReadme: Background info about the implementation of
Bobcat’s Shared Memory.
(Manpage: man -ebobcat sharedreadme)
FBB::SharedSegment: Shared memory data structure.
(Manpage: man -ebobcat sharedsegment)
FBB::SharedStream: I/O operations on shared memory.
(Manpage: man -ebobcat sharedstream)
FBB::SharedStreambuf: std::streambuf interfacing to shared mem‐
ory.
(Manpage: man -ebobcat sharedstreambuf)
o TABLES
FBB::Align: Specifies Table(Buf) column and element alignments.
(Manpage: man -ebobcat align)
FBB::Table: Display tables row- or column-wise.
(Manpage: man -ebobcat table)
FBB::TableBuf: Display tables row- or column-wise.
(Manpage: man -ebobcat tablebuf)
FBB::TableLines: Support class for the class Table(Buf).
(Manpage: man -ebobcat tablelines)
FBB::TableSupport: Support class for the class Table(Buf).
(Manpage: man -ebobcat tablesupport)
o VARIOUS TEMPLATES
FBB::binary_search: A modification of the STL binary_search
algorithm returning the location of the searched value in a
sorted series of values.
(Manpage: man -ebobcat binarysearch)
FBB::BinOps: A series of function templates implementing binary
operators for classes that implement the matching binary assign‐
ment operators themselves.
(Manpage: man -ebobcat binops)
FBB::fswap: templates implementing memory bytes based swap func‐
tionality
(Manpage: man -ebobcat fswap)
FBB::Hash...: Various class templates implementing mapping con‐
tainers using hashing.
(Manpage: man -ebobcat hash)
FBB::Iterator: a class template creating a bidirectional itera‐
tor returning values of a specified type.
(Manpage: man -ebobcat iterator)
FBB::LinearMap: a class template container implementing a map
using a linear search algorithm.
(Manpage: man -ebobcat linearmap)
FBB::PtrIter: Input iterator whose dereferenced value returns a
pointer rather than a reference to an element. Also offers: a
ptrIter function template.
(Manpage: man -ebobcat ptriter)
FBB::Ranger: a class template creating ranges that are accepted
by range-based for-loops. Also offered: a ranger function tem‐
plate.
(Manpage: man -ebobcat ranger)
FBB::repeat: Two short extensions of the STL for_each generic
algorithm.
(Manpage: man -ebobcat repeat)
FBB::ReverseIterator: a class template creating a bidirectional
reverse iterator returning values of a specified type.
(Manpage: man -ebobcat reverseiterator)
FBB::TypeTrait: Traits class template to determine various char‐
acteristics of types.
(Manpage: man -ebobcat typetrait)
o VARIOUS OTHER CLASSES
FBB::CSV: Objects of this class allow easy handling of
comma-separated values.
(Manpage: man -ebobcat csv)
FBB::Indent: Class and manipulators performing text indentation.
(Manpage: man -ebobcat indent)
FBB::Manipulators: manipulators defined in the namespace FBB.
(Manpage: man -ebobcat manipulators)
FBB::OneKey: Single keystroke input, not requiring `Return’.
(Manpage: man -ebobcat onekey)
FBB::PrimeFactors: Pprime-number factorization of (BigInt) val‐
ues.
(Manpage: man -ebobcat primefactors)
FBB::String: Offers extended std::string functionality.
(Manpage: man -ebobcat string)
FBB::StringLine: Offers operator>> extracting lines from
std::istream objects.
(Manpage: man -ebobcat stringline)
FBB::Tty: Controls echoing of characters entered at the termi‐
nal.
(Manpage: man -ebobcat tty)
FBB::User: Determines the current user’s parameters from
/etc/passwd.
(Manpage: man -ebobcat user)
FBB::Xpointer: sets and retrieves the X-windows pointer.
(Manpage: man -ebobcat xpointer)
o DEPRECATED CLASSES Deprecated classes should no longer be used.
Their functionality is better provided by other classes. The
deprecated classes are no longer maintained.
FBB::AutoPtr: replacement: C++-11 std::shared_ptr and
unique_ptr.
FBB::Errno: replacement: FBB::Exception.
FBB::FnWrap: replacement: C++-11 lambda functions.
FBB::for_each: replacement: C++-11 lambda functions.
FBB::Msg: replacement: FBB::Mstream.
FBB::RefCount: replacement: C++-11 std::shared_ptr and
unique_ptr.
LINKING
To link programs against the shared Bobcat library (e.g., libbob‐
cat3.so) it is usually sufficient to merely specify -lbobcat. E.g.,
g++ --std=c++11 main.cc -lbobcat
Due to a change in library handling by the linker (cf. http://fedo‐
raproject.org/wiki/UnderstandingDSOLinkChange and
https://wiki.debian.org/ToolChain/DSOLinking), implemented in 2013,
libraries that are indirectly required are no longer automatically
linked to your program. With some classes (e.g., BigInt) the libcrypto
library must also be specified, and programs using such classes must be
linked against bobcat and crypto:
g++ --std=c++11 main.cc -lbobcat -lcrypto
Man-pages of classes requiring additional libraries mention these addi‐
tional libraries in their SYNOPSIS sections.
When using static linking, the situation is slightly more problematic,
and no general rule can be provided here. To create a statically linked
program the flag -static must be provided, but in addition the -pthread
flag must often be specified as well. If, when statically linking your
program, undefined references to pthread_... identifiers are reported,
then that is a sure sign that you need to provide the -pthread flag as
well.
When using static linking additional libraries, not specified at the
man-pages, may also be required. E.g., when using the Xpointer class
and using static linking, the command becomes:
g++ main.cc -static -pthread -lbobcat -lX11 -lxcb-lXdmcp -lXau
When encountering undefined references when using static linking miss‐
ing libraries may be suggested by the linker or by its error messages.
Alternatively, the missing libraries may be found by searching the
Internet.
FILES
o /usr/include/bobcat/<classname>:
o /usr/lib/libbobcat.*:
(shared, static libraries)
SEE ALSO
The individual bobcat/3<class> header files, with man-pages accessible
using man -ebobcat class (all lowercase names)
BUGS
No Reported Bugs.
DISTRIBUTION FILES
o bobcat_3.25.01-x.dsc: detached signature;
o bobcat_3.25.01-x.tar.gz: source archive;
o bobcat_3.25.01-x_i386.changes: change log;
o libbobcat1_3.25.01-x_*.deb: debian package holding the
libraries;
o libbobcat1-dev_3.25.01-x_*.deb: debian package holding the
libraries, headers and manual pages;
o http://sourceforge.net/projects/bobcat: public archive location;
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).
libbobcat-dev_3.25.01-x.tar.gz 2005-2015 Bobcat(7)