Bobcat(7) | C++ Classes | Bobcat(7) |
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:
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:
Man-pages of classes requiring additional libraries mention these additional libraries in their SYNOPSIS sections.
g++ --std=c++2a main.cc -lbobcat -lcrypto
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:
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.
g++ main.cc -static -pthread -lbobcat -lX11 -lxcb -lXdmcp -lXau
The individual bobcat/3<class> header files, with man-pages accessible using man -e bobcat class (all lowercase names)
No Reported Bugs.
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 (f.b.brokken@rug.nl).
2005-2022 | libbobcat-dev_6.02.02 |