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
[email protected]
https://mail.gnome.org/mailman/listinfo/gtkmm-list