|
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