[phobos] std.base64 replacement

Daniel Murphy yebblies at gmail.com
Thu Oct 14 01:21:38 PDT 2010


On Thu, Oct 14, 2010 at 4:59 AM, Masahiro Nakagawa <repeatedly at gmail.com>wrote:

> I wait no-caching implementation. I think Range should not have useless
> state.
> In addition, current implementation seems to be still more complex than
> necessary.
>
>
>
I thought you might say that.
http://yebblies.com/rangebase64nocache.d
These ranges only read the bits that they actually need off the input, only
converting one output item per popFront.  I don't consider this a better
solution.  I haven't adapted length to work with this version, but I will if
this implementation is actually going to be used.

 I'd welcome any ideas/suggestions on how to simplify the implementation of
either version, especially the Decoder length, which is considerably ugly.


> I don't think so. Range is a good concept, but not all.
> I think usability is a most important factor for module API.
>
>
>
> Base64's API is following:
>
>  encodeLength(length);
>  encode(src, dst);
>  encode(src);
>  encoder(returns Encoder!(char[]) or Encoder!(char))
>  decodeLength(length);
>  decode(src, dst);
>  decode(src);
>  decoder(returns Decoder!(ubyte[]) or Decoder!(ubyte))
>
> Do you see any problems?
>
> Looks fine to me.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puremagic.com/pipermail/phobos/attachments/20101014/cd08de23/attachment-0001.html>


More information about the phobos mailing list