Richard Dale wrote: > With the Swig approach you can't call protected methods, you can't override > virtual methods, and it doesn't have a mechanism for dealing with method > overloading very well (particularly important with constructors). With > Smoke I get all that for free, and I don't even need to parse any > headers/write interfaces etc. For the record, SWIG 1.3.20 will provide support for overriding C++ virtual methods with Ruby instance methods; this code is already available in the SWIG development CVS. Method overloading has been available since SWIG version 1.3.14 or so, and works very well for constructors as well as regular functions. On a side note, I hadn't heard about Smoke, and so I was doing some quick googling for it. It sounds pretty cool. Am I basically correct that it is a Qt (or maybe Qt+KDE) specific library that can be used to build different language bindings to Qt? In other words, it is not a general purpose "wrapper" generator like SWIG?