Add support for generating unicode strings
I might implement this myself as I ran into the need for it just recently. I'm guessing generators for different encodings would be desired (UTF8, UTF16 and UTF32?) and possibly the option of specifying desired ranges.
UTF8 is obviously the most important since that is likely what goes into std::string. Specifying ranges would also be nice but for arbitrary the range should be based on size.
If you want to take a stab at this, you can look at Text.h for inspiration since the naive way of using gen::container likely be wasteful of random bits thus giving bad performance. A PR with tests and docs will be met with open arms :)
I've been thinking how to best go about shrinking UTF8 characters, was thinking to remove one byte from it at each iteration and when only one byte is left to the regular character shrinking...
If you generate code points that you map to the respective encoding, you can just shrink those and the bytes in the UTF8 characters will become fewer automatically. UTF32 will probably serve as a good base given that it's essentially unencoded code points and the other ones can simply be mappings of that one.
Just like with the regular string generator, you might want to shrink characters down to some simple ones first, like abc.