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

Vladimir Vishnevskii

60 minute session
beginner
intermediate
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.

c++20
c++23
design

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.