Bobcat - Overview of classes in the Bobcat library
The classes of the
Bobcat library may be used after including
bobcat/classname in sources.
Generally, programs using the
Bobcat library must be at least linked
against the
Bobcat library. Refer to section
LINKING for more
informatin 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 -e bobcat 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 -e bobcat align)
FBB::Arg: Interfaces the command line arguments, allowing for short- and
long options. The class is implemented as a
Singleton.
(Manpage:
man -e bobcat 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 -e bobcat argconfig)
FBB::A2x: Ascii-to-x conversions of any type supporting extractions from
i[string]stream objects. (Manpage:
man -e bobcat a2x)
FBB::BigInt: Wrapper class around the openssl BN_ functions for unlimited
integer precision arithmetic.
(Manpage:
man -e bobcat bigint)
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 -e bobcat binarysearch)
FBB::BinOps: A series of function templates implementing binary operators
for classes that implement the matching binary assignment operators
themselves.
(Manpage:
man -e bobcat binops)
FBB::BinOpsBase: A class template implementing binary operators and
compound assignment operators for classes that themselves implement swap
members and members implementing the basic binary operation on objects of
their class types themselves.
(Manpage:
man -e bobcat binopsbase)
FBB::CerrExtractor: Executes child processes not expecting input but
maybe writing its standard error stream.
(Manpage:
man -e bobcat cerrextractor)
FBB::CGI: a class implementing the facilities accessing the data made
available through the Common Gateway Interface.
(Manpage:
man -e bobcat 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 -e bobcat cidr)
FBB::CinInserter: Executes child processes expecting input but not
producing standard output.
(Manpage:
man -e bobcat cininserter)
FBB::ClientSocket: a socket for tcp-communication with a server.
(Manpage:
man -e bobcat clientsocket)
FBB::CmdFinder: Command-function associations.
(Manpage:
man -e bobcat cmdfinder)
FBB::CmdFinderBase: Base class for
CmdFinder.
(Manpage:
man -e bobcat cmdfinderbase)
FBB::Config: Processing standard configuration files.
(Manpage:
man -e bobcat config)
FBB::ConfigFile: Processing standard configuration files (deprecated, use
Config).
(Manpage:
man -e bobcat configfile)
FBB::CoutExtractor: Executes child processes not expecting input but
maybe producing standard output.
(Manpage:
man -e bobcat coutextractor)
FBB::CSVTable: Construct tables row-by-row.
(Manpage:
man -e bobcat csvtable)
FBB::CSV4180: Objects of this class allow for easy handling of
comma-separated values (implements RFC 4180).
(Manpage:
man -e bobcat csv4180)
FBB::DateTime: Manipulations with date and time values.
(Manpage:
man -e bobcat datetime)
FBB::DiffieHellman: Computing shared keys using the Diffie-Hellman
algorithm.
(Manpage:
man -e bobcat diffiehellman)
FBB::DigestBuf: Computing message digests.
(Manpage:
man -e bobcat digestbuf)
FBB::ECDH: Computing shared keys using the elliptic curve based
Diffie-Hellman algorithm.
(Manpage:
man -e bobcat ecdh)
FBB::Eoi:
std::streambuf offering the
eoi manipulator.
(Manpage:
man -e bobcat eoi)
FBB::Eoi:
std::streambuf offering the
eoi manipulator.
(Manpage:
man -e bobcat eoi)
FBB::EoiBuf:
std::streambuf offering the
eoi manipulator
and a configurable stream buffer.
(Manpage:
man -e bobcat eoibuf)
FBB::Exception: objects of this class accept
ostream insertions,
and are also
std::exception objects.
(Manpage:
man -e bobcat exception)
FBB::Exec: Executes child processes not expecting input and not producing
standard output.
(Manpage:
man -e bobcat exec)
FBB::Field: class template retrieving and modifying position based fields
in numbers using configurable number systems.
(Manpage:
man -e bobcat field)
FBB::Fork: Defines
fork(2) as part of a Template Algorithm Design
Pattern.
(Manpage:
man -e bobcat fork)
FBB::GetHostent: Obtains
hostent struct from hostname or -address.
(Manpage:
man -e bobcat gethostent)
FBB::Glob: Obtain a list of files matching a certain pattern.
(Manpage:
man -e bobcat glob)
FBB::HmacBuf: Computing HMAC message digests.
(Manpage:
man -e bobcat hmacbuf)
FBB::Hostname: Derived from
Hostent, allows the initialization
from a
std::string, or from an
FBB::InetAddrress.
(Manpage:
man -e bobcat hostname)
FBB::IBase64Stream: stream implementing base64 encoding and decoding,
using a
FBB::Base64Streambuf stream buffer.
(Manpage:
man -e bobcat ibase64stream)
FBB::IBase64Buf:
FBB::IFilterBuf specialization implementing
base64 encoding and decoding.
(Manpage:
man -e bobcat ibase64buf)
FBB::IFdStream: stream extracting information from a device whose file
descriptor is available.
(Manpage:
man -e bobcat ifdstream)
FBB::IFdBuf: Input stream buffer initialized by a file descriptor.
(Manpage:
man -e bobcat ifdbuf)
FBB::IFilterBuf:
std::streambuf specialization implementing an
std::istream filtering design pattern.
(Manpage:
man -e bobcat ifilterbuf)
FBB::Indent: Class and manipulators performing text indentation.
(Manpage:
man -e bobcat indent)
FBB::InetAddress: Base class (no public constructor) for objects
representing an internet address as used with sockets. Contains address and
portnumbers.
(Manpage:
man -e bobcat inetaddress)
FBB::IOStream: class combining
std::istream and
std::ostream features.
(Manpage:
man -e bobcat iostream)
FBB::IOBuf:
std::streambuf specialization allowing combined input
and output operations.
(Manpage:
man -e bobcat iobuf)
FBB::ISharedStream:
std::istream operations on shared memory.
(Manpage:
man -e bobcat isharedstream)
FBB::IQuotedPrintableStream: stream implementing quoted printable
encoding and decoding, using a
FBB::IQuotedPrintableBuf stream buffer.
(Manpage:
man -e bobcat iquotedprintablestream)
FBB::IQuotedPrintableBuf:
FBB::IFilterBuf specialization
implementing quoted printable encoding and decoding.
(Manpage:
man -e bobcat iquotedprintablebuf)
FBB::IRandStream: stream to extract random numbers from.
(Manpage:
man -e bobcat irandstream)
FBB::ISymCryptStream: stream implementing symmetric encryption and
decryption, using a
FBB::ISymCryptStreambuf stream buffer.
(Manpage:
man -e bobcat isymcryptstream)
FBB::ISymCryptStreambuf:
FBB::IFilterBuf specialization
implementing symmetric cryptography.
(Manpage:
man -e bobcat isymcryptstreambuf)
FBB::Iterator: a class template creating a bidirectional iterator
returning values of a specified type.
(Manpage:
man -e bobcat iterator)
FBB::Hash...: Various class templates implementing mapping containers
using hashing.
(Manpage:
man -e bobcat hash)
FBB::Hostent: Wrapper around the
hostent struct.
(Manpage:
man -e bobcat hostent)
FBB::LDC: Large Digital Converter converts (large) values for various
radices.
(Manpage:
man -e bobcat ldc)
FBB::level: Manipulator setting the log-level of
FBB::Log objects.
(Manpage:
man -e bobcat level)
FBB::LinearMap: a class template container implementing a map using a
linear search algorithm.
(Manpage:
man -e bobcat linearmap)
FBB::lm: Manipulator setting the left margin of
FBB::OFoldStream
objects.
(Manpage:
man -e bobcat lm)
FBB::LocalClientSocket: a Unix domain socket for tcp-communication with a
Unix domain (local) server.
(Manpage:
man -e bobcat localclientsocket)
FBB::LocalServerSocket: defines a Unix domain socket to which clients on
the local host can connect.
(Manpage:
man -e bobcat localserversocket)
FBB::LocalSocketBase: Base class for
LocalClientSocket and
LocalServerSocket.
(Manpage:
man -e bobcat localsocketbase)
FBB::Log:
std::ostream handling log messages.
(Manpage:
man -e bobcat log)
FBB::LogBuf:
std::streambuf handling log messages.
(Manpage:
man -e bobcat logbuf)
FBB::MailHeaders: extracts mail headers from SMTP-email.
(Manpage:
man -e bobcat mailheaders)
FBB::Manipulators: manipulators defined in the namespace
FBB.
(Manpage:
man -e bobcat manipulators)
FBB::Mbuf:
std::streambuf specialization for inserting messages,
mainly used by
FBB::Mstream objects.
(Manpage:
man -e bobcat mbuf)
FBB::Milter: interfaces the sendmail mail filter facilities.
(Manpage:
man -e bobcat milter)
FBB::mlm: Manipulator modifying the left margin of
FBB::OFoldStream objects.
(Manpage:
man -e bobcat mlm)
FBB::Mstream: Inserts messages into streams.
(Manpage:
man -e bobcat mstream)
FBB::MultiBuf:
std::streambuf specializations performing
insertions to multiple
std::ostream objects.
(Manpage:
man -e bobcat multibuf)
FBB::OMutexStream: Mutex protected
std::ostream.
(Manpage:
man -e bobcat mxstream)
FBB::OFdStream: stream inserting information into a device whose file
descriptor is available.
(Manpage:
man -e bobcat ofdstream)
FBB::OFdBuf: Output stream buffer initialized by a file descriptor.
(Manpage:
man -e bobcat ofdbuf)
FBB::OFilterBuf:
std::streambuf specialization implementing an
std::ostream filtering design pattern.
(Manpage:
man -e bobcat ofilterbuf)
FBB::OFoldStream:
std::ostream using an
OFoldBuf as its
streambuf.
(Manpage:
man -e bobcat ofoldstream)
FBB::OFoldBuf:
OFilterBuf (
std::streambuf) specialization
folding text lines between left and right margins.
(Manpage:
man -e bobcat ofoldbuf)
FBB::OHexBuf:
OHexBuf (
std::streambuf) specialization
inserting characters into a stream by their hex values.
(Manpage:
man -e bobcat ohexbuf)
FBB::OneKey: Single keystroke input, not requiring `Return’.
(Manpage:
man -e bobcat onekey)
FBB::OSharedStream:
std::ostream operations on shared memory.
(Manpage:
man -e bobcat osharedstream)
FBB::OSymCryptStream: stream implementing symmetric encryption and
decryption, using a
FBB::OSymCryptStreambuf stream buffer.
(Manpage:
man -e bobcat osymcryptstream)
FBB::OSymCryptStreambuf: streambuf derived from
FBB::EoiBuf
implementing symmetric cryptography.
(Manpage:
man -e bobcat osymcryptstreambuf)
FBB::Pattern: Regular expression pattern matching.
(Manpage:
man -e bobcat pattern)
FBB::Pipe: Defines a system level pipe.
(Manpage:
man -e bobcat pipe)
FBB::PrimeFactors: Prime-number factorization of (BigInt) values.
(Manpage:
man -e bobcat primefactors)
FBB::Process: Runs child processes, defining pipes between parents and
child processes.
(Manpage:
man -e bobcat 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 -e bobcat ptriter)
FBB::RandBuf: implements a
streambuf generating random numbers.
(Manpage:
man -e bobcat randbuf)
FBB::RandomMt: class template generating random numbers.
(Manpage:
man -e bobcat randommt)
FBB::Ranger: a class template creating ranges that are accepted by
range-based for-loops. Also offered: a
ranger function template.
(Manpage:
man -e bobcat ranger)
FBB::ReadLineBuf: implements a
streambuf using the Gnu
readline library to allow editing an
std::istream’s
content.
(Manpage:
man -e bobcat readlinebuf)
FBB::ReadLineHistory: provides access to the history of lines read from a
ReadLineBuf.
(Manpage:
man -e bobcat readlinehistory)
FBB::ReadLineStream:
std::istream class using a
ReadLineBuf
for its
std::streambuf.
(Manpage:
man -e bobcat readlinestream)
FBB::Redirector: Defines system level file redirection.
(Manpage:
man -e bobcat redirector)
FBB::repeat: Two short extensions of the STL
for_each generic
algorithm.
(Manpage:
man -e bobcat repeat)
FBB::Reverse: a class template creating a reverse iterator returning
values of a specified type.
(Manpage:
man -e bobcat reverse)
FBB::Selector: Offers timed delays and multiple file I/O.
(Manpage:
man -e bobcat selector)
FBB::Semaphore: Dijkstra’s (1962) Semaphore data type.
(Manpage:
man -e bobcat semaphore)
FBB::ServerSocket: defines a socket to which clients can connect.
(Manpage:
man -e bobcat serversocket)
FBB::SharedBlock: Shared memory data block info.
(Manpage:
man -e bobcat sharedblock)
FBB::SharedCondition: Shared memory condition variable.
(Manpage:
man -e bobcat sharedcondition)
FBB::SharedMemory: Shared memory structure.
(Manpage:
man -e bobcat sharedmemory)
FBB::SharedMutex: Mutex for shared memory.
(Manpage:
man -e bobcat sharedmutex)
FBB::SharedPos: Shared Memory offset controller.
(Manpage:
man -e bobcat sharedpos)
FBB::SharedReadme: Background info about the implementation of
Bobcat’s Shared Memory.
(Manpage:
man -e bobcat sharedreadme)
FBB::SharedSegment: Shared memory data structure.
(Manpage:
man -e bobcat sharedsegment)
FBB::SharedStream: I/O operations on shared memory.
(Manpage:
man -e bobcat sharedstream)
FBB::SharedBuf:
std::streambuf interfacing to shared memory.
(Manpage:
man -e bobcat sharedbuf)
FBB::Signal: Defines signals, allowing signal handlers to use
object’s data members c.q. to call object’s members functions.
(Manpage:
man -e bobcat signal)
FBB::SocketBase: Base class for
ClientSocket and
ServerSocket.
(Manpage:
man -e bobcat socketbase)
FBB::Stat: Determines file characteristics.
(Manpage:
man -e bobcat stat)
FBB::StdExtractor: Executes child processes not expecting input but maybe
writing their standard output and error streams.
(Manpage:
man -e bobcat stdextractor)
FBB::String: Offers extended
std::string functionality.
(Manpage:
man -e bobcat string)
FBB::StringLine: Offers
operator>> extracting lines from
std::istream objects.
(Manpage:
man -e bobcat stringline)
FBB::SyslogBuf: streambuf to Buffer generating
syslog(3) messages.
(Manpage:
man -e bobcat syslogbuf)
FBB::SyslogStream: stream to Output stream inserting
syslog(3)
messages.
(Manpage:
man -e bobcat syslogstream)
FBB::fswap: templates implementing memory bytes based swap functionality
(Manpage:
man -e bobcat fswap)
FBB::Table: Display tables row- or column-wise.
(Manpage:
man -e bobcat table)
FBB::TableBuf: Display tables row- or column-wise.
(Manpage:
man -e bobcat tablebuf)
FBB::TableLines: Support class for the class
Table(Buf).
(Manpage:
man -e bobcat tablelines)
FBB::TableSupport: Support class for the class
Table(Buf).
(Manpage:
man -e bobcat tablesupport)
FBB::TempStream: Temporary fstream.
(Manpage:
man -e bobcat tempstream)
FBB::Tty: Controls echoing of characters entered at the terminal.
(Manpage:
man -e bobcat tty)
FBB::TypeTrait: Traits class template to determine various
characteristics of types.
(Manpage:
man -e bobcat typetrait)
FBB::User: Determines the current user’s parameters from
/etc/passwd.
(Manpage:
man -e bobcat user)
FBB::Xpointer: sets and retrieves the X-windows pointer.
(Manpage:
man -e bobcat xpointer)
FBB::X2a: x-to-Ascii conversions of any type supporting insertions into
o[string]stream objects.
(Manpage:
man -e bobcat x2a)
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
- 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
Singleton.
(Manpage: man -e bobcat 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 -e bobcat argconfig)
-
FBB::CmdFinder: Command-function associations.
(Manpage: man -e bobcat cmdfinder)
-
FBB::CmdFinderBase: Base class for CmdFinder.
(Manpage: man -e bobcat cmdfinderbase)
-
FBB::Config: Processing standard configuration
files.
(Manpage: man -e bobcat configfile)
-
FBB::ConfigFile: Processing standard configuration
files (deprecated, use Config).
(Manpage: man -e bobcat configfile)
- o
- CONVERSIONS
-
FBB::A2x: Ascii-to-x conversions of any type
supporting extractions from i[string]stream objects. (Manpage:
man -e bobcat a2x)
-
FBB::BigInt: Wrapper class around the openssl BN_
functions for unlimited integer precision arithmetic.
(Manpage: man -e bobcat bigint)
-
FBB::CSV4180: Objects of this class allow easy
handling of comma-separated values (implements RFC 4180).
(Manpage: man -e bobcat csv)
-
FBB::IBase64Stream: stream implementing base64
encoding and decoding, using a FBB::Base64Streambuf stream buffer.
(Manpage: man -e bobcat ibase64stream)
-
FBB::IBase64Buf: FBB::IFilterBuf
specialization implementing base64 encoding and decoding.
(Manpage: man -e bobcat ibase64buf)
-
FBB::IQuotedPrintableStream: stream implementing
quoted printable encoding and decoding, using a
FBB::IQuotedPrintableBuf stream buffer.
(Manpage: man -e bobcat iquotedprintablestream)
-
FBB::IQuotedPrintableBuf: FBB::IFilterBuf
specialization implementing quoted printable encoding and decoding.
(Manpage: man -e bobcat iquotedprintablebuf)
-
FBB::LDC: Large Digital Converter converts (large)
values for various radices.
(Manpage: man -e bobcat ldc)
-
FBB::X2a: x-to-Ascii conversions of any type
supporting insertions into o[string]stream objects.
(Manpage: man -e bobcat x2a)
- o
- DATE AND TIME
-
FBB::DateTime: Manipulations with date and time
values.
(Manpage: man -e bobcat datetime)
- o
- ERRORS AND MESSAGE HANDLING
-
FBB::Exception: objects of this class accept
ostream insertions, and are also std::exception objects.
(Manpage: man -e bobcat exception)
-
FBB::level: Manipulator setting the log-level of
FBB::Log objects.
(Manpage: man -e bobcat level)
-
FBB::Log: std::ostream handling log messages.
(Manpage: man -e bobcat log)
-
FBB::LogBuf: std::streambuf handling log
messages.
(Manpage: man -e bobcat logbuf)
-
FBB::SyslogBuf: streambuf to Buffer generating
syslog(3) messages.
(Manpage: man -e bobcat syslogbuf)
-
FBB::SyslogStream: stream to Output stream inserting
syslog(3) messages.
(Manpage: man -e bobcat 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 -e bobcat binarysearch)
-
FBB::LinearMap: a class template container
implementing a map using a linear search algorithm.
(Manpage: man -e bobcat linearmap)
-
FBB::repeat: Two short extensions of the STL
for_each generic algorithm.
(Manpage: man -e bobcat repeat)
- o
- INTERNET / NETWORKING
-
FBB::CGI: a class implementing the facilities
accessing the data made available through the Common Gateway Interface.
(Manpage: man -e bobcat 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 -e bobcat cidr)
-
FBB::ClientSocket: a socket for tcp-communication
with a server.
(Manpage: man -e bobcat clientsocket)
-
FBB::GetHostent: Obtains hostent struct from
hostname or -address.
(Manpage: man -e bobcat gethostent)
-
FBB::Hostname: Derived from Hostent, allows
the initialization from a std::string, or from an
FBB::InetAddrress.
(Manpage: man -e bobcat hostname)
-
FBB::InetAddress: Base class (no public constructor)
for objects representing an internet address as used with sockets.
Contains address and portnumbers.
(Manpage: man -e bobcat inetaddress)
-
FBB::Hostent: Wrapper around the hostent
struct.
(Manpage: man -e bobcat hostent)
-
FBB::LocalClientSocket: a Unix domain socket for
tcp-communication with a Unix domain (local) server.
(Manpage: man -e bobcat localclientsocket)
-
FBB::LocalServerSocket: defines a Unix domain socket
to which clients on the local host can connect.
(Manpage: man -e bobcat localserversocket)
-
FBB::LocalSocketBase: Base class for
LocalClientSocket and LocalServerSocket.
(Manpage: man -e bobcat localsocketbase)
-
FBB::MailHeaders: extracts mail headers from
SMTP-email.
(Manpage: man -e bobcat mailheaders)
-
FBB::Milter: interfaces the sendmail mail filter
facilities.
(Manpage: man -e bobcat milter)
-
FBB::ServerSocket: defines a socket to which clients
can connect.
(Manpage: man -e bobcat serversocket)
-
FBB::SocketBase: Base class for ClientSocket
and ServerSocket.
(Manpage: man -e bobcat socketbase)
- o
- OPENSSL AND ENCRYPTION
-
FBB::BigInt: Wrapper class around the openssl BN_
functions for unlimited integer precision arithmetic.
(Manpage: man -e bobcat bigint)
-
FBB::DiffieHellman: Computing shared keys using the
Diffie-Hellman algorithm.
(Manpage: man -e bobcat diffiehellman)
-
FBB::DigestBuf: Computing message digests.
(Manpage: man -e bobcat digestbuf)
-
FBB::ECDH: Computing shared keys using the elliptic
curve based Diffie-Hellman algorithm.
(Manpage: man -e bobcat ecdh)
-
FBB::HmacBuf: Computing HMAC message digests.
(Manpage: man -e bobcat hmacbuf)
-
FBB::ISymCryptStream: stream implementing symmetric
encryption and decryption, using a FBB::ISymCryptStreambuf stream
buffer.
(Manpage: man -e bobcat isymcryptstream)
-
FBB::ISymCryptStreambuf: FBB::IFilterBuf
specialization implementing symmetric cryptography.
(Manpage: man -e bobcat isymcryptstreambuf)
-
FBB::OSymCryptStream: stream implementing symmetric
encryption and decryption, using a FBB::OSymCryptStreambuf stream
buffer.
(Manpage: man -e bobcat osymcryptstream)
-
FBB::OSymCryptStreambuf: streambuf derived from
FBB::EoiBuf implementing symmetric cryptography.
(Manpage: man -e bobcat osymcryptstreambuf)
- o
- PATTERN MATCHING
-
FBB::Glob: Obtain a list of files matching a certain
pattern.
(Manpage: man -e bobcat glob)
-
FBB::Pattern: Regular expression pattern matching.
(Manpage: man -e bobcat pattern)
- o
- PROCESSES, SIGNALS, THREADS
-
FBB::Exec: Executes child processes not expecting
input and not producing standard output.
(Manpage: man -e bobcat exec)
-
FBB::CerrExtractor: Executes child processes not
expecting input but maybe writing its standard error stream.
(Manpage: man -e bobcat cerrextractor)
-
FBB::CoutExtractor: Executes child processes not
expecting input but maybe producing standard output.
(Manpage: man -e bobcat coutextractor)
-
FBB::Fork: Defines fork(2) as part of a
Template Algorithm Design Pattern.
(Manpage: man -e bobcat fork)
-
FBB::CinInserter: Executes child processes expecting
input but not producing standard output.
(Manpage: man -e bobcat cininserter)
-
FBB::Process: Runs child processes, defining pipes
between parents and child processes.
(Manpage: man -e bobcat process)
-
FBB::Semaphore: Dijkstra’s (1962) Semaphore
data type.
(Manpage: man -e bobcat semaphore)
-
FBB::Signal: Defines signals, allowing signal
handlers to use object’s data members c.q. to call object’s
members functions.
(Manpage: man -e bobcat signal)
-
FBB::StdExtractor: Executes child processes not
expecting input but maybe writing their standard output and error streams.
(Manpage: man -e bobcat stdextractor)
- o
- STREAMS AND FILES
-
FBB::DigestBuf: Computing message digests.
(Manpage: man -e bobcat digestbuf)
-
FBB::Eoi: std::streambuf offering the
eoi manipulator.
(Manpage: man -e bobcat eoi)
-
FBB::EoiBuf: std::streambuf offering the
eoi manipulator and a configurable stream buffer.
(Manpage: man -e bobcat eoibuf)
-
FBB::IFdStream: stream extracting information from a
device whose file descriptor is available.
(Manpage: man -e bobcat ifdstream)
-
FBB::IFdBuf: Input stream buffer initialized by a
file descriptor.
(Manpage: man -e bobcat ifdbuf)
-
FBB::IFilterBuf: std::streambuf
specialization implementing an std::istream filtering design
pattern.
(Manpage: man -e bobcat ifilterbuf)
-
FBB::IOStream: class combining std::istream
and std::ostream features.
(Manpage: man -e bobcat iostream)
-
FBB::IOBuf: std::streambuf specialization
allowing combined input and output operations.
(Manpage: man -e bobcat iobuf)
-
FBB::IRandStream: stream to extract random numbers
from.
((Manpage: man -e bobcat irandstream))
-
FBB::ISharedStream: std::istream operations
on shared memory.
(Manpage: man -e bobcat isharedstream)
-
FBB::lm: Manipulator setting the left margin of
FBB::OFoldStream objects.
(Manpage: man -e bobcat lm)
-
FBB::Mbuf: std::streambuf specialization for
inserting messages, mainly used by FBB::Mstream objects.
(Manpage: man -e bobcat mbuf)
-
FBB::mlm: Manipulator modifying the left margin of
FBB::OFoldStream objects.
(Manpage: man -e bobcat mlm)
-
FBB::Mstream: Inserts messages into streams.
(Manpage: man -e bobcat mstream)
-
FBB::MultiBuf: std::streambuf specializations
performing insertions to multiple std::ostream objects.
(Manpage: man -e bobcat multibuf)
-
FBB::OMutexStream: Mutex protected
std::ostream.
(Manpage: man -e bobcat mxstream)
-
FBB::OFdStream: stream inserting information into a
device whose file descriptor is available.
(Manpage: man -e bobcat ofdstream)
-
FBB::OFdBuf: Output stream buffer initialized by a
file descriptor.
(Manpage: man -e bobcat ofdbuf)
-
FBB::OFilterBuf: std::streambuf
specialization implementing an std::ostream filtering design
pattern.
(Manpage: man -e bobcat ofilterbuf)
-
FBB::OFoldStream: std::ostream using an
OFoldBuf as its streambuf.
(Manpage: man -e bobcat ofoldstream)
-
FBB::OFoldBuf: OFilterBuf
(std::streambuf) specialization folding text lines between left and
right margins.
(Manpage: man -e bobcat ofoldbuf)
-
FBB::OHexBuf: OHexBuf (std::streambuf)
specialization inserting characters into a stream by their hex values.
(Manpage: man -e bobcat ohexbuf)
-
FBB::OSharedStream: std::ostream operations
on shared memory.
(Manpage: man -e bobcat osharedstream)
-
FBB::Pipe: Defines a system level pipe.
(Manpage: man -e bobcat pipe)
-
FBB::RandBuf: implements a streambuf
generating random numbers.
(Manpage: man -e bobcat randbuf)
-
FBB::RandomMt: class template generating random
numbers.
(Manpage: man -e bobcat randommt)
-
FBB::ReadLineBuf: implements a streambuf
using the Gnu readline library to allow editing an
std::istream’s content.
(Manpage: man -e bobcat readlinebuf)
-
FBB::ReadLineHistory: provides access to the history
of lines read from a ReadLineBuf.
(Manpage: man -e bobcat readlinehistory)
-
FBB::ReadLineStream: std::istream class using
a ReadLineBuf for its std::streambuf.
(Manpage: man -e bobcat readlinestream)
-
FBB::Redirector: Defines system level file
redirection.
(Manpage: man -e bobcat redirector)
-
FBB::Selector: Offers timed delays and multiple file
I/O.
(Manpage: man -e bobcat selector)
-
FBB::SharedStream: I/O operations on shared memory.
(Manpage: man -e bobcat sharedstream)
-
FBB::SharedBuf: std::streambuf interfacing to
shared memory.
(Manpage: man -e bobcat sharedbuf)
-
FBB::Stat: Determines file characteristics.
(Manpage: man -e bobcat stat)
-
FBB::TempStream: Temporary fstream.
(Manpage: man -e bobcat tempstream)
- o
- SHARED MEMORY
-
FBB::ISharedStream: std::istream operations
on shared memory.
(Manpage: man -e bobcat isharedstream)
-
FBB::OSharedStream: std::ostream operations
on shared memory.
(Manpage: man -e bobcat osharedstream)
-
FBB::SharedBlock: Shared memory data block info.
(Manpage: man -e bobcat sharedblock)
-
FBB::SharedCondition: Shared memory condition
variable.
(Manpage: man -e bobcat sharedcondition)
-
FBB::SharedMemory: Shared memory structure.
(Manpage: man -e bobcat sharedmemory)
-
FBB::SharedMutex: Mutex for shared memory.
(Manpage: man -e bobcat sharedmutex)
-
FBB::SharedPos: Shared Memory offset controller.
(Manpage: man -e bobcat sharedpos)
-
FBB::SharedReadme: Background info about the
implementation of Bobcat’s Shared Memory.
(Manpage: man -e bobcat sharedreadme)
-
FBB::SharedSegment: Shared memory data structure.
(Manpage: man -e bobcat sharedsegment)
-
FBB::SharedStream: I/O operations on shared memory.
(Manpage: man -e bobcat sharedstream)
-
FBB::SharedBuf: std::streambuf interfacing to
shared memory.
(Manpage: man -e bobcat sharedbuf)
- o
- TABLES
-
FBB::Align: Specifies Table(Buf) column and
element alignments.
(Manpage: man -e bobcat align)
-
FBB::CSVTable: Construct tables row-by-row.
(Manpage: man -e bobcat csvtable)
-
FBB::Table: Display tables row- or column-wise.
(Manpage: man -e bobcat table)
-
FBB::TableBuf: Display tables row- or column-wise.
(Manpage: man -e bobcat tablebuf)
-
FBB::TableLines: Support class for the class
Table(Buf).
(Manpage: man -e bobcat tablelines)
-
FBB::TableSupport: Support class for the class
Table(Buf).
(Manpage: man -e bobcat 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 -e bobcat binarysearch)
-
FBB::BinOps: A series of function templates
implementing binary operators for classes that implement the matching
binary assignment operators themselves.
(Manpage: man -e bobcat binops)
-
FBB::BinOpsBase: A class template implementing
binary operators and compound assignment operators for classes that
themselves implement swap members and members implementing the basic
binary operation on objects of their class types themselves.
(Manpage: man -e bobcat binopsbase)
-
FBB::Field: class template retrieving and modifying
position based fields in numbers using configurable number systems.
(Manpage: man -e bobcat field)
-
FBB::fswap: templates implementing memory bytes
based swap functionality
(Manpage: man -e bobcat fswap)
-
FBB::Hash...: Various class templates implementing
mapping containers using hashing.
(Manpage: man -e bobcat hash)
-
FBB::Iterator: a class template creating a
bidirectional iterator returning values of a specified type.
(Manpage: man -e bobcat iterator)
-
FBB::LinearMap: a class template container
implementing a map using a linear search algorithm.
(Manpage: man -e bobcat 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 -e bobcat ptriter)
-
FBB::Ranger: a class template creating ranges that
are accepted by range-based for-loops. Also offered: a ranger
function template.
(Manpage: man -e bobcat ranger)
-
FBB::repeat: Two short extensions of the STL
for_each generic algorithm.
(Manpage: man -e bobcat repeat)
-
FBB::Reverse: a class template creating a reverse
iterator returning values of a specified type.
(Manpage: man -e bobcat reverse)
-
FBB::TypeTrait: Traits class template to determine
various characteristics of types.
(Manpage: man -e bobcat typetrait)
- o
- VARIOUS OTHER CLASSES
-
FBB::CSV: Objects of this class allow easy handling
of comma-separated values.
(Manpage: man -e bobcat csv)
-
FBB::Indent: Class and manipulators performing text
indentation.
(Manpage: man -e bobcat indent)
-
FBB::Manipulators: manipulators defined in the
namespace FBB.
(Manpage: man -e bobcat manipulators)
-
FBB::OneKey: Single keystroke input, not requiring
`Return’.
(Manpage: man -e bobcat onekey)
-
FBB::PrimeFactors: Pprime-number factorization of
(BigInt) values.
(Manpage: man -e bobcat primefactors)
-
FBB::String: Offers extended std::string
functionality.
(Manpage: man -e bobcat string)
-
FBB::StringLine: Offers operator>>
extracting lines from std::istream objects.
(Manpage: man -e bobcat stringline)
-
FBB::Tty: Controls echoing of characters entered at
the terminal.
(Manpage: man -e bobcat tty)
-
FBB::User: Determines the current user’s
parameters from /etc/passwd.
(Manpage: man -e bobcat user)
-
FBB::Xpointer: sets and retrieves the X-windows
pointer.
(Manpage: man -e bobcat xpointer)
To link programs against the shared
Bobcat library (e.g.,
libbobcat5.so) it is usually sufficient to merely specify
-lbobcat. E.g.,
g++ --std=c++2a main.cc -lbobcat
Note: 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++2a main.cc -lbobcat -lcrypto
Man-pages of classes requiring additional libraries mention these additional
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 missing
libraries may be suggested by the linker or by its error messages.
Alternatively, the missing libraries may be found by searching the Internet.
- o
-
/usr/include/bobcat/<classname>:
- o
-
/usr/lib/libbobcat.*:
(shared, static libraries)
The individual
bobcat/3<class> header files, with man-pages
accessible using
man -e bobcat class (all lowercase names)
No Reported Bugs.
- o
-
https://fbb-git.gitlab.io/bobcat/: gitlab project
page;
- o
-
bobcat_6.02.02-x.dsc: detached signature;
- o
-
bobcat_6.02.02-x.tar.gz: source archive;
- o
-
bobcat_6.02.02-x_i386.changes: change log;
- o
-
libbobcat1_6.02.02-x_*.deb: debian package
containing the libraries;
- o
-
libbobcat1-dev_6.02.02-x_*.deb: debian package
containing the libraries, headers and manual pages;
Bobcat is an acronym of `Brokken’s Own Base Classes And
Templates’.
This is free software, distributed under the terms of the GNU General Public
License (GPL).
Frank B. Brokken (
[email protected]).