I've got two cases now, both implementing a remove() func: first in an all-new TreeModel object, second in a subclass of TreeModelFilter. Setting from an arrayref is good for the former, setting from another iter is needed for the latter. It's tempting to think of set(), or whatever name, for any boxed object, eg. Gtk2::Gdk::Rectangle. Except those with some malloced blocks like Gtk2::SelectionData almost certainly can't be moved/replicated with just memcpy.
Attachment:
set-iter.diff
Description: Text Data
Attachment:
GtkTreeModel.t.set-iter.diff
Description: Text Data