Boost logo

Boost :

Subject: Re: [boost] [Review] UUID library (mini-)review starts today, November 23rd
From: Paul A. Bristow (pbristow_at_[hidden])
Date: 2008-11-24 11:59:10


> -----Original Message-----
> From: boost-bounces_at_[hidden] [mailto:boost-bounces_at_[hidden]]
On
> Behalf Of Hartmut Kaiser
> Sent: 24 November 2008 00:14
> To: boost_at_[hidden]; boost-users_at_[hidden]; boost-
> announce_at_[hidden]
> Subject: [boost] [Review] UUID library (mini-)review starts today,
November 23rd
>
> The mini-review of Andy Tompkins UUID library starts today, November 23rd
> 2008, and will end on November 30th.
> I really hope to see your vote and your participation in the discussions
on
> the Boost mailing lists!
>
> The library can be downloaded from the vault here (it's the file
> uuid_v13.zip in the topmost directory): http://tinyurl.com/6xx28b
>
> The initial review of the UUID library ended with a provisional acceptance
> (read here: http://article.gmane.org/gmane.comp.lib.boost.user/27774/).

Re-reading the docs, I can't see any reasons against acceptance.

Nits:

I note that the docs uuid.html copyright date is still only 2006.

And it does not list/link all the tests.

Mis spelling of 'hexidecimal'

The external representation of a uuid is a string of hexidecimal digits

Note: boost::uuids::uuid::size() always returnes 16.
Mispelled 'returnes'
                          
Is there a reason why create does not also take a std::string (with default
length .size() as parameter?)
    // Static functions
    static uuid create(uuid const& namespace_uuid, char const* name, int
name_length);

I assumed it would exist and was surprised when it didn't.

(Should the name_length have a default value? C-string size - 1?)

I also believe that a really basic example would be useful. This helps
novices.

A little demo I knocked up quickly attached. (MSVC 8 Sp1)

It reveals that the hated 4996 warnings are triggered (at default MS warning
level 3).
I think these need to be suppressed with push'n'popping.

Also I got a faceful of these at warning level 4. Again they should be
suppressed.
1>I:\boost_1_37_0\boost/random/detail/pass_through_engine.hpp(49) : warning
C4512:
'boost::random::detail::pass_through_engine<UniformRandomNumberGenerator>' :
assignment operator could not be generated

1>H:\uuid\boost/uuid/uuid.hpp(364) : warning C4244: '=' : conversion from
'int' to 'char', possible loss of data

Should be silenced using a static_cast?

        c = static_cast<ch>(is.peek());

But overall this seems 'OK to ship'.

HTH

Paul

---
Paul A. Bristow
Prizet Farmhouse
Kendal, UK   LA8 8AB
+44 1539 561830, mobile +44 7714330204
pbristow_at_[hidden]



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