http://qs321.pair.com?node_id=798002


in reply to Using XS To Wrap A C++ Smart Pointer

I'm not aware of a sort of "DELEGATE" XS directive. But maybe some hacking with INTERFACE and INTERFACE_MACRO could help reduce the amount of code (depending on the number of different C method signatures).

Furthermore, you may be able to play tricks with typemaps, i.e. have the smart pointer dereferenced there.

Finally, you may want to have a look at the ExtUtils::XSpp module on CPAN and specifically the ultra-simple example in its examples/ subdirectory. It's meant to make wrapping C++ easier and while its documentation isn't very complete, the code should rather accessible (compared to ExtUtils::ParseXS) and we are open for improvements. There is even a simple plugin mechanism (without docs so far).

Cheers,
Steffen