-/* Create a new character iterator which returns wchar_t's. INPUT is
- the input buffer. BYTES is the number of bytes in the input
- buffer. CHARSET is the name of the character set in which INPUT is
- encoded. WIDTH is the number of bytes in a base character of
- CHARSET.
-
- This function either returns a new character set iterator, or calls
- error. The result can be freed using a cleanup; see
- make_cleanup_wchar_iterator. */
-struct wchar_iterator *make_wchar_iterator (const gdb_byte *input, size_t bytes,
- const char *charset,
- size_t width);
-
-/* Return a new cleanup suitable for destroying the wchar iterator
- ITER. */
-struct cleanup *make_cleanup_wchar_iterator (struct wchar_iterator *iter);
-
-/* Perform a single iteration of a wchar_t iterator.
+ /* Create a new character iterator which returns wchar_t's. INPUT is
+ the input buffer. BYTES is the number of bytes in the input
+ buffer. CHARSET is the name of the character set in which INPUT is
+ encoded. WIDTH is the number of bytes in a base character of
+ CHARSET.
+
+ This constructor can throw on error. */
+ wchar_iterator (const gdb_byte *input, size_t bytes, const char *charset,
+ size_t width);
+
+ ~wchar_iterator ();
+
+ /* Perform a single iteration of a wchar_t iterator.