Real-Time C++: Efficient Object-Oriented and Template Microcontroller Programming