Boost logo

Boost :

From: Arkadiy Vertleyb (vertleyb_at_[hidden])
Date: 2005-05-30 07:05:59


"Alexander Nasonov" <alnsn-boost_at_[hidden]> wrot

> 1. BOOST_AUTO in reference section:
>
> "var a free identifier"
>
> - what is a free identifier? An identifier being defined?

> "expr a valid c++ expression that has a type"
>
> - Is there any valid C++ expression that has to type?

I do agree that the docs have yet to be polished in terms of terminology
used.

> - Reference semantics explained in tutorial but it doesn't appear here.
> - Scope of var is not clear from the description.

OK

> - expression returning void compiles fine in native mode but fails in
> compliant mode.

Well, this is just:

typeof(expr) var = expr;

I am surprized that it compiles in the native mode. Can a variable have the
type "void"?

> 2. INCREMENT_REGISTRATION_GROUP
>
> Scope of #include BOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP()
> should be clear. My sample compiles in compliant mode even though
> inclusion is at class scope. Is it legal?

I think so. This is just a preprocessor thing -- no code gets generated.
The main thing is that the preprocessor should hit this line before it hits
any of registration macros in the same file.

> 3. REGISTER_TEMPLATE
>
> - I don't see any information on other non-type template parameters
> such as a pointer to member and a pointer/reference to object or
> function (14.1/4). Are they supported?

Only type, integral, and template template parameters are currently
supported.

> - "unsigned" implies int, 7.1/3

Right, but a C++ programmer can say "unsigned int" or "unsigned" with the
same effect, so we support the same, as we support the typename/class
alternative to denote type template parameters.

> I'm still reading the docs. Be prepared for other notes :)

Looking forward :-)

Regards,
Arkadiy


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