I added following features.

- encode and decode functions take buffer or OutputRange
- Helper functions for calculating buffer size
-- encodeLength and decodeLength names from std.base64 API.
- Encoder and Decoder for Range interface

Please check the code.

http://bitbucket.org/repeatedly/scrap/src/tip/base64.d


Masahiro

On Mon, 11 Oct 2010 13:02:59 +0900, Andrei Alexandrescu <[email protected]> wrote:

If you define encoding and decoding on a range, there's no need to allocate for every pass through the loop. You reuse the buffer.

@Sean: I doubt you'll see any performance improvement if you encode in-place vs. in a separate buffer.


Andrei

On 10/10/10 22:25 CDT, Masahiro Nakagawa wrote:
I agree. Last night, I thought about encode / decode with buffer.
In range, each memory allocation on loop is bad...


Masahiro

On Mon, 11 Oct 2010 11:45:08 +0900, Sean Kelly <[email protected]>
wrote:

As others have said, I'd like this to use ranges instead if possible,
and I'd like the option to supply a destination range as well. The
majority of work I do with this sort of thing encodes in-place into
existing buffers.

_______________________________________________
phobos mailing list
[email protected]
http://lists.puremagic.com/mailman/listinfo/phobos
_______________________________________________
phobos mailing list
[email protected]
http://lists.puremagic.com/mailman/listinfo/phobos
_______________________________________________
phobos mailing list
[email protected]
http://lists.puremagic.com/mailman/listinfo/phobos
_______________________________________________
phobos mailing list
[email protected]
http://lists.puremagic.com/mailman/listinfo/phobos

Reply via email to