Přetypování

RefPtr můžete přetypovat na základní typy, stejně jako normální ukazatele.

auto refStore = Gtk::TreeStore::create(columns);
Glib::RefPtr<Gtk::TreeModel> refModel = refStore;

This means that any method which takes a const Glib::RefPtr<BaseType>& argument can also take a const Glib::RefPtr<DerivedType>&. The cast is implicit, just as it would be for a normal pointer.

Můžete také přetypovat na zděděné typy, ale syntax je trochu rozdílná, než s normálním ukazatelem.

auto refStore = std::dynamic_pointer_cast<Gtk::TreeStore>(refModel);
auto refStore2 = std::static_pointer_cast<Gtk::TreeStore>(refModel);