Sparkly Sandwich 🥪
This release makes some fundamental and hard changes to the API with respect to error handlers and encoding type names in the library.
error_handlertypes now takes 4 parameters instead of 3. This was the addition of 1 extra parameter, which represents any prepared but unwritten characters to the output stream. More information can be found at this point in the documentation.encode_state/decode_state/statetypes are attempted to pass to thereplacement_code_units/replacement_code_points/maybe_replacement_code_units/maybe_replacement_code_pointsfunctions, if at all possible. This allows for a specific state type to be properly.ztd::text::propagate_erroris now available. This properly filters a partially-completed transcode operation (that fails at thedecode_resultstep, for example) and pushes it through theencodepart of the process with the appropriateerror_handler. This function helps get the novelty and issues done right.- The names of the counting functions have been changed (as debated in #16). Thank you to everyone who participated and made it happen!
- All the names of encoding types (
utf8,utf16, etc.) are now objects, and their types are now suffixed with_t. This is becase 99.9% of the time, one just wants to use the encoding object, not create a new instance every single time they use it (thanks for the push here @hanickadot !)
The documentation has been vastly improved in many places, as well, to make it easier to find out specific kinds of information. It still needs more work, but that's why this isn't a v1.0.0 library yet!
Go forth, and text to your heart's delight!
💚,
ThePhD & Shepherd's Oasis