.TH "Bobcat" "7" "2005\-2014" "libbobcat\-dev_3\&.23\&.01\-x\&.tar\&.gz" "C++ Classes" .PP .SH "NAME" Bobcat \- Overview of classes in the Bobcat library .PP .SH "DESCRIPTION" .PP The classes of the \fBBobcat\fP library may be used after including \fIbobcat/classname\fP in sources\&. .PP Generally, programs using the \fBBobcat\fP library must be at least linked against the \fBBobcat\fP library\&. Refer to section \fBLINKING\fP for more informatin about linking programs to required libraries\&. .PP All classes and other elements are defined in the \fIFBB\fP namespace\&. For some classes \fImanipulators\fP are available, which are defined in the \fIFBB\fP namespace\&. An overview of all manipulators defined in the \fIFBB\fP namespace is provided by \fIman \-e bobcat manipulators\fP\&. .PP Beyond this section the section \fBCATEGORIES\fP groups classes that somehow belong together in various categories\&. .PP The following classes and functions are available: .PP \fBFBB::Align\fP: Specifies \fITable(Buf)\fP column and element alignments\&. .br (Manpage: \fIman \-e bobcat align\fP) .PP \fBFBB::Arg\fP: Interfaces the command line arguments, allowing for short\- and long options\&. The class is implemented as a \fISingleton\fP\&. .br (Manpage: \fIman \-e bobcat arg\fP) .PP \fBFBB::ArgConfig\fP: Inherits from \fIArg\fP and \fIConfigFile\fP allowing for options to be specified as command line options and/or configuration file options\&. The class is implemented as a \fISingleton\fP\&. .br (Manpage: \fIman \-e bobcat argconfig\fP) .PP \fBFBB::A2x\fP: Ascii\-to\-x conversions of any type supporting extractions from \fIi[string]stream\fP objects\&. (Manpage: \fIman \-e bobcat a2x\fP) .PP \fBFBB::BigInt\fP: Wrapper class around the openssl BN_ functions for unlimited integer precision arithmetic\&. .br (Manpage: \fIman \-e bobcat bigint\fP) .PP \fBFBB::binary_search\fP: A modification of the STL \fIbinary_search\fP algorithm returning the location of the searched value in a sorted series of values\&. .br (Manpage: \fIman \-e bobcat binarysearch\fP) .PP \fBFBB::BinOps\fP: A series of function templates implementing binary operators for classes that implement the matching binary assignment operators themselves\&. .br (Manpage: \fIman \-e bobcat binops\fP) .PP \fBFBB::CGI\fP: a class implementing the facilities accessing the data made available through the Common Gateway Interface\&. .br (Manpage: \fIman \-e bobcat cgi\fP) .PP \fBFBB::Cidr\fP: a class testing whether IP4 Internet addresses belong to address ranges defined by Classless Inter\-Domain Routing (CIDR) address block specifications\&. .br (Manpage: \fIman \-e bobcat cidr\fP) .PP \fBFBB::ClientSocket\fP: a socket for tcp\-communication with a server\&. .br (Manpage: \fIman \-e bobcat clientsocket\fP) .PP \fBFBB::CmdFinder\fP: Command\-function associations\&. .br (Manpage: \fIman \-e bobcat cmdfinder\fP) .PP \fBFBB::CmdFinderBase\fP: Base class for \fICmdFinder\fP\&. .br (Manpage: \fIman \-e bobcat cmdfinderbase\fP) .PP \fBFBB::ConfigFile\fP: Processing standard configuration files\&. .br (Manpage: \fIman \-e bobcat configfile\fP) .PP \fBFBB::CSV\fP: Objects of this class allow easy handling of comma\-separated values\&. .br (Manpage: \fIman \-e bobcat csv\fP) .PP \fBFBB::DateTime\fP: Manipulations with date and time values\&. .br (Manpage: \fIman \-e bobcat datetime\fP) .PP \fBFBB::DecryptBuf\fP: Decrypting information\&. .br (Manpage: \fIman \-e bobcat decryptbuf\fP) .PP \fBFBB::DiffieHellman\fP: Computing shared keys using the Diffie\-Hellman algorithm\&. .br (Manpage: \fIman \-e bobcat diffiehellman\fP) .PP \fBFBB::DigestBuf\fP: Computing message digests\&. .br (Manpage: \fIman \-e bobcat digestbuf\fP) .PP \fBFBB::EncryptBuf\fP: Encrypting information\&. .br (Manpage: \fIman \-e bobcat encryptbuf\fP) .PP \fBFBB::Exception\fP: objects of this class accept \fIostream\fP insertions, and are also \fIstd::exception\fP objects\&. .br (Manpage: \fIman \-e bobcat exception\fP) .PP \fBFBB::Fork\fP: Defines \fBfork\fP(2) as part of a Template Algorithm Design Pattern\&. .br (Manpage: \fIman \-e bobcat fork\fP) .PP \fBFBB::GetHostent\fP: Obtains \fIhostent\fP struct from hostname or \-address\&. .br (Manpage: \fIman \-e bobcat gethostent\fP) .PP \fBFBB::Glob\fP: Obtain a list of files matching a certain pattern\&. .br (Manpage: \fIman \-e bobcat glob\fP) .PP \fBFBB::HmacBuf\fP: Computing HMAC message digests\&. .br (Manpage: \fIman \-e bobcat hmacbuf\fP) .PP \fBFBB::Hostname\fP: Derived from \fIHostent\fP, allows the initialization from a \fIstd::string\fP, or from an \fIFBB::InetAddrress\fP\&. .br (Manpage: \fIman \-e bobcat hostname\fP) .PP \fBFBB::IBase64Stream\fP: stream implementing base64 encoding and decoding, using a \fIFBB::Base64Streambuf\fP stream buffer\&. .br (Manpage: \fIman \-e bobcat ibase64stream\fP) .PP \fBFBB::IBase64Streambuf\fP: \fIFBB::IFilterStreambuf\fP specialization implementing base64 encoding and decoding\&. .br (Manpage: \fIman \-e bobcat ibase64streambuf\fP) .PP \fBFBB::IFdStream\fP: stream extracting information from a device whose file descriptor is available\&. .br (Manpage: \fIman \-e bobcat ifdstream\fP) .PP \fBFBB::IFdStreambuf\fP: Input stream buffer initialized by a file descriptor\&. .br (Manpage: \fIman \-e bobcat ifdstreambuf\fP) .PP \fBFBB::IFilterStreambuf\fP: \fIstd::streambuf\fP specialization implementing an \fIstd::istream\fP filtering design pattern\&. .br (Manpage: \fIman \-e bobcat ifilterstreambuf\fP) .PP \fBFBB::Indent\fP: Class and manipulators performing text indentation\&. .br (Manpage: \fIman \-e bobcat indent\fP) .PP \fBFBB::InetAddress\fP: Base class (no public constructor) for objects representing an internet address as used with sockets\&. Contains address and portnumbers\&. .br (Manpage: \fIman \-e bobcat inetaddress\fP) .PP \fBFBB::IOStream\fP: class combining \fIstd::istream\fP and \fIstd::ostream\fP features\&. .br (Manpage: \fIman \-e bobcat iostream\fP) .PP \fBFBB::IOStreambuf\fP: \fIstd::streambuf\fP specialization allowing combined input and output operations\&. .br (Manpage: \fIman \-e bobcat iostreambuf\fP) .PP \fBFBB::ISharedStream\fP: \fIstd::istream\fP operations on shared memory\&. .br (Manpage: \fIman \-e bobcat isharedstream\fP) .PP \fBFBB::IRandStream\fP: stream to extract random numbers from\&. .br (Manpage: \fIman \-e bobcat irandstream\fP) .PP \fBFBB::ISymCryptStream\fP: stream implementing symmetric encryption and decryption, using a \fIFBB::ISymCryptStreambuf\fP stream buffer\&. .br (Manpage: \fIman \-e bobcat isymcryptstream\fP) .PP \fBFBB::ISymCryptStreambuf\fP: \fIFBB::IFilterStreambuf\fP specialization implementing symmetric cryptography\&. .br (Manpage: \fIman \-e bobcat isymcryptstreambuf\fP) .PP \fBFBB::Iterator\fP: a class template creating a bidirectional iterator returning values of a specified type\&. .br (Manpage: \fIman \-e bobcat iterator\fP) .PP \fBFBB::Hash\&.\&.\&.\fP: Various class templates implementing mapping containers using hashing\&. .br (Manpage: \fIman \-e bobcat hash\fP) .PP \fBFBB::Hostent\fP: Wrapper around the \fIhostent\fP struct\&. .br (Manpage: \fIman \-e bobcat hostent\fP) .PP \fBFBB::level\fP: Manipulator setting the log\-level of \fIFBB::Log\fP objects\&. .br (Manpage: \fIman \-e bobcat level\fP) .PP \fBFBB::LinearMap\fP: a class template container implementing a map using a linear search algorithm\&. .br (Manpage: \fIman \-e bobcat linearmap\fP) .PP \fBFBB::lm\fP: Manipulator setting the left margin of \fIFBB::OFoldStream\fP objects\&. .br (Manpage: \fIman \-e bobcat lm\fP) .PP \fBFBB::LocalClientSocket\fP: a Unix domain socket for tcp\-communication with a Unix domain (local) server\&. .br (Manpage: \fIman \-e bobcat localclientsocket\fP) .PP \fBFBB::LocalServerSocket\fP: defines a Unix domain socket to which clients on the local host can connect\&. .br (Manpage: \fIman \-e bobcat localserversocket\fP) .PP \fBFBB::LocalSocketBase\fP: Base class for \fILocalClientSocket\fP and \fILocalServerSocket\fP\&. .br (Manpage: \fIman \-e bobcat localsocketbase\fP) .PP \fBFBB::Log\fP: \fIstd::ostream\fP handling log messages\&. .br (Manpage: \fIman \-e bobcat log\fP) .PP \fBFBB::LogBuffer\fP: \fIstd::streambuf\fP handling log messages\&. .br (Manpage: \fIman \-e bobcat logbuffer\fP) .PP \fBFBB::MailHeaders\fP: extracts mail headers from SMTP\-email\&. .br (Manpage: \fIman \-e bobcat mailheaders\fP) .PP \fBFBB::Manipulators\fP: manipulators defined in the namespace \fBFBB\fP\&. .br (Manpage: \fIman \-e bobcat manipulators\fP) .PP \fBFBB::Mbuf\fP: \fIstd::streambuf\fP specialization for inserting messages, mainly used by \fIFBB::Mstream\fP objects\&. .br (Manpage: \fIman \-e bobcat mbuf\fP) .PP \fBFBB::Milter\fP: interfaces the sendmail mail filter facilities\&. .br (Manpage: \fIman \-e bobcat milter\fP) .PP \fBFBB::mlm\fP: Manipulator modifying the left margin of \fIFBB::OFoldStream\fP objects\&. .br (Manpage: \fIman \-e bobcat mlm\fP) .PP \fBFBB::Mstream\fP: Inserts messages into streams\&. .br (Manpage: \fIman \-e bobcat mstream\fP) .PP \fBFBB::MultiStreambuf\fP: \fIstd::streambuf\fP specializations performing insertions to multiple \fIstd::ostream\fP objects\&. .br (Manpage: \fIman \-e bobcat multistreambuf\fP) .PP \fBFBB::OFdStream\fP: stream inserting information into a device whose file descriptor is available\&. .br (Manpage: \fIman \-e bobcat ofdstream\fP) .PP \fBFBB::OFdStreambuf\fP: Output stream buffer initialized by a file descriptor\&. .br (Manpage: \fIman \-e bobcat ofdstreambuf\fP) .PP \fBFBB::OFilterStreambuf\fP: \fIstd::streambuf\fP specialization implementing an \fIstd::ostream\fP filtering design pattern\&. .br (Manpage: \fIman \-e bobcat ofilterstreambuf\fP) .PP \fBFBB::OFoldStream\fP: \fIstd::ostream\fP using an \fIOFoldStreambuf\fP as its streambuf\&. .br (Manpage: \fIman \-e bobcat ofoldstream\fP) .PP \fBFBB::OFoldStreambuf\fP: \fIOFilterStreambuf\fP (\fIstd::streambuf\fP) specialization folding text lines between left and right margins\&. .br (Manpage: \fIman \-e bobcat ofoldstreambuf\fP) .PP \fBFBB::OHexStreambuf\fP: \fIOHexStreambuf\fP (\fIstd::streambuf\fP) specialization inserting characters into a stream by their hex values\&. .br (Manpage: \fIman \-e bobcat ohexstreambuf\fP) .PP \fBFBB::OneKey\fP: Single keystroke input, not requiring `Return\(cq\&\&. .br (Manpage: \fIman \-e bobcat onekey\fP) .PP \fBFBB::OSharedStream\fP: \fIstd::ostream\fP operations on shared memory\&. .br (Manpage: \fIman \-e bobcat osharedstream\fP) .PP \fBFBB::Pattern\fP: Regular expression pattern matching\&. .br (Manpage: \fIman \-e bobcat pattern\fP) .PP \fBFBB::Pipe\fP: Defines a system level pipe\&. .br (Manpage: \fIman \-e bobcat pipe\fP) .PP \fBFBB::PrimeFactors\fP: Prime\-number factorization of (BigInt) values\&. .br (Manpage: \fIman \-e bobcat primefactors\fP) .PP \fBFBB::Process\fP: Runs child processes, defining pipes between parents and child processes\&. .br (Manpage: \fIman \-e bobcat process\fP) .PP \fBFBB::PtrIter\fP: Input iterator whose dereferenced value returns a pointer rather than a reference to an element\&. Also offers: a \fIptrIter\fP function template\&. .br (Manpage: \fIman \-e bobcat ptriter\fP) .PP \fBFBB::Randbuffer\fP: implements a \fIstreambuf\fP generating random numbers\&. .br (Manpage: \fIman \-e bobcat randbuffer\fP) .PP \fBFBB::Ranger\fP: a class template creating ranges that are accepted by range\-based for\-loops\&. Also offered: a \fIranger\fP function template\&. .br (Manpage: \fIman \-e bobcat ranger\fP) .PP \fBFBB::ReadLineBuf\fP: implements a \fIstreambuf\fP using the Gnu \fIreadline\fP library to allow editing an \fIstd::istream\fP\(cq\&s contents\&. .br (Manpage: \fIman \-e bobcat readlinebuf\fP) .PP \fBFBB::ReadLineHistory\fP: provides access to the history of lines read from a \fIReadLineBuf\fP\&. .br (Manpage: \fIman \-e bobcat readlinehistory\fP) .PP \fBFBB::ReadLineStream\fP: \fIstd::istream\fP class using a \fIReadLineBuf\fP for its \fIstd::streambuf\fP\&. .br (Manpage: \fIman \-e bobcat readlinestream\fP) .PP \fBFBB::Redirector\fP: Defines system level file redirection\&. .br (Manpage: \fIman \-e bobcat redirector\fP) .PP \fBFBB::repeat\fP: Two short extensions of the STL \fIfor_each\fP generic algorithm\&. .br (Manpage: \fIman \-e bobcat repeat\fP) .PP \fBFBB::ReverseIterator\fP: a class template creating a bidirectional reverse iterator returning values of a specified type\&. .br (Manpage: \fIman \-e bobcat reverseiterator\fP) .PP \fBFBB::Selector\fP: Offers timed delays and multiple file I/O\&. .br (Manpage: \fIman \-e bobcat selector\fP) .PP \fBFBB::ServerSocket\fP: defines a socket to which clients can connect\&. .br (Manpage: \fIman \-e bobcat serversocket\fP) .PP \fBFBB::SharedBlock\fP: Shared memory data block info\&. .br (Manpage: \fIman \-e bobcat sharedblock\fP) .PP \fBFBB::SharedCondition\fP: Shared memory condition variable\&. .br (Manpage: \fIman \-e bobcat sharedcondition\fP) .PP \fBFBB::SharedMemory\fP: Shared memory structure\&. .br (Manpage: \fIman \-e bobcat sharedmemory\fP) .PP \fBFBB::SharedMutex\fP: Mutex for shared memory\&. .br (Manpage: \fIman \-e bobcat sharedmutex\fP) .PP \fBFBB::SharedPos\fP: Shared Memory offset controller\&. .br (Manpage: \fIman \-e bobcat sharedpos\fP) .PP \fBFBB::SharedReadme\fP: Background info about the implementation of Bobcat\(cq\&s Shared Memory\&. .br (Manpage: \fIman \-e bobcat sharedreadme\fP) .PP \fBFBB::SharedSegment\fP: Shared memory data structure\&. .br (Manpage: \fIman \-e bobcat sharedsegment\fP) .PP \fBFBB::SharedStream\fP: I/O operations on shared memory\&. .br (Manpage: \fIman \-e bobcat sharedstream\fP) .PP \fBFBB::SharedStreambuf\fP: \fIstd::streambuf\fP interfacing to shared memory\&. .br (Manpage: \fIman \-e bobcat sharedstreambuf\fP) .PP \fBFBB::Signal\fP: Defines signals, allowing signal handlers to use object\(cq\&s data members c\&.q\&. to call object\(cq\&s members functions\&. .br (Manpage: \fIman \-e bobcat signal\fP) .PP \fBFBB::SocketBase\fP: Base class for \fIClientSocket\fP and \fIServerSocket\fP\&. .br (Manpage: \fIman \-e bobcat socketbase\fP) .PP \fBFBB::Stat\fP: Determines file characteristics\&. .br (Manpage: \fIman \-e bobcat stat\fP) .PP \fBFBB::String\fP: Offers extended \fIstd::string\fP functionality\&. .br (Manpage: \fIman \-e bobcat string\fP) .PP \fBFBB::StringLine\fP: Offers \fIoperator>>\fP extracting lines from \fIstd::istream\fP objects\&. .br (Manpage: \fIman \-e bobcat stringline\fP) .PP \fBFBB::Syslogbuf\fP: streambuf to Buffer generating \fBsyslog\fP(3) messages\&. .br (Manpage: \fIman \-e bobcat syslogbuf\fP) .PP \fBFBB::SyslogStream\fP: stream to Output stream inserting \fBsyslog\fP(3) messages\&. .br (Manpage: \fIman \-e bobcat syslogbuf\fP) .PP \fBFBB::fswap\fP: templates implementing memory bytes based swap functionality .br (Manpage: \fIman \-e bobcat fswap\fP) .PP \fBFBB::Table\fP: Display tables row\- or column\-wise\&. .br (Manpage: \fIman \-e bobcat table\fP) .PP \fBFBB::TableBuf\fP: Display tables row\- or column\-wise\&. .br (Manpage: \fIman \-e bobcat tablebuf\fP) .PP \fBFBB::TableLines\fP: Support class for the class \fITable(Buf)\fP\&. .br (Manpage: \fIman \-e bobcat tablelines\fP) .PP \fBFBB::TableSupport\fP: Support class for the class \fITable(Buf)\fP\&. .br (Manpage: \fIman \-e bobcat tablesupport\fP) .PP \fBFBB::TempStream\fP: Temporary fstream\&. .br (Manpage: \fIman \-e bobcat tempstream\fP) .PP \fBFBB::Tty\fP: Controls echoing of characters entered at the terminal\&. .br (Manpage: \fIman \-e bobcat tty\fP) .PP \fBFBB::TypeTrait\fP: Traits class template to determine various characteristics of types\&. .br (Manpage: \fIman \-e bobcat typetrait\fP) .PP \fBFBB::User\fP: Determines the current user\(cq\&s parameters from \fI/etc/passwd\fP\&. .br (Manpage: \fIman \-e bobcat user\fP) .PP \fBFBB::Xpointer\fP: sets and retrieves the X\-windows pointer\&. .br (Manpage: \fIman \-e bobcat xpointer\fP) .PP \fBFBB::X2a\fP: x\-to\-Ascii conversions of any type supporting insertions into \fIo[string]stream\fP objects\&. .br (Manpage: \fIman \-e bobcat x2a\fP) .PP .SH "CATEGORIES" .PP This section groups classes that somehow belong together\&. The following categories are offered: .IP o \fBCOMMAND LINE INTERFACE AND CONFIGURATION FILES\fP .IP o \fBCONVERSIONS\fP .IP o \fBDATE AND TIME\fP .IP o \fBERRORS AND MESSAGE HANDLING\fP .IP o \fBGENERIC ALGORITHM EXTENSIONS\fP .IP o \fBINTERNET / NETWORKING\fP .IP o \fBOPENSSL AND ENCRYPTION\fP .IP o \fBPATTERN MATCHING\fP .IP o \fBPROCESSES AND SIGNALS\fP .IP o \fBSTREAMS AND FILES\fP .IP o \fBSHARED MEMORY\fP .IP o \fBTABLES\fP .IP o \fBVARIOUS TEMPLATES\fP .IP o \fBVARIOUS OTHER CLASSES\fP .IP o \fBDEPRECATED CLASSES\fP .PP .IP o \fBCOMMAND LINE INTERFACE AND CONFIGURATION FILES\fP .IP \fBFBB::Arg\fP: Interfaces the command line arguments, allowing for short\- and long options\&. The class is implemented as a \fISingleton\fP\&. .br (Manpage: \fIman \-e bobcat arg\fP) .IP \fBFBB::ArgConfig\fP: Inherits from \fIArg\fP and \fIConfigFile\fP allowing for options to be specified as command line options and/or configuration file options\&. The class is implemented as a \fISingleton\fP\&. .br (Manpage: \fIman \-e bobcat argconfig\fP) .IP \fBFBB::CmdFinder\fP: Command\-function associations\&. .br (Manpage: \fIman \-e bobcat cmdfinder\fP) .IP \fBFBB::CmdFinderBase\fP: Base class for \fICmdFinder\fP\&. .br (Manpage: \fIman \-e bobcat cmdfinderbase\fP) .IP \fBFBB::ConfigFile\fP: Processing standard configuration files\&. .br (Manpage: \fIman \-e bobcat configfile\fP) .IP .IP o \fBCONVERSIONS\fP .IP \fBFBB::A2x\fP: Ascii\-to\-x conversions of any type supporting extractions from \fIi[string]stream\fP objects\&. (Manpage: \fIman \-e bobcat a2x\fP) .IP \fBFBB::BigInt\fP: Wrapper class around the openssl BN_ functions for unlimited integer precision arithmetic\&. .br (Manpage: \fIman \-e bobcat bigint\fP) .IP \fBFBB::CSV\fP: Objects of this class allow easy handling of comma\-separated values\&. .br (Manpage: \fIman \-e bobcat csv\fP) .IP \fBFBB::IBase64Stream\fP: stream implementing base64 encoding and decoding, using a \fIFBB::Base64Streambuf\fP stream buffer\&. .br (Manpage: \fIman \-e bobcat ibase64stream\fP) .IP \fBFBB::IBase64Streambuf\fP: \fIFBB::IFilterStreambuf\fP specialization implementing base64 encoding and decoding\&. .br (Manpage: \fIman \-e bobcat ibase64streambuf\fP) .IP \fBFBB::X2a\fP: x\-to\-Ascii conversions of any type supporting insertions into \fIo[string]stream\fP objects\&. .br (Manpage: \fIman \-e bobcat x2a\fP) .IP .IP o \fBDATE AND TIME\fP .IP \fBFBB::DateTime\fP: Manipulations with date and time values\&. .br (Manpage: \fIman \-e bobcat datetime\fP) .IP .IP o \fBERRORS AND MESSAGE HANDLING\fP .IP \fBFBB::Exception\fP: objects of this class accept \fIostream\fP insertions, and are also \fIstd::exception\fP objects\&. .br (Manpage: \fIman \-e bobcat exception\fP) .IP \fBFBB::level\fP: Manipulator setting the log\-level of \fIFBB::Log\fP objects\&. .br (Manpage: \fIman \-e bobcat level\fP) .IP \fBFBB::Log\fP: \fIstd::ostream\fP handling log messages\&. .br (Manpage: \fIman \-e bobcat log\fP) .IP \fBFBB::LogBuffer\fP: \fIstd::streambuf\fP handling log messages\&. .br (Manpage: \fIman \-e bobcat logbuffer\fP) .IP \fBFBB::Syslogbuf\fP: streambuf to Buffer generating \fBsyslog\fP(3) messages\&. .br (Manpage: \fIman \-e bobcat syslogbuf\fP) .IP \fBFBB::SyslogStream\fP: stream to Output stream inserting \fBsyslog\fP(3) messages\&. .br (Manpage: \fIman \-e bobcat syslogbuf\fP) .IP .IP o \fBGENERIC ALGORITHM EXTENSIONS\fP .IP \fBFBB::binary_search\fP: A modification of the STL \fIbinary_search\fP algorithm returning the location of the searched value in a sorted series of values\&. .br (Manpage: \fIman \-e bobcat binarysearch\fP) .IP \fBFBB::LinearMap\fP: a class template container implementing a map using a linear search algorithm\&. .br (Manpage: \fIman \-e bobcat linearmap\fP) .IP \fBFBB::repeat\fP: Two short extensions of the STL \fIfor_each\fP generic algorithm\&. .br (Manpage: \fIman \-e bobcat repeat\fP) .IP .IP o \fBINTERNET / NETWORKING\fP .IP \fBFBB::CGI\fP: a class implementing the facilities accessing the data made available through the Common Gateway Interface\&. .br (Manpage: \fIman \-e bobcat cgi\fP) .IP \fBFBB::Cidr\fP: a class testing whether IP4 Internet addresses belong to address ranges defined by Classless Inter\-Domain Routing (CIDR) address block specifications\&. .br (Manpage: \fIman \-e bobcat cidr\fP) .IP \fBFBB::ClientSocket\fP: a socket for tcp\-communication with a server\&. .br (Manpage: \fIman \-e bobcat clientsocket\fP) .IP \fBFBB::GetHostent\fP: Obtains \fIhostent\fP struct from hostname or \-address\&. .br (Manpage: \fIman \-e bobcat gethostent\fP) .IP \fBFBB::Hostname\fP: Derived from \fIHostent\fP, allows the initialization from a \fIstd::string\fP, or from an \fIFBB::InetAddrress\fP\&. .br (Manpage: \fIman \-e bobcat hostname\fP) .IP \fBFBB::InetAddress\fP: Base class (no public constructor) for objects representing an internet address as used with sockets\&. Contains address and portnumbers\&. .br (Manpage: \fIman \-e bobcat inetaddress\fP) .IP \fBFBB::Hostent\fP: Wrapper around the \fIhostent\fP struct\&. .br (Manpage: \fIman \-e bobcat hostent\fP) .IP \fBFBB::LocalClientSocket\fP: a Unix domain socket for tcp\-communication with a Unix domain (local) server\&. .br (Manpage: \fIman \-e bobcat localclientsocket\fP) .IP \fBFBB::LocalServerSocket\fP: defines a Unix domain socket to which clients on the local host can connect\&. .br (Manpage: \fIman \-e bobcat localserversocket\fP) .IP \fBFBB::LocalSocketBase\fP: Base class for \fILocalClientSocket\fP and \fILocalServerSocket\fP\&. .br (Manpage: \fIman \-e bobcat localsocketbase\fP) .IP \fBFBB::MailHeaders\fP: extracts mail headers from SMTP\-email\&. .br (Manpage: \fIman \-e bobcat mailheaders\fP) .IP \fBFBB::Milter\fP: interfaces the sendmail mail filter facilities\&. .br (Manpage: \fIman \-e bobcat milter\fP) .IP \fBFBB::ServerSocket\fP: defines a socket to which clients can connect\&. .br (Manpage: \fIman \-e bobcat serversocket\fP) .IP \fBFBB::SocketBase\fP: Base class for \fIClientSocket\fP and \fIServerSocket\fP\&. .br (Manpage: \fIman \-e bobcat socketbase\fP) .IP .IP o \fBOPENSSL AND ENCRYPTION\fP .IP \fBFBB::BigInt\fP: Wrapper class around the openssl BN_ functions for unlimited integer precision arithmetic\&. .br (Manpage: \fIman \-e bobcat bigint\fP) .IP \fBFBB::DecryptBuf\fP: Decrypting information\&. .br (Manpage: \fIman \-e bobcat decryptbuf\fP) .IP \fBFBB::DiffieHellman\fP: Computing shared keys using the Diffie\-Hellman algorithm\&. .br (Manpage: \fIman \-e bobcat diffiehellman\fP) .IP \fBFBB::DigestBuf\fP: Computing message digests\&. .br (Manpage: \fIman \-e bobcat digestbuf\fP) .IP \fBFBB::EncryptBuf\fP: Encrypting information\&. .br (Manpage: \fIman \-e bobcat encryptbuf\fP) .IP \fBFBB::HmacBuf\fP: Computing HMAC message digests\&. .br (Manpage: \fIman \-e bobcat hmacbuf\fP) .IP \fBFBB::ISymCryptStream\fP: stream implementing symmetric encryption and decryption, using a \fIFBB::ISymCryptStreambuf\fP stream buffer\&. .br (Manpage: \fIman \-e bobcat isymcryptstream\fP) .IP \fBFBB::ISymCryptStreambuf\fP: \fIFBB::IFilterStreambuf\fP specialization implementing symmetric cryptography\&. .br (Manpage: \fIman \-e bobcat isymcryptstreambuf\fP) .IP .IP o \fBPATTERN MATCHING\fP .IP \fBFBB::Glob\fP: Obtain a list of files matching a certain pattern\&. .br (Manpage: \fIman \-e bobcat glob\fP) .IP \fBFBB::Pattern\fP: Regular expression pattern matching\&. .br (Manpage: \fIman \-e bobcat pattern\fP) .IP .IP o \fBPROCESSES AND SIGNALS\fP .IP \fBFBB::Fork\fP: Defines \fBfork\fP(2) as part of a Template Algorithm Design Pattern\&. .br (Manpage: \fIman \-e bobcat fork\fP) .IP \fBFBB::Process\fP: Runs child processes, defining pipes between parents and child processes\&. .br (Manpage: \fIman \-e bobcat process\fP) .IP \fBFBB::Signal\fP: Defines signals, allowing signal handlers to use object\(cq\&s data members c\&.q\&. to call object\(cq\&s members functions\&. .br (Manpage: \fIman \-e bobcat signal\fP) .IP .IP o \fBSTREAMS AND FILES\fP .IP \fBFBB::DigestBuf\fP: Computing message digests\&. .br (Manpage: \fIman \-e bobcat digestbuf\fP) .IP \fBFBB::IFdStream\fP: stream extracting information from a device whose file descriptor is available\&. .br (Manpage: \fIman \-e bobcat ifdstream\fP) .IP \fBFBB::IFdStreambuf\fP: Input stream buffer initialized by a file descriptor\&. .br (Manpage: \fIman \-e bobcat ifdstreambuf\fP) .IP \fBFBB::IFilterStreambuf\fP: \fIstd::streambuf\fP specialization implementing an \fIstd::istream\fP filtering design pattern\&. .br (Manpage: \fIman \-e bobcat ifilterstreambuf\fP) .IP \fBFBB::IOStream\fP: class combining \fIstd::istream\fP and \fIstd::ostream\fP features\&. .br (Manpage: \fIman \-e bobcat iostream\fP) .IP \fBFBB::IOStreambuf\fP: \fIstd::streambuf\fP specialization allowing combined input and output operations\&. .br (Manpage: \fIman \-e bobcat iostreambuf\fP) .IP \fBFBB::IRandStream\fP: stream to extract random numbers from\&. .br ((Manpage: \fIman \-e bobcat irandstream\fP)) .IP \fBFBB::ISharedStream\fP: \fIstd::istream\fP operations on shared memory\&. .br (Manpage: \fIman \-e bobcat isharedstream\fP) .IP \fBFBB::lm\fP: Manipulator setting the left margin of \fIFBB::OFoldStream\fP objects\&. .br (Manpage: \fIman \-e bobcat lm\fP) .IP \fBFBB::Mbuf\fP: \fIstd::streambuf\fP specialization for inserting messages, mainly used by \fIFBB::Mstream\fP objects\&. .br (Manpage: \fIman \-e bobcat mbuf\fP) .IP \fBFBB::mlm\fP: Manipulator modifying the left margin of \fIFBB::OFoldStream\fP objects\&. .br (Manpage: \fIman \-e bobcat mlm\fP) .IP \fBFBB::Mstream\fP: Inserts messages into streams\&. .br (Manpage: \fIman \-e bobcat mstream\fP) .IP \fBFBB::MultiStreambuf\fP: \fIstd::streambuf\fP specializations performing insertions to multiple \fIstd::ostream\fP objects\&. .br (Manpage: \fIman \-e bobcat multistreambuf\fP) .IP \fBFBB::OFdStream\fP: stream inserting information into a device whose file descriptor is available\&. .br (Manpage: \fIman \-e bobcat ofdstream\fP) .IP \fBFBB::OFdStreambuf\fP: Output stream buffer initialized by a file descriptor\&. .br (Manpage: \fIman \-e bobcat ofdstreambuf\fP) .IP \fBFBB::OFilterStreambuf\fP: \fIstd::streambuf\fP specialization implementing an \fIstd::ostream\fP filtering design pattern\&. .br (Manpage: \fIman \-e bobcat ofilterstreambuf\fP) .IP \fBFBB::OFoldStream\fP: \fIstd::ostream\fP using an \fIOFoldStreambuf\fP as its streambuf\&. .br (Manpage: \fIman \-e bobcat ofoldstream\fP) .IP \fBFBB::OFoldStreambuf\fP: \fIOFilterStreambuf\fP (\fIstd::streambuf\fP) specialization folding text lines between left and right margins\&. .br (Manpage: \fIman \-e bobcat ofoldstreambuf\fP) .IP \fBFBB::OHexStreambuf\fP: \fIOHexStreambuf\fP (\fIstd::streambuf\fP) specialization inserting characters into a stream by their hex values\&. .br (Manpage: \fIman \-e bobcat ohexstreambuf\fP) .IP \fBFBB::OSharedStream\fP: \fIstd::ostream\fP operations on shared memory\&. .br (Manpage: \fIman \-e bobcat osharedstream\fP) .IP \fBFBB::Pipe\fP: Defines a system level pipe\&. .br (Manpage: \fIman \-e bobcat pipe\fP) .IP \fBFBB::Randbuffer\fP: implements a \fIstreambuf\fP generating random numbers\&. .br (Manpage: \fIman \-e bobcat randbuffer\fP) .IP \fBFBB::ReadLineBuf\fP: implements a \fIstreambuf\fP using the Gnu \fIreadline\fP library to allow editing an \fIstd::istream\fP\(cq\&s contents\&. .br (Manpage: \fIman \-e bobcat readlinebuf\fP) .IP \fBFBB::ReadLineHistory\fP: provides access to the history of lines read from a \fIReadLineBuf\fP\&. .br (Manpage: \fIman \-e bobcat readlinehistory\fP) .IP \fBFBB::ReadLineStream\fP: \fIstd::istream\fP class using a \fIReadLineBuf\fP for its \fIstd::streambuf\fP\&. .br (Manpage: \fIman \-e bobcat readlinestream\fP) .IP \fBFBB::Redirector\fP: Defines system level file redirection\&. .br (Manpage: \fIman \-e bobcat redirector\fP) .IP \fBFBB::Selector\fP: Offers timed delays and multiple file I/O\&. .br (Manpage: \fIman \-e bobcat selector\fP) .IP \fBFBB::SharedStream\fP: I/O operations on shared memory\&. .br (Manpage: \fIman \-e bobcat sharedstream\fP) .IP \fBFBB::SharedStreambuf\fP: \fIstd::streambuf\fP interfacing to shared memory\&. .br (Manpage: \fIman \-e bobcat sharedstreambuf\fP) .IP \fBFBB::Stat\fP: Determines file characteristics\&. .br (Manpage: \fIman \-e bobcat stat\fP) .IP \fBFBB::TempStream\fP: Temporary fstream\&. .br (Manpage: \fIman \-e bobcat tempstream\fP) .IP .IP o \fBSHARED MEMORY\fP .IP \fBFBB::ISharedStream\fP: \fIstd::istream\fP operations on shared memory\&. .br (Manpage: \fIman \-e bobcat isharedstream\fP) .IP \fBFBB::OSharedStream\fP: \fIstd::ostream\fP operations on shared memory\&. .br (Manpage: \fIman \-e bobcat osharedstream\fP) .IP \fBFBB::SharedBlock\fP: Shared memory data block info\&. .br (Manpage: \fIman \-e bobcat sharedblock\fP) .IP \fBFBB::SharedCondition\fP: Shared memory condition variable\&. .br (Manpage: \fIman \-e bobcat sharedcondition\fP) .IP \fBFBB::SharedMemory\fP: Shared memory structure\&. .br (Manpage: \fIman \-e bobcat sharedmemory\fP) .IP \fBFBB::SharedMutex\fP: Mutex for shared memory\&. .br (Manpage: \fIman \-e bobcat sharedmutex\fP) .IP \fBFBB::SharedPos\fP: Shared Memory offset controller\&. .br (Manpage: \fIman \-e bobcat sharedpos\fP) .IP \fBFBB::SharedReadme\fP: Background info about the implementation of Bobcat\(cq\&s Shared Memory\&. .br (Manpage: \fIman \-e bobcat sharedreadme\fP) .IP \fBFBB::SharedSegment\fP: Shared memory data structure\&. .br (Manpage: \fIman \-e bobcat sharedsegment\fP) .IP \fBFBB::SharedStream\fP: I/O operations on shared memory\&. .br (Manpage: \fIman \-e bobcat sharedstream\fP) .IP \fBFBB::SharedStreambuf\fP: \fIstd::streambuf\fP interfacing to shared memory\&. .br (Manpage: \fIman \-e bobcat sharedstreambuf\fP) .IP .IP o \fBTABLES\fP .IP \fBFBB::Align\fP: Specifies \fITable(Buf)\fP column and element alignments\&. .br (Manpage: \fIman \-e bobcat align\fP) .IP \fBFBB::Table\fP: Display tables row\- or column\-wise\&. .br (Manpage: \fIman \-e bobcat table\fP) .IP \fBFBB::TableBuf\fP: Display tables row\- or column\-wise\&. .br (Manpage: \fIman \-e bobcat tablebuf\fP) .IP \fBFBB::TableLines\fP: Support class for the class \fITable(Buf)\fP\&. .br (Manpage: \fIman \-e bobcat tablelines\fP) .IP \fBFBB::TableSupport\fP: Support class for the class \fITable(Buf)\fP\&. .br (Manpage: \fIman \-e bobcat tablesupport\fP) .IP .IP o \fBVARIOUS TEMPLATES\fP .IP \fBFBB::binary_search\fP: A modification of the STL \fIbinary_search\fP algorithm returning the location of the searched value in a sorted series of values\&. .br (Manpage: \fIman \-e bobcat binarysearch\fP) .IP \fBFBB::BinOps\fP: A series of function templates implementing binary operators for classes that implement the matching binary assignment operators themselves\&. .br (Manpage: \fIman \-e bobcat binops\fP) .IP \fBFBB::fswap\fP: templates implementing memory bytes based swap functionality .br (Manpage: \fIman \-e bobcat fswap\fP) .IP \fBFBB::Hash\&.\&.\&.\fP: Various class templates implementing mapping containers using hashing\&. .br (Manpage: \fIman \-e bobcat hash\fP) .IP \fBFBB::Iterator\fP: a class template creating a bidirectional iterator returning values of a specified type\&. .br (Manpage: \fIman \-e bobcat iterator\fP) .IP \fBFBB::LinearMap\fP: a class template container implementing a map using a linear search algorithm\&. .br (Manpage: \fIman \-e bobcat linearmap\fP) .IP \fBFBB::PtrIter\fP: Input iterator whose dereferenced value returns a pointer rather than a reference to an element\&. Also offers: a \fIptrIter\fP function template\&. .br (Manpage: \fIman \-e bobcat ptriter\fP) .IP \fBFBB::Ranger\fP: a class template creating ranges that are accepted by range\-based for\-loops\&. Also offered: a \fIranger\fP function template\&. .br (Manpage: \fIman \-e bobcat ranger\fP) .IP \fBFBB::repeat\fP: Two short extensions of the STL \fIfor_each\fP generic algorithm\&. .br (Manpage: \fIman \-e bobcat repeat\fP) .IP \fBFBB::ReverseIterator\fP: a class template creating a bidirectional reverse iterator returning values of a specified type\&. .br (Manpage: \fIman \-e bobcat reverseiterator\fP) .IP \fBFBB::TypeTrait\fP: Traits class template to determine various characteristics of types\&. .br (Manpage: \fIman \-e bobcat typetrait\fP) .IP .IP o \fBVARIOUS OTHER CLASSES\fP .IP \fBFBB::CSV\fP: Objects of this class allow easy handling of comma\-separated values\&. .br (Manpage: \fIman \-e bobcat csv\fP) .IP \fBFBB::Indent\fP: Class and manipulators performing text indentation\&. .br (Manpage: \fIman \-e bobcat indent\fP) .IP \fBFBB::Manipulators\fP: manipulators defined in the namespace \fBFBB\fP\&. .br (Manpage: \fIman \-e bobcat manipulators\fP) .IP \fBFBB::OneKey\fP: Single keystroke input, not requiring `Return\(cq\&\&. .br (Manpage: \fIman \-e bobcat onekey\fP) .IP \fBFBB::PrimeFactors\fP: Pprime\-number factorization of (BigInt) values\&. .br (Manpage: \fIman \-e bobcat primefactors\fP) .IP \fBFBB::String\fP: Offers extended \fIstd::string\fP functionality\&. .br (Manpage: \fIman \-e bobcat string\fP) .IP \fBFBB::StringLine\fP: Offers \fIoperator>>\fP extracting lines from \fIstd::istream\fP objects\&. .br (Manpage: \fIman \-e bobcat stringline\fP) .IP \fBFBB::Tty\fP: Controls echoing of characters entered at the terminal\&. .br (Manpage: \fIman \-e bobcat tty\fP) .IP \fBFBB::User\fP: Determines the current user\(cq\&s parameters from \fI/etc/passwd\fP\&. .br (Manpage: \fIman \-e bobcat user\fP) .IP \fBFBB::Xpointer\fP: sets and retrieves the X\-windows pointer\&. .br (Manpage: \fIman \-e bobcat xpointer\fP) .IP .IP o \fBDEPRECATED CLASSES\fP Deprecated classes should no longer be used\&. Their functionality is better provided by other classes\&. The deprecated classes are no longer maintained\&. .IP \fBFBB::AutoPtr\fP: replacement: \fBC++\-11\fP \fIstd::shared_ptr\fP and \fIunique_ptr\fP\&. .br .IP \fBFBB::Errno\fP: replacement: \fIFBB::Exception\fP\&. .br .IP \fBFBB::FnWrap\fP: replacement: \fBC++\-11\fP lambda functions\&. .br .IP \fBFBB::for_each\fP: replacement: \fBC++\-11\fP lambda functions\&. .br .IP \fBFBB::Msg\fP: replacement: \fIFBB::Mstream\fP\&. .br .IP \fBFBB::RefCount\fP: replacement: \fBC++\-11\fP \fIstd::shared_ptr\fP and \fIunique_ptr\fP\&. .br .PP .SH "LINKING" .PP To link programs against the shared \fBBobcat\fP library (e\&.g\&., \fIlibbobcat3\&.so\fP) it is usually sufficient to merely specify \fI\-lbobcat\fP\&. E\&.g\&., .nf g++ \-\-std=c++11 main\&.cc \-lbobcat .fi .PP Due to a change in library handling by the linker (cf\&. http://fedoraproject\&.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\&., \fIBigInt\fP) the \fIlibcrypto\fP library must also be specified, and programs using such classes must be linked against \fIbobcat\fP and \fIcrypto\fP: .nf g++ \-\-std=c++11 main\&.cc \-lbobcat \-lcrypto .fi Man\-pages of classes requiring additional libraries mention these additional libraries in their \fBSYNOPSIS\fP sections\&. .PP When using \fIstatic\fP linking, the situation is slightly more problematic, and no general rule can be provided here\&. To create a statically linked program the flag \fI\-static\fP must be provided, but in addition the \fI\-pthread\fP flag must often be specified as well\&. If, when statically linking your program, undefined references to \fIpthread_\&.\&.\&.\fP identifiers are reported, then that is a sure sign that you need to provide the \fI\-pthread\fP flag as well\&. .PP When using static linking additional libraries, not specified at the man\-pages, may also be required\&. E\&.g\&., when using the \fIXpointer\fP class and using static linking, the command becomes: .nf g++ main\&.cc \-static \-pthread \-lbobcat \-lX11 \-lxcb \-lXdmcp \-lXau .fi 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\&. .PP .SH "FILES" .IP o \fB/usr/include/bobcat/\fP: .br .IP o \fB/usr/lib/libbobcat\&.*\fP: .br (shared, static libraries) .PP .SH "SEE ALSO" The individual \fBbobcat/3\fP header files, with man\-pages accessible using \fIman \-e bobcat class\fP (all lowercase names) .PP .SH "BUGS" No Reported Bugs\&. .PP .SH "DISTRIBUTION FILES" .IP o \fIbobcat_3\&.23\&.01\-x\&.dsc\fP: detached signature; .IP o \fIbobcat_3\&.23\&.01\-x\&.tar\&.gz\fP: source archive; .IP o \fIbobcat_3\&.23\&.01\-x_i386\&.changes\fP: change log; .IP o \fIlibbobcat1_3\&.23\&.01\-x_*\&.deb\fP: debian package holding the libraries; .IP o \fIlibbobcat1\-dev_3\&.23\&.01\-x_*\&.deb\fP: debian package holding the libraries, headers and manual pages; .IP o \fIhttp://sourceforge\&.net/projects/bobcat\fP: public archive location; .PP .SH "BOBCAT" Bobcat is an acronym of `Brokken\(cq\&s Own Base Classes And Templates\(cq\&\&. .PP .SH "COPYRIGHT" This is free software, distributed under the terms of the GNU General Public License (GPL)\&. .PP .SH "AUTHOR" Frank B\&. Brokken (\fBf\&.b\&.brokken@rug\&.nl\fP)\&. .PP