Papierkorb / bindgen

Binding and wrapper generator for C/C++ libraries
GNU General Public License v3.0
179 stars 18 forks source link

Support most overloaded member operators #100

Closed HertzDevil closed 3 years ago

HertzDevil commented 3 years ago

Wraps a lot of overloaded operators, provided they are defined inside a C++ class body. Some operators cannot be overloaded in Crystal (most notably the compound assignments), so they are renamed to normal methods containing ! in their names, see SPEC.md for the list of renamings. A few details have been left out for separate PRs in the future:

On Qt almost all the additions are relational operators. Some notable exceptions are QRect (union / intersection / margins), QStringList (its operator+ and operator<< are class members), and QDir (has operator[]).

Papierkorb commented 3 years ago

PR #100 ! :partying_face:

HertzDevil commented 3 years ago

Marking the support "partial" until I'm done with overloaded operators (non-member definitions are a must even if they only apply to left-hand operands of wrapped types)

Papierkorb commented 3 years ago

LGTM now :+1: ! Not much that's marked as TBD in the feature matrix anymore :eyes: