Currently, libmem's internal layout is very entangled and messy, abusing procedural macros and doing crazy hacks to get it working.
While it does work, libmem becomes exponentially harder to maintain under these conditions.
So here is my proposal for a new internal layout that should give me less headache once it's finished:
This new layout tackles problems like:
Common APIs across OSes, but without procedural macros
Multiple character sets on Windows
Unique APIs for certain platforms
Better unification of Unix-like platforms
Handle multiple architectures
While it is only a sketch, it does help me visualise what should be done to make the codebase more neat and tidy.
Currently, libmem's internal layout is very entangled and messy, abusing procedural macros and doing crazy hacks to get it working. While it does work, libmem becomes exponentially harder to maintain under these conditions. So here is my proposal for a new internal layout that should give me less headache once it's finished: This new layout tackles problems like:
While it is only a sketch, it does help me visualise what should be done to make the codebase more neat and tidy.