Efficient and Reliable Wrapping of C APIs Using Modern C++

Vladimir Vishnevskii

60 minute session
15:15-16:15, Thursday, 29th June 2023

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.


Vladimir Vishnevskii

Vladimir is a software engineer with more than 17 years of experience applying C++ for development of complex software in areas like distributed systems and networking with focus on performance and reliability. Before his recent switch to Intel he was for more than 6 years part of the effort to bring modern C++ into automotive embedded software development.