Are iterators into a Glib::ustring still valid after the string is modified? Specifically appended to or modified at or beyond where the iterator points. I didn't obviously see this mentioned in the documentation.
I though it might be valid because the iterator appears to be implemented using a pointer difference type. However the following small test program fails with: ** ERROR:test.cc:28:int main(): assertion failed: (linestart <= cursor) Aborted Thanks, Mike --8<-- test.cc --8<-- #include <glib.h> #include <glibmm/ustring.h> int main() { Glib::ustring buf; Glib::ustring::iterator linestart = buf.begin(); Glib::ustring::iterator cursor = buf.begin(); gunichar uc = 'u'; buf.append(1, uc); cursor = buf.end(); g_assert(buf.begin() <= linestart); g_assert(linestart <= cursor); g_assert(cursor <= buf.end()); return 0; } _______________________________________________ gtkmm-list mailing list gtkmm-list@gnome.org https://mail.gnome.org/mailman/listinfo/gtkmm-list