Static Polymorphism Drivers
Implement static polymorphism in C++ for hardware drivers using CRTP (Curiously Recurring Template Pattern). Driver base defines interface; derived hardware types override statically.
Constraints
- Base: template<class D>.
- Derived: override read(), write().
- compile-time dispatch (no virtual).
- inline methods.
- DriverBase<D>::access() calls D::read().
1template<typename D>2class DriverBase {3public:4 uint32_t access();5};