|
Boost : |
From: Caleb Epstein (caleb.epstein_at_[hidden])
Date: 2006-02-13 15:00:32
On 2/13/06, Andy Tompkins <atompkins_at_[hidden]> wrote:
>
> I have uploaded my initial version to the root directory of boost vault in
> order that others can view and critique it. In the near future, I plan to
> add
> code so that it conforms to the requirements of boost.
Overall the code looks pretty good. I do have a few minorquibbles:
- Use forward slashes (/) in include paths, not backslashes.
- The ostream inserter might make good use of the IO State Saver class
(http://boost.org/libs/io/doc/ios_state.html)
- I'd ditch the braces in the stream input and output operations (but
I'm not a big GUID user so perhaps these are handy). Or perhaps this could
be controlled using a custom manipulator.
- Do the stream operators need the try/catch block? I assume these
exist to handle the case where the stream has exceptions enabled. In the
catch block, the exception is just re-thrown, so is your exception handling
even necessary?
- The guid::create method only works for Windows. Perhaps an
implementation using Boost.Random could be provided for other
platforms without "native" GUID creation?
There is a class called "zuid_t" in the Adobe Open-Source Libraries (
http://opensource.adobe.com/classadobe_1_1zuid__t.html) which might be
useful as a reference design. It makes use of MD5 to produce a seed state
for "zuid_t" generation.
-- Caleb Epstein caleb dot epstein at gmail dot com
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk