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π β SpecifiesTable(Buf)column and element alignments. Manpage:man -e bobcat alignFBB::Argβ Interfaces the command line arguments, allowing for short- and long options. The class is implemented as a Singleton. Manpage:man -e bobcat argFBB::ArgConfigβ Inherits fromArgandConfigFile, 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 argconfigFBB::A2xβ Ascii-to-x conversions of any type supporting extractions fromi[string]streamobjects. Manpage:man -e bobcat a2xFBB::BigIntβ Wrapper class around the opensslBN_functions for unlimited integer precision arithmetic. Manpage:man -e bobcat bigintFBB::binary_searchβ A modification of the STLbinary_searchalgorithm returning the location of the searched value in a sorted series of values. Manpage:man -e bobcat binarysearchFBB::BinOpsβ A series of function templates implementing binary operators for classes that implement the matching binary assignment operators themselves. Manpage:man -e bobcat binopsFBB::BinOpsBaseβ A class template implementing binary operators and compound assignment operators for classes that themselves implementswapmembers and members implementing the basic binary operation on objects of their class types themselves. Manpage:man -e bobcat binopsbaseFBB::CerrExtractorβ Executes child processes not expecting input but maybe writing its standard error stream. Manpage:man -e bobcat cerrextractorFBB::CGIβ a class implementing the facilities accessing the data made available through the Common Gateway Interface. Manpage:man -e bobcat cgiFBB::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 cidrFBB::CinInserterβ Executes child processes expecting input but not producing standard output. Manpage:man -e bobcat cininserterFBB::ClientSocketβ a socket for tcp-communication with a server. Manpage:man -e bobcat clientsocketFBB::CmdFinderβ Command-function associations. Manpage:man -e bobcat cmdfinderFBB::CmdFinderBaseβ Base class forCmdFinder. Manpage:man -e bobcat cmdfinderbaseFBB::Configβ Processing standard configuration files. Manpage:man -e bobcat configFBB::ConfigFileβ Processing standard configuration files (deprecated, useConfigβ οΈ). Manpage:man -e bobcat configfileFBB::CoutExtractorβ Executes child processes not expecting input but maybe producing standard output. Manpage:man -e bobcat coutextractorFBB::CSVTableβ Construct tables row-by-row. Manpage:man -e bobcat csvtableFBB::CSV4180β Objects of this class allow for easy handling of comma-separated values (implements RFC 4180). Manpage:man -e bobcat csv4180FBB::DateTimeβ Manipulations with date and time values. Manpage:man -e bobcat datetimeFBB::DiffieHellmanβ Computing shared keys using the Diffie-Hellman algorithm. Manpage:man -e bobcat diffiehellmanFBB::DigestBufβ Computing message digests. Manpage:man -e bobcat digestbufFBB::ECDHβ Computing shared keys using the elliptic curve based Diffie-Hellman algorithm. Manpage:man -e bobcat ecdhFBB::Eoiβstd::streambufoffering theeoimanipulator. Manpage:man -e bobcat eoiFBB::Eoiβstd::streambufoffering theeoimanipulator. 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::streambufoffering theeoimanipulator and a configurable stream buffer. Manpage:man -e bobcat eoibufFBB::Exceptionβ objects of this class acceptostreaminsertions, and are alsostd::exceptionobjects. Manpage:man -e bobcat exceptionFBB::Execβ Executes child processes not expecting input and not producing standard output. Manpage:man -e bobcat execFBB::Fieldβ class template retrieving and modifying position based fields in numbers using configurable number systems. Manpage:man -e bobcat fieldFBB::Flockβ (Un)Locks access to a file allowing multiple programs to synchronize the use of the same data. Manpage:man -e bobcat flockFBB::Forkβ Definesfork(2)as part of a Template Algorithm Design Pattern. Manpage:man -e bobcat forkFBB::GetHostentβ Obtainshostentstruct from hostname or -address. Manpage:man -e bobcat gethostentFBB::Globβ Obtain a list of files matching a certain pattern. Manpage:man -e bobcat globFBB::HmacBufβ Computing HMAC message digests. Manpage:man -e bobcat hmacbufFBB::Hostnameβ Derived fromHostent, allows the initialization from astd::string, or from anFBB::InetAddrress. Manpage:man -e bobcat hostnameFBB::IBase64Streamβ stream implementing base64 encoding and decoding, using aFBB::Base64Streambufstream buffer. Manpage:man -e bobcat ibase64streamFBB::IBase64BufβFBB::IFilterBufspecialization implementing base64 encoding and decoding. Manpage:man -e bobcat ibase64bufFBB::IFdStream/FBB::IFdStreamSβ stream extracting information from a device whose file descriptor is available. Manpage:man -e bobcat ifdstreamFBB::IFdBuf/FBB::IFdBufSβ Input stream buffer initialized by a file descriptor. Manpage:man -e bobcat ifdbufFBB::IFilterBufβstd::streambufspecialization implementing anstd::istreamfiltering design pattern. Manpage:man -e bobcat ifilterbufFBB::ImmapStreamβ stream extracting information from a file usingmmap(2)to load the fileβs data into memory. Manpage:man -e bobcat immapstreamFBB::IOmmapStreamβ stream extracting information from and/or writing information to a file usingmmap(2)to load the fileβs data into memory. Manpage:man -e bobcat iommapstreamFBB::Indentβ Class and manipulators performing text indentation. Manpage:man -e bobcat indentFBB::InetAddressβ Base class (no public constructor) for objects representing an internet address as used with sockets. Contains address and portnumbers. Manpage:man -e bobcat inetaddressFBB::IOStreamβ class combiningstd::istreamandstd::ostreamfeatures. Manpage:man -e bobcat iostreamFBB::IOBufβstd::streambufspecialization allowing combined input and output operations. Manpage:man -e bobcat iobufFBB::IQuotedPrintableStreamβ stream implementing quoted printable encoding and decoding, using aFBB::IQuotedPrintableBufstream buffer. Manpage:man -e bobcat iquotedprintablestreamFBB::IQuotedPrintableBufβFBB::IFilterBufspecialization implementing quoted printable encoding and decoding. Manpage:man -e bobcat iquotedprintablebufFBB::IRandStreamβ stream to extract random numbers from. Manpage:man -e bobcat irandstreamFBB::ISymCryptStreamβ stream implementing symmetric encryption and decryption, using aFBB::ISymCryptStreambufstream buffer. Manpage:man -e bobcat isymcryptstreamFBB::ISymCryptStreambufβFBB::IFilterBufspecialization implementing symmetric cryptography. Manpage:man -e bobcat isymcryptstreambufFBB::Iteratorβ a class template creating a bidirectional iterator returning values of a specified type. Manpage:man -e bobcat iteratorFBB::Hash...β Various class templates implementing mapping containers using hashing. Manpage:man -e bobcat hashFBB::Hostentβ Wrapper around thehostentstruct. Manpage:man -e bobcat hostentFBB::LDCβ Large Digital Converter converts (large) values for various radices. Manpage:man -e bobcat ldcFBB::levelβ Manipulator setting the log-level ofFBB::Logobjects. Manpage:man -e bobcat levelFBB::LinearMapβ a class template container implementing a map using a linear search algorithm. Manpage:man -e bobcat linearmapFBB::lmβ Manipulator setting the left margin ofFBB::OFoldStreamobjects. Manpage:man -e bobcat lmFBB::LocalClientSocketβ a Unix domain socket for tcp-communication with a Unix domain (local) server. Manpage:man -e bobcat localclientsocketFBB::LocalServerSocketβ defines a Unix domain socket to which clients on the local host can connect. Manpage:man -e bobcat localserversocketFBB::LocalSocketBaseβ Base class forLocalClientSocketandLocalServerSocket. Manpage:man -e bobcat localsocketbaseFBB::Logβstd::ostreamhandling log messages. Manpage:man -e bobcat logFBB::LogBufβstd::streambufhandling log messages. Manpage:man -e bobcat logbufFBB::MailHeadersβ extracts mail headers from SMTP-email. Manpage:man -e bobcat mailheadersFBB::Manipulatorsβ manipulators defined in the namespaceFBB. Manpage:man -e bobcat manipulatorsFBB::Mbufβstd::streambufspecialization for inserting messages, mainly used byFBB::Mstreamobjects. Manpage:man -e bobcat mbufFBB::Milterβ interfaces thesendmailmail filter facilities. Manpage:man -e bobcat milterFBB::mlmβ Manipulator modifying the left margin ofFBB::OFoldStreamobjects. Manpage:man -e bobcat mlmFBB::MmapBufβstd::streambufusingmmap(2)to load the fileβs data into memory. Manpage:man -e bobcat mmapbufFBB::OmmapStreamβ stream writing information to a file usingmmap(2)to load the fileβs data into memory. Manpage:man -e bobcat ommapstreamFBB::Mstreamβ Inserts messages into streams. Manpage:man -e bobcat mstreamFBB::MultiBufβstd::streambufspecializations performing insertions to multiplestd::ostreamobjects. Manpage:man -e bobcat multibufFBB::OFdStreamβ stream inserting information into a device whose file descriptor is available. Manpage:man -e bobcat ofdstreamFBB::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β anstd::streambufspecialization that's serving the wholestd::ostreamfiltering design pattern fantasy π . (Manpage:man -e bobcat ofilterbuf)FBB::OFoldStreamβ anstd::ostreamthat literally uses anOFoldBufas its streambuf, no cap π. (Manpage:man -e bobcat ofoldstream)FBB::OFoldBufβ anOFilterBuf(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β anOHexBuf(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 usingmmap(2)to load the file's data into memory, main character energy fr fr π₯. (Manpage:man -e bobcat ommapstream)FBB::OMutexStreamβ a Mutex protectedstd::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 anFBB::OSymCryptStreambufstream buffer, slay π. (Manpage:man -e bobcat osymcryptstream)FBB::OSymCryptStreambufβ a streambuf derived fromFBB::EoiBufthat 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: aptrIterfunction 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: arangerfunction template, so versatile, obsessed π. (Manpage:man -e bobcat ranger)FBB::ReadLineBufβ implements a streambuf using the Gnu readline library to allow editing anstd::istream's content, bougie and worth it π . (Manpage:man -e bobcat readlinebuf)FBB::ReadLineHistoryβ provides access to the history of lines read from aReadLineBuf, it's a whole archive moment π. (Manpage:man -e bobcat readlinehistory)FBB::ReadLineStreamβ astd::istreamclass using aReadLineBuffor itsstd::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 STLfor_eachgeneric 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 forClientSocketandServerSocket, 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 extendedstd::stringfunctionality, glow-up edition π. (Manpage:man -e bobcat string)FBB::StringLineβ offersoperator>>extracting lines fromstd::istreamobjects, handy and cute πΈ. (Manpage:man -e bobcat stringline)FBB::SyslogBufβ streambuf to Buffer generatingsyslog(3)messages, logging girlie π. (Manpage:man -e bobcat syslogbuf)FBB::SyslogStreamβ stream to Output stream insertingsyslog(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 classTable(Buf), doing the background work π¦. (Manpage:man -e bobcat tablelines)FBB::TableSupportβ support class for the classTable(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 intoo[string]streamobjects, 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 fromArgandConfigFileallowing 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 forCmdFinder, 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, useConfig). 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 fromi[string]streamobjects, converting the vibes β¨. (Manpage:man -e bobcat a2x)FBB::BigIntβ wrapper class around the opensslBN_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 anFBB::Base64Streambufstream buffer, encoding era π . (Manpage:man -e bobcat ibase64stream)FBB::IBase64BufβFBB::IFilterBufspecialization 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 anFBB::IQuotedPrintableBufstream buffer, niche but essential πΈ. (Manpage:man -e bobcat iquotedprintablestream)FBB::IQuotedPrintableBufβFBB::IFilterBufspecialization 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 intoo[string]streamobjects, 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 alsostd::exceptionobjects, dual-threat behavior π . (Manpage:man -e bobcat exception)FBB::levelβ manipulator setting the log-level ofFBB::Logobjects, controlling the drama π₯. (Manpage:man -e bobcat level)FBB::Logβstd::ostreamhandling log messages, keeping receipts π. (Manpage:man -e bobcat log)FBB::LogBufβstd::streambufhandling log messages, the buffering behind the receipts π. (Manpage:man -e bobcat logbuf)FBB::SyslogBufβ streambuf to Buffer generatingsyslog(3)messages, syslog girlie π. (Manpage:man -e bobcat syslogbuf)FBB::SyslogStreamβ stream to Output stream insertingsyslog(3)messages, the stream twin π. (Manpage:man -e bobcat syslogstream)
β¨ GENERIC ALGORITHM EXTENSIONS β¨
FBB::binary_searchβ a modification of the STLbinary_searchalgorithm 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 STLfor_eachgeneric 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β obtainshostentstruct from hostname or -address, translating the networking language π¦. (Manpage:man -e bobcat gethostent)FBB::Hostnameβ derived fromHostent, allows the initialization from astd::string, or from anFBB::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 thehostentstruct. 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 forLocalClientSocketandLocalServerSocket. 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 forClientSocketandServerSocket. The foundation, no cap. (Manpage:man -e bobcat socketbase)
OPENSSL AND ENCRYPTION πβ¨
FBB::BigIntβ wrapper class around the opensslBN_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 aFBB::ISymCryptStreambufstream buffer. (Manpage:man -e bobcat isymcryptstream)FBB::ISymCryptStreambufβFBB::IFilterBufspecialization implementing symmetric cryptography. (Manpage:man -e bobcat isymcryptstreambuf)FBB::OSymCryptStreamβ stream implementing symmetric encryption and decryption, using aFBB::OSymCryptStreambufstream buffer. (Manpage:man -e bobcat osymcryptstream)FBB::OSymCryptStreambufβ streambuf derived fromFBB::EoiBufimplementing 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β definesfork(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::streambufoffering theeoimanipulator. End of input, end of story. (Manpage:man -e bobcat eoi)FBB::EoiBufβstd::streambufoffering theeoimanipulator 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::streambufspecialization implementing anstd::istreamfiltering design pattern. Filtering, but make it stream. (Manpage:man -e bobcat ifilterbuf)FBB::ImmapStreamβ stream extracting information from a file usingmmap(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 usingmmap(2)to load the fileβs data into memory. In and out, versatile. (Manpage:man -e bobcat iommapstream)FBB::IOStreamβ class combiningstd::istreamandstd::ostreamfeatures. Both? We love a dual threat. (Manpage:man -e bobcat iostream)FBB::IOBufβstd::streambufspecialization 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 ofFBB::OFoldStreamobjects. Left margin, left behind? No, setting it. (Manpage:man -e bobcat lm)FBB::Mbufβstd::streambufspecialization for inserting messages, mainly used byFBB::Mstreamobjects. 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β astd::streambufspecialization 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β astd::ifstreamspecialization accessing bobcatβs shared memory data. . (Manpage:man -e bobcat memorystream)FBB::mlmβ manipulator modifying the left margin ofFBB::OFoldStreamobjects. Modify that margin. (Manpage:man -e bobcat mlm)FBB::MmapBufβstd::streambufusingmmap(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::streambufspecializations performing insertions to multiplestd::ostreamobjects. 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::streambufspecialization implementing anstd::ostreamfiltering design pattern. (Manpage:man -e bobcat ofilterbuf)FBB::OFoldStreamβstd::ostreamusing anOFoldBufas 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 usingmmap(2)to load the fileβs data into memory.FBB::OMutexStreamβ mutex protectedstd::ostream. (Manpage:man -e bobcat mxstream) β yes, the manpage command ismxstream, 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 anstd::istreamβs content. (Manpage:man -e bobcat readlinebuf)FBB::ReadLineHistoryβ provides access to the history of lines read from aReadLineBuf. (Manpage:man -e bobcat readlinehistory)FBB::ReadLineStreamβstd::istreamclass using aReadLineBuffor itsstd::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β astd::streambufspecialization 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β astd::ifstreamspecialization accessing bobcatβs shared memory data. . (Manpage:man -e bobcat memorystream)
TABLES π
FBB::Alignβ specifiesTable(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 theTable(Buf)class. (Manpage:man -e bobcat tablelines)FBB::TableSupportβ also a support bestie forTable(Buf), they hold each other up π . (Manpage:man -e bobcat tablesupport)
VARIOUS TEMPLATES
FBB::binary_searchβ literally the STLbinary_searchalgorithm 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 ownswapmembers 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 aptrIterfunction template. β¨ (Manpage:man -e bobcat ptriter)FBB::Rangerβ a class template that cooks up ranges which range-based for-loops actually accept. Comes with arangerfunction template too. (Manpage:man -e bobcat ranger)FBB::repeatβ two tiny extensions of the STLfor_eachgeneric 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 theFBBnamespace. (Manpage:man -e bobcat manipulators)FBB::OneKeyβ single keystroke input, and it does not need aReturn. 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 extendedstd::stringfunctionality. (Manpage:man -e bobcat string)FBB::StringLineβ offersoperator>>that extracts lines out ofstd::istreamobjects. (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 (thinkBigInt) you also have to name thelibcryptolibrary, 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 π
https://fbb-git.gitlab.io/bobcat/: gitlab project page;
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 π«Ά
π COPYRIGHT π
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
- ubuntu stonking: libbobcat-dev 6.15.01-1 Β· GPL-3.0-or-later WITH OpenSSL exception
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms