When generating bindings, we’re not transpiling C++ to C#.
Instead, we inspect the result binaries, demangle all names and work mostly with pointers or references to block of memory.
Inline functions are problematic because despite being part of the public API, they’re not visible when inspecting compiled libraries. They’re instead baked in each consumer of that API.
To solve this, I am thinking of using a “glue” library that explicitly exports all inline functions as PInvoke
r-friendly symbols.