Safe and efficient usage of C based frameworks from C++ code may require introduction of an intermediate layer to employ compile time safety mechanisms and adapt C procedural API for C++ features and control structures. The presentation, using a case study approach, will cover topics such as adapter interface design according to modern C++ best practices, overhead avoidance techniques, application of compile time computation and compile time enforced safety. The talk will inspect and highlight C++ features and standard utilities (up to C++23 standard) that can be used to efficiently and reliably wrap C APIs in modern C++ code. Performance implications of various design decisions will be analyzed and trade-offs between usability and efficiency will be discussed. Substantial part of the talk will be dedicated to design and implementation techniques enabling comprehensive unit testing of the wrapper code.