Bridge Object
Any C++ class in cross-platform part of your project can be automatically bridged to other languages to expose it to UI code written in ObjC, Swift or Java. Just derive your class from scapix::bridge::object:
The lifetime of scapix::bridge::object should always be managed by std::shared_ptr / std::weak_ptr
If you need the functionality of std::enable_shared_from_this, you can derive your classes from both scapix::bridge::object and std::enable_shared_from_this: