Boost logo

Boost :

Subject: Re: [boost] [UUID] uuid.hpp Objective C++ conflict.
From: Scott McMurray ([hidden])
Date: 2009-08-21 17:46:20

2009/8/21 Mostafa <mostafa_working_away_at_[hidden]>:
> Yes, it's "__OBJC__".
> I actually like the idea of an explicit function or const variable for nil
> uuid *exactly for the purpose of adding clarity*.  With instances of POD
> types I don't assume that declaration implies initialization, since that's
> not the case with the usual cast of characters, i.e., pointers, int, float,
> etc.  Hence, I automatically initialize any instance of a POD type that I
> declare.
> For the time being and for my internal copy of the lib, I'm just following
> Mathias' suggestion.

I think you should communicate to Andy that you'd like it to be called
nil_ when compiled for OBJC, as I think that's a reasonable and
non-invasive solution.

Note, however that pod_type x = pod_type(); (or, in C++0x, pod_type
x{};) is well-defined value-initialization for all PODs. uuid x{};
will produce a nil UUID just as int *p{}; will produce a null pointer.

> Maybe I'm missing something, but a static method does not negate the PODness
> of a type, and the nil uuid is already being generated in uuid.hpp.

I guess I'm thinking now that I should have renamed
uuid_namespaces.hpp to uuid_predefined.hpp and included nil() in

>  The only reason I ask this question, and I guess I would advocate this
> position, is because it makes sense from an OO perspective.

Since I've yet to find agreement on what constitutes "OO", I'm always
sceptical of such arguments.

( )

~ Scott

Boost list run by bdawes at, gregod at, cpdaniel at, john at