Image source: https://www.pixabay.com/photos/binary-binary-system-people-2907220/

These are the C++ projects that I'm currently working on.  At this time, the documentation serves as an early preview of the projects I'm working on, which I eventually intend to post on GitHub or Codeberg as open source (once I've decided which repository and license to use, and I'm sufficiently satisfied with the basic overall production-readiness of my libraries).

rex

rex: Exceptions classes
Status: Fully functional for the needs of the rsocket and rthread classes, but more exceptions still need to be added to provide for a more complete range of error number coverage.

rhostname: Internet hostname class
Status: Fully functional, but some testing and programming is still needed to be complete

A specialized C++ class that stores an internet hostname with fully transparent and seamlessly-interchangeable support for UTF-8 and Punycode ("xn--" prefixed) hostnames that are internationalized internet domain names.  The rhostname class can also use and produce hostnames in DNS RR format, which is a binary packet-level format that's used by DNS resolvers, DNS daemons, and DNS packet analysis software.

rmailaddr: eMail address class
Status: Planning stage

This project will provide a C++ class that stores an eMail address, but with a variety of helper methods that can be used to easily parse and validate an eMail address, some of which will be useful for mail servers, eMail client software, etc.

rscreen: Virtual text-mode screen GUI widget
Status: Planning stage

This is an ambitious project that will be an overhaul of the fx.textmode class (originally named JScreen) that I created in Java many years ago (the Java version was nearly complete, and was fully functional except for some transactional functionality I was working on, but then I had to abandon it because Oracle broke backward compatibility by introducing significant changes to the way Java is compiled that is not consistent with the write-once-run-anywhere mantra; this is one of the major reasons I moved over to C++).

rex

rsocket: Object-Oriented socket class
Status: Unencrypted and encrypted sockets are fully functional; testing and improving documentation

Including OpenSSL's TLS support for encrypted socket communication is essential for this class.  Without it, adding encryption will just take everything back to square one because OpenSSL is not a C++ Object-Oriented library; it's a C library (one of the goals of the rsocket class is to provide socket I/O in a complete Object-Oriented fashion).

rthread: Object-Oriented thread class
Status: Fully functional, but in process of converting from returning error codes to throwing exceptions, and adding examples in the documentation

Some additional features, such as threadgroups and CPU affinity settings, are also planned

rtools: Miscellaneous static functions and utility classes
Status: Fully functional, but in process of adding examples in the documentation

A collection of static methods that facilitate a variety of general-purpose computer programming needs

Please do not rely on the above links to the documentation as these are in a state of flux with some significant structural changes planned.

Return to home page...