Description
C++ developers using GTK have long relied on the venerable gtkmm project. More recently, cppgir has emerged as another alternative.
In this talk, I will introduce peel — a new project providing C++ bindings for GObject libraries. It tries to bridge the impedance mismatch between C++ and GObject type systems while prioritizing:
- zero runtime overhead compared to plain C code;
- broad and up-to-date API coverage based on GObject introspection;
- native support for GObject type system concepts such as initializers, properties, and deep inheritance.
To achieve this, peel deliberately rethinks several classic design decisions.
I will also touch on the broader challenges & patterns in GObject bindings design, stating ideas that could be useful for other languages' bindings.
Author(s) Bio
Sergey Bugaev is a software engineer with a passion for systems programming. He occasionally contributes to GTK as well as to other components of the GNOME and freedesktop stack, as well as other projects including the GNU Hurd kernel. When not hacking on something, he's probably out there dancing, or listening to classic rock music.
| Presentation Type | In Person |
|---|