From: Kimon Hoffmann (Kimon.Hoffmann_at_[hidden])
Date: 2007-08-07 06:20:27
first of all, my two cents from quickly glancing at the provided MD5
code. Basically all of this was already mentioned by my foreposters and
* The library should definitely be made header-only, and during my quick
inspection I did not discover anything that would stand in the way of that.
* The library should be extended into a more general framework into
which other MD algorithms can easily be integrated.
* The implementation should be endian invariant to make cross platform
digest checks feasible.
The last observation sparked the idea of introducing a simple
abstraction layer I call octet iterators. As I envision them, these, in
their most basic form, would be iterators that allow iterating over the
octets of builtin types in a defined byte order (e.g. network byte
order). In a second step, more high level constructs could be
introduced, of which two come to my mind naturally:
1. Easy composition operations to allow iterating over the octets of
2. Adapters of other iterator types to make it possible to easily
iterate over the octets of a std::list<anything>, for example.
Such a library would not only come in handy for the problem at hand, but
also for other libraries that have to deal with low level aspects, such
as the binary iostreams library discussed recently.
I'd greatly appreciate any feedback on this topic, and if it should turn
out to be of general use to the boost community, I would be happy to
give it a shot.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk