void ascii85_encode(FILE *fp, int delims, int wrap, int y_abbr) { int c, count = 0, len = 0; unsigned long tuple = 0; if (delims) { putc_wrap('<', wrap, &len); putc_wrap('~', wrap, &len); } for (;;) { c = getc(fp); if (c != EOF) { tuple |= c << ((3 - count++) * 8); if (count < 4) continue; } else if (count == 0) break; encode_tuple(tuple, count, wrap, &len, y_abbr); if (c == EOF) break; tuple = 0; count = 0; } if (delims) { putc_wrap('~', wrap, &len); putc_wrap('>', wrap, &len); } }
void encode(const std::tuple<Ts...>& tuple, Context& ctx) { encode_tuple(tuple, ctx, make_index_sequence<sizeof...(Ts)>{}); }