Bobcat(7)

πŸ’– Bobcat(7) β€” C++ Classes πŸ’–

okay bestie, buckle UP β€” this is the Bobcat(7) overview page, like the group chat of the whole Bobcat library. 🫢


✨ NAME ✨

Bobcat β€” Overview of classes in the Bobcat library 🌸


🌈 DESCRIPTION 🌈

So here's the tea β˜• β€” the classes of the Bobcat library may be used after including bobcat/classname in sources. (yes, literally that path, no cap)

Generally, programs using the Bobcat library must be at least linked against the Bobcat library. πŸ’… If you wanna know more about linking programs to the required libraries, go peek at the section LINKING. (that's a real section, it's further down the page, part 2 energy)

All classes and other elements are defined in the FBB namespace. πŸ‘‘ For some classes, manipulators are available, which are also 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 CATEGORIES section groups classes that somehow belong together into various categories. 🌈

And now, the main event β€” 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 (yep it's listed again β€” the page said it twice, so we say it twice, we don't edit the queen's homework πŸ’…)
  • 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::Flock β€” (Un)Locks access to a file allowing multiple programs to synchronize the use of the same data. Manpage: man -e bobcat flock
  • 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/FBB::IFdStreamS β€” stream extracting information from a device whose file descriptor is available. Manpage: man -e bobcat ifdstream
  • FBB::IFdBuf/FBB::IFdBufS β€” 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::ImmapStream β€” stream extracting information from a file using mmap(2) to load the file’s data into memory. Manpage: man -e bobcat immapstream
  • FBB::IOmmapStream β€” stream extracting information from and/or writing information to a file using mmap(2) to load the file’s data into memory. Manpage: man -e bobcat iommapstream
  • 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::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::MmapBuf β€” std::streambuf using mmap(2) to load the file’s data into memory. Manpage: man -e bobcat mmapbuf
  • FBB::OmmapStream β€” stream writing information to a file using mmap(2) to load the file’s data into memory. Manpage: man -e bobcat ommapstream
  • 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::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

and that's just part 1, bestie β€” there's more where this came from 🌸

  • FBB::OFilterBuf β€” an std::streambuf specialization that's serving the whole std::ostream filtering design pattern fantasy πŸ’…. (Manpage: man -e bobcat ofilterbuf)
  • FBB::OFoldStream β€” an std::ostream that literally uses an OFoldBuf as its streambuf, no cap πŸŽ€. (Manpage: man -e bobcat ofoldstream)
  • FBB::OFoldBuf β€” an OFilterBuf (std::streambuf) specialization that folds text lines right in between your left and right margins, it's giving cozy πŸ¦‹. (Manpage: man -e bobcat ofoldbuf)
  • FBB::OHexBuf β€” an OHexBuf (std::streambuf) specialization that inserts characters into a stream by their hex values, iconic behavior ✨. (Manpage: man -e bobcat ohexbuf)
  • FBB::OmmapStream β€” a stream that writes info to a file using mmap(2) to load the file's data into memory, main character energy fr fr πŸ”₯. (Manpage: man -e bobcat ommapstream)
  • FBB::OMutexStream β€” a Mutex protected std::ostream, keeping your threads from fighting, periodt πŸ‘‘. (Manpage: man -e bobcat mxstream)
  • FBB::OneKey β€” single keystroke input that does NOT require Return, obsessed 😭. (Manpage: man -e bobcat onekey)
  • FBB::OSymCryptStream β€” a stream implementing symmetric encryption and decryption, using an FBB::OSymCryptStreambuf stream buffer, slay πŸ’–. (Manpage: man -e bobcat osymcryptstream)
  • FBB::OSymCryptStreambuf β€” a streambuf derived from FBB::EoiBuf that implements symmetric cryptography, no notes 🌸. (Manpage: man -e bobcat osymcryptstreambuf)
  • FBB::Pattern β€” regular expression pattern matching, lowkey the moment πŸ’…. (Manpage: man -e bobcat pattern)
  • FBB::Pipe β€” defines a system level pipe, bestie's little tube of data πŸŽ€. (Manpage: man -e bobcat pipe)
  • FBB::PrimeFactors β€” prime-number factorization of (BigInt) values, it's giving math girlie 🧚. (Manpage: man -e bobcat primefactors)
  • FBB::Process β€” runs child processes, defining pipes between parents and child processes, chaotic family dynamics but make it Unix πŸ”₯. (Manpage: man -e bobcat process)
  • FBB::PtrIter β€” an input iterator whose dereferenced value returns a pointer rather than a reference to an element. Also offers: a ptrIter function template, two-for-one deal ✨. (Manpage: man -e bobcat ptriter)
  • FBB::RandBuf β€” implements a streambuf generating random numbers, manifesting chaos πŸ¦‹. (Manpage: man -e bobcat randbuf)
  • FBB::RandomMt β€” a class template generating random numbers, the randomness is randoming fr fr πŸ’€. (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, so versatile, obsessed πŸ‘‘. (Manpage: man -e bobcat ranger)
  • FBB::ReadLineBuf β€” implements a streambuf using the Gnu readline library to allow editing an std::istream's content, bougie and worth it πŸ’…. (Manpage: man -e bobcat readlinebuf)
  • FBB::ReadLineHistory β€” provides access to the history of lines read from a ReadLineBuf, it's a whole archive moment πŸ“š. (Manpage: man -e bobcat readlinehistory)
  • FBB::ReadLineStream β€” a std::istream class using a ReadLineBuf for its std::streambuf, iconic combo πŸŽ€. (Manpage: man -e bobcat readlinestream)
  • FBB::Redirector β€” defines system level file redirection, redirecting the vibes ✨. (Manpage: man -e bobcat redirector)
  • FBB::repeat β€” two short extensions of the STL for_each generic algorithm, doing the most while doing the least 🌸. (Manpage: man -e bobcat repeat)
  • FBB::Reverse β€” a class template creating a reverse iterator returning values of a specified type, going backwards but make it fashion πŸ’…. (Manpage: man -e bobcat reverse)
  • FBB::Selector β€” offers timed delays and multiple file I/O, multitasking queen πŸ‘‘. (Manpage: man -e bobcat selector)
  • FBB::Semaphore β€” Dijkstra's (1962) Semaphore data type, vintage but still serving πŸ”₯. (Manpage: man -e bobcat semaphore)
  • FBB::ServerSocket β€” defines a socket to which clients can connect, the hostess with the mostest πŸŽ€. (Manpage: man -e bobcat serversocket)
  • FBB::Signal β€” defines signals, allowing signal handlers to use object's data members c.q. to call object's members functions, so clever fr fr ✨. (Manpage: man -e bobcat signal)
  • FBB::SocketBase β€” the base class for ClientSocket and ServerSocket, the founding mother πŸ’…. (Manpage: man -e bobcat socketbase)
  • FBB::Stat β€” determines file characteristics, snooping but for files πŸ”. (Manpage: man -e bobcat stat)
  • FBB::StdExtractor β€” executes child processes not expecting input but maybe writing their standard output and error streams, lowkey reliable πŸ¦‹. (Manpage: man -e bobcat stdextractor)
  • FBB::String β€” offers extended std::string functionality, glow-up edition πŸ’–. (Manpage: man -e bobcat string)
  • FBB::StringLine β€” offers operator>> extracting lines from std::istream objects, handy and cute 🌸. (Manpage: man -e bobcat stringline)
  • FBB::SyslogBuf β€” streambuf to Buffer generating syslog(3) messages, logging girlie πŸŽ€. (Manpage: man -e bobcat syslogbuf)
  • FBB::SyslogStream β€” stream to Output stream inserting syslog(3) messages, the sibling that gets the vibes out ✨. (Manpage: man -e bobcat syslogstream)
  • FBB::fswap β€” templates implementing memory bytes based swap functionality, raw and real πŸ’€. (Manpage: man -e bobcat fswap)
  • FBB::Table β€” display tables row- or column-wise, organized queen πŸ‘‘. (Manpage: man -e bobcat table)
  • FBB::TableBuf β€” display tables row- or column-wise, the buffering twin πŸ’…. (Manpage: man -e bobcat tablebuf)
  • FBB::TableLines β€” support class for the class Table(Buf), doing the background work πŸ¦‹. (Manpage: man -e bobcat tablelines)
  • FBB::TableSupport β€” support class for the class Table(Buf), second supportive bestie 🫢. (Manpage: man -e bobcat tablesupport)
  • FBB::TempStream β€” temporary fstream, here for a good time not a long time πŸŽ€. (Manpage: man -e bobcat tempstream)
  • FBB::Tty β€” controls echoing of characters entered at the terminal, keeping your input lowkey private πŸ™ˆ. (Manpage: man -e bobcat tty)
  • FBB::TypeTrait β€” traits class template to determine various characteristics of types, it's giving type detective πŸ”. (Manpage: man -e bobcat typetrait)
  • FBB::User β€” determines the current user's parameters from /etc/passwd, knowing everything about you fr fr πŸ’€. (Manpage: man -e bobcat user)
  • FBB::Xpointer β€” sets and retrieves the X-windows pointer, pointing with attitude ✨. (Manpage: man -e bobcat xpointer)
  • FBB::X2a β€” x-to-Ascii conversions of any type supporting insertions into o[string]stream objects, converting and slaying 🌈. (Manpage: man -e bobcat x2a)

πŸŽ€ CATEGORIES πŸŽ€

Okay so this section literally groups classes that somehow belong together, bestie. The following categories are offered πŸ’–:

  • COMMAND LINE INTERFACE AND CONFIGURATION FILES πŸŽ€
  • CONVERSIONS πŸ¦‹
  • DATE AND TIME 🌸
  • ERRORS AND MESSAGE HANDLING 😭
  • GENERIC ALGORITHM EXTENSIONS ✨
  • INTERNET / NETWORKING 🌈
  • OPENSSL AND ENCRYPTION πŸ”₯
  • PATTERN MATCHING πŸ”
  • PROCESSES, SIGNALS, THREADS πŸ‘‘
  • STREAMS AND FILES πŸ’…
  • SHARED MEMORY 🫢
  • TABLES πŸŽ€
  • VARIOUS TEMPLATES ⭐
  • VARIOUS OTHER CLASSES πŸ’œ

πŸŽ€ 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, one of her and only her πŸ‘‘. (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, double the inheritance, single the instance πŸ’–. (Manpage: man -e bobcat argconfig)
  • FBB::CmdFinder β€” command-function associations, matchmaking but for code πŸŽ€. (Manpage: man -e bobcat cmdfinder)
  • FBB::CmdFinderBase β€” base class for CmdFinder, the supportive parent 🫢. (Manpage: man -e bobcat cmdfinderbase)
  • FBB::Config β€” processing standard configuration files, getting your settings in order ✨. (Manpage: man -e bobcat configfile)
  • FBB::ConfigFile β€” processing standard configuration files (deprecated, use Config). Yeah bestie she's retired, use the new one 😭. (Manpage: man -e bobcat configfile)

πŸ¦‹ CONVERSIONS πŸ¦‹

  • FBB::A2x β€” Ascii-to-x conversions of any type supporting extractions from i[string]stream objects, converting the vibes ✨. (Manpage: man -e bobcat a2x)
  • FBB::BigInt β€” wrapper class around the openssl BN_ functions for unlimited integer precision arithmetic, numbers so big they're iconic πŸ”₯. (Manpage: man -e bobcat bigint)
  • FBB::CSV4180 β€” objects of this class allow easy handling of comma-separated values (implements RFC 4180), commas but make it official πŸŽ€. (Manpage: man -e bobcat csv)
  • FBB::IBase64Stream β€” stream implementing base64 encoding and decoding, using an FBB::Base64Streambuf stream buffer, encoding era πŸ’…. (Manpage: man -e bobcat ibase64stream)
  • FBB::IBase64Buf β€” FBB::IFilterBuf specialization implementing base64 encoding and decoding, the buffer behind the stream πŸ¦‹. (Manpage: man -e bobcat ibase64buf)
  • FBB::IQuotedPrintableStream β€” stream implementing quoted printable encoding and decoding, using an FBB::IQuotedPrintableBuf stream buffer, niche but essential 🌸. (Manpage: man -e bobcat iquotedprintablestream)
  • FBB::IQuotedPrintableBuf β€” FBB::IFilterBuf specialization implementing quoted printable encoding and decoding, doing the actual work πŸ’ͺ. (Manpage: man -e bobcat iquotedprintablebuf)
  • FBB::LDC β€” Large Digital Converter converts (large) values for various radices, radix queen πŸ‘‘. (Manpage: man -e bobcat ldc)
  • FBB::X2a β€” x-to-Ascii conversions of any type supporting insertions into o[string]stream objects, the reverse of A2x, a duo ✨. (Manpage: man -e bobcat x2a)

🌸 DATE AND TIME 🌸

  • FBB::DateTime β€” manipulations with date and time values, it's giving time management girlie ⏰. (Manpage: man -e bobcat datetime)

😭 ERRORS AND MESSAGE HANDLING 😭

  • FBB::Exception β€” objects of this class accept ostream insertions, and are also std::exception objects, dual-threat behavior πŸ’…. (Manpage: man -e bobcat exception)
  • FBB::level β€” manipulator setting the log-level of FBB::Log objects, controlling the drama πŸ”₯. (Manpage: man -e bobcat level)
  • FBB::Log β€” std::ostream handling log messages, keeping receipts πŸ“. (Manpage: man -e bobcat log)
  • FBB::LogBuf β€” std::streambuf handling log messages, the buffering behind the receipts πŸŽ€. (Manpage: man -e bobcat logbuf)
  • FBB::SyslogBuf β€” streambuf to Buffer generating syslog(3) messages, syslog girlie πŸ’–. (Manpage: man -e bobcat syslogbuf)
  • FBB::SyslogStream β€” stream to Output stream inserting syslog(3) messages, the stream twin 🌈. (Manpage: man -e bobcat syslogstream)

✨ 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, finding things with precision πŸ”. (Manpage: man -e bobcat binarysearch)
  • FBB::LinearMap β€” a class template container implementing a map using a linear search algorithm, old-school but honest πŸ’…. (Manpage: man -e bobcat linearmap)
  • FBB::repeat β€” two short extensions of the STL for_each generic algorithm, small but mighty πŸ¦‹. (Manpage: man -e bobcat repeat)

🌈 INTERNET / NETWORKING 🌈

  • FBB::CGI β€” a class implementing the facilities accessing the data made available through the Common Gateway Interface, vintage internet icon πŸŽ€. (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, gatekeeping IPs πŸ’…. (Manpage: man -e bobcat cidr)
  • FBB::ClientSocket β€” a socket for tcp-communication with a server, reaching out first, brave ✨. (Manpage: man -e bobcat clientsocket)
  • FBB::GetHostent β€” obtains hostent struct from hostname or -address, translating the networking language πŸ¦‹. (Manpage: man -e bobcat gethostent)
  • FBB::Hostname β€” derived from Hostent, allows the initialization from a std::string, or from an FBB::InetAddrress, flexible bestie 🌸. (Manpage: man -e bobcat hostname)
  • FBB::InetAddress β€” bestie, this is the base class for objects that rep an internet address like sockets use. And no, there’s no public constructor πŸ’…. It’s holding address and portnumbers, periodt. (Manpage: man -e bobcat inetaddress)
  • FBB::Hostent β€” a lil wrapper around the hostent struct. That’s the whole vibe. (Manpage: man -e bobcat hostent)
  • FBB::LocalClientSocket β€” a Unix domain socket for tcp-communication with a Unix domain (local) server. Local bestie energy. (Manpage: man -e bobcat localclientsocket)
  • FBB::LocalServerSocket β€” defines a Unix domain socket to which clients on the local host can connect. Hostess with the mostest. (Manpage: man -e bobcat localserversocket)
  • FBB::LocalSocketBase β€” base class for LocalClientSocket and LocalServerSocket. The ancestral queen. (Manpage: man -e bobcat localsocketbase)
  • FBB::MailHeaders β€” extracts mail headers from SMTP-email. Snatching those headers. (Manpage: man -e bobcat mailheaders)
  • FBB::Milter β€” interfaces the sendmail mail filter facilities. The middleman, lowkey. (Manpage: man -e bobcat milter)
  • FBB::ServerSocket β€” defines a socket to which clients can connect. Come thru, clients. (Manpage: man -e bobcat serversocket)
  • FBB::SocketBase β€” base class for ClientSocket and ServerSocket. The foundation, no cap. (Manpage: man -e bobcat socketbase)

OPENSSL AND ENCRYPTION πŸ”βœ¨

  • FBB::BigInt β€” wrapper class around the openssl BN_ functions for unlimited integer precision arithmetic. Big numbers, big slay. (Manpage: man -e bobcat bigint)
  • FBB::DiffieHellman β€” computing shared keys using the Diffie-Hellman algorithm. Keys? Shared? We love a secure collab. (Manpage: man -e bobcat diffiehellman)
  • FBB::DigestBuf β€” computing message digests. Digesting those messages. (Manpage: man -e bobcat digestbuf)
  • FBB::ECDH β€” computing shared keys using the elliptic curve based Diffie-Hellman algorithm. Elliptic curve? She’s fancy. (Manpage: man -e bobcat ecdh)
  • FBB::HmacBuf β€” computing HMAC message digests. HMAC, not a snack, but still iconic. (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)

PATTERN MATCHING 🧚

  • FBB::Glob β€” obtain a list of files matching a certain pattern. Globbing and bopping. (Manpage: man -e bobcat glob)
  • FBB::Pattern β€” regular expression pattern matching. Regex girlies rise. (Manpage: man -e bobcat pattern)

PROCESSES, SIGNALS, THREADS ⚑

  • FBB::Exec β€” executes child processes not expecting input and not producing standard output. Silent but deadly. (Manpage: man -e bobcat exec)
  • FBB::CerrExtractor β€” executes child processes not expecting input but maybe writing its standard error stream. Stderr go brrr. (Manpage: man -e bobcat cerrextractor)
  • FBB::CoutExtractor β€” executes child processes not expecting input but maybe producing standard output. Stdout core. (Manpage: man -e bobcat coutextractor)
  • FBB::Fork β€” defines fork(2) as part of a Template Algorithm Design Pattern. Fork it, we ball. (Manpage: man -e bobcat fork)
  • FBB::CinInserter β€” executes child processes expecting input but not producing standard output. Input goes in, nothing comes out. (Manpage: man -e bobcat cininserter)
  • FBB::Process β€” runs child processes, defining pipes between parents and child processes. Family dynamics, but make it Unix. (Manpage: man -e bobcat process)
  • FBB::Semaphore β€” Dijkstra’s (1962) Semaphore data type. Vintage queen. (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. Signals but make it OOP. (Manpage: man -e bobcat signal)
  • FBB::StdExtractor β€” executes child processes not expecting input but maybe writing their standard output and error streams. Both streams? Overachiever. (Manpage: man -e bobcat stdextractor)

STREAMS AND FILES πŸ’§

  • FBB::DigestBuf β€” computing message digests. (Manpage: man -e bobcat digestbuf)
  • FBB::Eoi β€” std::streambuf offering the eoi manipulator. End of input, end of story. (Manpage: man -e bobcat eoi)
  • FBB::EoiBuf β€” std::streambuf offering the eoi manipulator and a configurable stream buffer. (Manpage: man -e bobcat eoibuf)
  • FBB::Flock β€” (Un)Locks access to a file allowing multiple programs to synchronize the use of the same data. Lock it down bestie. (Manpage: man -e bobcat flock)
  • FBB::IFdStream/FBB::IFdStreamS β€” stream extracting information from a device whose file descriptor is available. fd in the chat. (Manpage: man -e bobcat ifdstream)
  • FBB::IFdBuf/FBB::IFdBufS β€” input stream buffer initialized by a file descriptor. Buffer blessed by an fd. (Manpage: man -e bobcat ifdbuf)
  • FBB::IFilterBuf β€” std::streambuf specialization implementing an std::istream filtering design pattern. Filtering, but make it stream. (Manpage: man -e bobcat ifilterbuf)
  • FBB::ImmapStream β€” stream extracting information from a file using mmap(2) to load the file’s data into memory. mmap girlie. (Manpage: man -e bobcat immapstream)
  • FBB::IOmmapStream β€” stream extracting information from and/or writing information to a file using mmap(2) to load the file’s data into memory. In and out, versatile. (Manpage: man -e bobcat iommapstream)
  • FBB::IOStream β€” class combining std::istream and std::ostream features. Both? We love a dual threat. (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::lm β€” manipulator setting the left margin of FBB::OFoldStream objects. Left margin, left behind? No, setting it. (Manpage: man -e bobcat lm)
  • FBB::Mbuf β€” std::streambuf specialization for inserting messages, mainly used by FBB::Mstream objects. Message buffer bestie. (Manpage: man -e bobcat mbuf)
  • FBB::MemoryAccess β€” accesses shared memory data blocks. (Manpage: man -e bobcat memoryaccess)
  • FBB::MemoryBridge β€” Pimpl/bridge Interface to shared memory data. Bridge, not a troll. (Manpage: man -e bobcat memorybridge)
  • FBB::MemoryBuf β€” a std::streambuf specialization accessing bobcat’s shared memory data. (Manpage: man -e bobcat memorybuf)
  • FBB::MemoryReadme β€” overview of bobcat’s shared memory classes. Read me, bestie. (Manpage: man -e bobcat memoryreadme)
  • FBB::MemoryStream β€” a std::ifstream specialization accessing bobcat’s shared memory data. . (Manpage: man -e bobcat memorystream)
  • FBB::mlm β€” manipulator modifying the left margin of FBB::OFoldStream objects. Modify that margin. (Manpage: man -e bobcat mlm)
  • FBB::MmapBuf β€” std::streambuf using mmap(2) to load the file’s data into memory. (Manpage: man -e bobcat mmapbuf)
  • FBB::Mstream β€” inserts messages into streams. (Manpage: man -e bobcat mstream)
  • FBB::MultiBuf β€” std::streambuf specializations performing insertions to multiple std::ostream objects. Multi-stream, multi-slay. (Manpage: man -e bobcat multibuf)
  • 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. Folding text like laundry. (Manpage: man -e bobcat ofoldbuf)
  • FBB::OHexBuf β€” OHexBuf (std::streambuf) specialization inserting characters into a stream by their hex values. Hex, hex, baby. (Manpage: man -e bobcat ohexbuf)
  • FBB::OmmapStream β€” stream writing information to a file using mmap(2) to load the file’s data into memory.
  • FBB::OMutexStream β€” mutex protected std::ostream. (Manpage: man -e bobcat mxstream) β€” yes, the manpage command is mxstream, periodt.
  • 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::Stat β€” determines file characteristics. (Manpage: man -e bobcat stat)
  • FBB::TempStream β€” temporary fstream. (Manpage: man -e bobcat tempstream)

SHARED MEMORY 🧠

  • FBB::MemoryAccess β€” accesses shared memory data blocks. (Manpage: man -e bobcat memoryaccess)
  • FBB::MemoryBridge β€” Pimpl/bridge Interface to shared memory data. (Manpage: man -e bobcat memorybridge)
  • FBB::MemoryBuf β€” a std::streambuf specialization accessing bobcat’s shared memory data. (Manpage: man -e bobcat memorybuf)
  • FBB::MemoryReadme β€” overview of bobcat’s shared memory classes. (Manpage: man -e bobcat memoryreadme)
  • FBB::MemoryStream β€” a std::ifstream specialization accessing bobcat’s shared memory data. . (Manpage: man -e bobcat memorystream)

TABLES πŸ“Š

  • FBB::Align β€” specifies Table(Buf) column and element alignments. (Manpage: man -e bobcat align)
  • FBB::CSVTable β€” builds tables row-by-row, like a lil assembly line fr fr. (Manpage: man -e bobcat csvtable)
  • FBB::Table β€” shows your table either row-wise or column-wise, your call bestie. (Manpage: man -e bobcat table)
  • FBB::TableBuf β€” same energy, tables row-wise or column-wise. (Manpage: man -e bobcat tablebuf)
  • FBB::TableLines β€” the support bestie for the Table(Buf) class. (Manpage: man -e bobcat tablelines)
  • FBB::TableSupport β€” also a support bestie for Table(Buf), they hold each other up πŸ’…. (Manpage: man -e bobcat tablesupport)

VARIOUS TEMPLATES

  • FBB::binary_search β€” literally the STL binary_search algorithm but reworked so it hands you back where the value you were hunting for actually lives in a sorted series of values. (Manpage: man -e bobcat binarysearch)
  • FBB::BinOps β€” a whole lil squad of function templates that implement binary operators for classes which already implement the matching binary assignment operators themselves. (Manpage: man -e bobcat binops)
  • FBB::BinOpsBase β€” a class template doing the binary operator + compound assignment operator thing for classes that implement their own swap members and their own members for the basic binary operation on objects of their own class types. (Manpage: man -e bobcat binopsbase)
  • FBB::Field β€” a class template that grabs and edits position-based fields inside numbers, using number systems you get to configure. (Manpage: man -e bobcat field)
  • FBB::fswap β€” templates implementing memory-bytes-based swap functionality. (Manpage: man -e bobcat fswap)
  • FBB::Hash... β€” a whole family of class templates implementing mapping containers via hashing. (Manpage: man -e bobcat hash)
  • FBB::Iterator β€” a class template that makes a bidirectional iterator returning values of a type you pick. (Manpage: man -e bobcat iterator)
  • FBB::LinearMap β€” a class template container implementing a map with a linear search algorithm. (Manpage: man -e bobcat linearmap)
  • FBB::PtrIter β€” an input iterator whose dereferenced value gives you a pointer instead of a reference to an element. Also serves up a ptrIter function template. ✨ (Manpage: man -e bobcat ptriter)
  • FBB::Ranger β€” a class template that cooks up ranges which range-based for-loops actually accept. Comes with a ranger function template too. (Manpage: man -e bobcat ranger)
  • FBB::repeat β€” two tiny extensions of the STL for_each generic algorithm. smol but mighty 🫢 (Manpage: man -e bobcat repeat)
  • FBB::Reverse β€” a class template creating a reverse iterator that returns values of a type you specify. (Manpage: man -e bobcat reverse)
  • FBB::TypeTrait β€” a traits class template for figuring out a bunch of different characteristics of types. (Manpage: man -e bobcat typetrait)

VARIOUS OTHER CLASSES

  • FBB::CSV β€” objects of this class make handling comma-separated values easy-peasy. (Manpage: man -e bobcat csv)
  • FBB::Indent β€” a class and manipulators that do text indentation. (Manpage: man -e bobcat indent)
  • FBB::Manipulators β€” the manipulators defined inside the FBB namespace. (Manpage: man -e bobcat manipulators)
  • FBB::OneKey β€” single keystroke input, and it does not need a Return. no enter key needed, iconic. (Manpage: man -e bobcat onekey)
  • FBB::PrimeFactors β€” prime-number factorization of (BigInt) values. (Manpage: man -e bobcat primefactors)
  • FBB::String β€” gives you extended std::string functionality. (Manpage: man -e bobcat string)
  • FBB::StringLine β€” offers operator>> that extracts lines out of std::istream objects. (Manpage: man -e bobcat stringline)
  • FBB::Tty β€” controls whether characters you type at the terminal get echoed back. (Manpage: man -e bobcat tty)
  • FBB::User β€” works out 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)

πŸ’– LINKING πŸ’–

okay bestie, this is the part where you actually get your program to talk to the library, listen up 🫢

To link programs against the shared Bobcat library (like libbobcat6.so), usually you just gotta say -lbobcat and that's it. Periodt. Like so:

g++ --std=c++2a main.cc -lbobcat
Note: libraries that are needed indirectly are no longer automatically linked into your program. With some classes (think BigInt) you also have to name the libcrypto library, so programs using those classes must be linked against bobcat and crypto:
g++ --std=c++2a main.cc -lbobcat -lcrypto

Man-pages of classes that need extra libraries will mention those extra libraries right there in their SYNOPSIS sections. so check those, iykyk πŸ‘‘

Static linking? lowkey messier, and there's no general rule we can hand you here. To build a statically linked program you have to pass the -static flag, but on top of that the -pthread flag often needs to be specified as well. And if, while statically linking your program, you get undefined references to pthread_... identifiers reported β€” that's a sure sign you need to give it the -pthread flag too. πŸ’€

When you're static linking, additional libraries that aren't listed in the man-pages might be needed as well. For instance, using the Xpointer class with static linking, the command turns into:

g++  main.cc -static -pthread -lbobcat -lX11 -lxcb  -lXdmcp -lXau

If you run into undefined references while static linking, the linker or its error messages might straight-up suggest the missing libraries. And if not? the missing libraries can also be found by searching the Internet. go forth and google πŸ™ˆ


🌸 FILES 🌸

  • /usr/include/bobcat/<classname>:
  • /usr/lib/libbobcat.*: (shared, static libraries)

πŸ¦‹ SEE ALSO πŸ¦‹

The individual bobcat/3<class> header files, with man-pages you can reach using man -e bobcat class (all lowercase names, every single one).


πŸ‘‘ BUGS πŸ‘‘

No Reported Bugs.

like, none. clean. flawless. main character library behavior fr fr ✨


πŸŽ€ BOBCAT PROJECT FILES πŸŽ€

Debian Bobcat project files:

  • libbobcat6: debian package containing the shared library, changelog and copyright note;
  • libbobcat-dev: debian package containing the static library, headers, manual pages, and developer info;

πŸ’œ BOBCAT πŸ’œ

Bobcat is an acronym of Brokken's Own Base Classes And Templates. the lore 🫢


This is free software, distributed under the terms of the GNU General Public License (GPL). free as in slay πŸ’…


⭐ AUTHOR ⭐

Frank B. Brokken (f.b.brokken@rug.nl).


and that's the whole page bestie, we did it πŸŽ‰ this one's from the libbobcat-dev_6.15.01 release, dated 2005-2026, and it's the Bobcat(7) manpage itself β€” go read the individual class pages, they're all waiting for you πŸ’–βœ¨πŸŽ€

πŸ“¦ where this page comes from