The "Hollow Development Kit" will be my playground for integrating many different libraries into a consistent C++ RAII and ref-counted memory managers with my own take on "event processing."
Top level
At the moment this library is comprised of two "wrapper" base template classes:
- PrimitiveWrapper - As the name implies this is for "Primitive" types: integers, enums, etc. Basically everything BUT a pointer.
- SharedPtrWrapper - Inversely to the primitive wrapper this is for pointers: things that involve memory freeing.
These are intended to be a inherited base point for header-only inline wrappers to C API that otherwise has Object oriented behaviour.
Next comes the "eps" subsystem:
- eps::Conduit<...> A conduit transmits/carries something (
<...>)... what that is could be nothing or any list of types. People interested in that something can "Attach" to the conduit via a "Tap" which lets them pause/resume their "listening"
- eps::Conduit<...>::Tap Taps represent an attachment to a conduit and can be used to pause/resume or disconnect entirely.
- eps::TapScope TapScope is intended to group a bunch of taps into some symantec scope and will disconnect all grouped taps when the scope is destroyed.
TODO Measurements/Space/Units/Vectors
Once I decided how I want to implement this, I want grid to contain a system that will be the basis of translating mathematical units of measurement. Most likely this will be a solution largely based on some existing library which will then become the first dependency of the hdk-grid project, but if I can implement something simple enough without doing so I will as long as it accomplishes my requirement of being the underlying "grid" upon which other libraries are built and can inter-operate without always being interdependent or designed in advanced to do so.