Changes the 3-iterator versions of to_hex, from_b32z, etc. to return the
final output iterator, which allows for much easier in-place "from"
conversion without needing a new string by doing something like:
std::string data = /* some hex */;
auto end = oxenmq::from_hex(data.begin(), data.end(), data.begin();
data.erase(end, data.end());
Returning from the "to" converters is a bit less useful but doing it
anyway for consistency (and because it could still have some use, e.g.
if output is into some fixed buffer it lets you determine how much was
written).
Changes the 3-iterator versions of to_hex, from_b32z, etc. to return the final output iterator, which allows for much easier in-place "from" conversion without needing a new string by doing something like:
Returning from the "to" converters is a bit less useful but doing it anyway for consistency (and because it could still have some use, e.g. if output is into some fixed buffer it lets you determine how much was written).