Boost logo

Boost :

Subject: Re: [boost] [Review] UUID library (mini-)review starts today, November 23rd
From: Rutger ter Borg (rutger_at_[hidden])
Date: 2008-11-25 14:03:22


Hartmut Kaiser wrote:
> - What is your evaluation of the design?
> - What is your evaluation of the implementation?
> - What is your evaluation of the documentation?
> - What is your evaluation of the potential usefulness of the library?
> - Did you try to use the library? With what compiler? Did you have any
> problems?
> - How much effort did you put into your evaluation? A glance? A quick
> reading? In-depth study?
> - Are you knowledgeable about the problem domain?
>
> Regards Hartmut
> Review Manager

Herewith my non-exhaustive review:

I've looked at the library, good work, it looks very interesting. I did a
quick reading, and in particular, I paid attention to the many of its
intended uses (in the Rationale), and how this would have to be done in
practice (the Interface).

 * The design notes state that it is based on X.667-E. This document
describes three construction mechanisms: time-based, rng-based, and
string-based. The proposal doesn't have the time-based constructor. Is
there a reason why this is missing?
 * Is the boost namespace that cluttered that it isn't possible to
hold "boost::uuid" in it? I think boost::uuids::uuid is kind of repetitive.
(Or is there a policy against putting stuff in the boost root-namespace?)
 * Construction is described in "Constructors" and "Construction" -- this
could perhaps lead to confusion?
 * In Representation: Is there a reason for a .to_string() member function
instead of an operator std::string()? I.e., it reduces std::string s =
u.to_string() to std::string s( u );
 * Considering the examples in the Rationale and the available constructors:
I'm curious how to easily "tag an object" using the provided constructors.
By a random number? Or could I just pass the address of the object and use
a string-based method? In other words, it would be nice if such an example
from the Rationale would be topic of an example.

I vote for acceptance into boost, given that just a bit more attention is
paid to a potential user's convenience.

Kind regards,

Rutger


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk