Hello Christian , greate work.!
I have a question about the contexpr.
In the file iomm.hpp, line 53, the next code:
using PtrType = volatile T*;
static constexpr PtrType ptr = reinterpret_cast<PtrType>(_addr);
C++ reject to use reinterpret_cast in constexpr expression. Does it realy work on gcc compiler?
It coul be a cause that all objects will be placed in RAM, and all functions also will not be run on compile time.