"- memory_ptr is a typedef for char*, but actually this should probably become a template value MemoryPtr. So class implementations using memory_ptr might have to be moved into .ipp header files
- Create an adapter class that has operator [] for accessing and writing the underlying data
Since this is latency sensitive, I suggest using templates not polymorphism"