Boost logo

Boost :

From: Jens Maurer (Jens.Maurer_at_[hidden])
Date: 2001-06-28 16:33:32


Aleksey Gurtovoy wrote:
>
> David Abrahams wrote:
> > Still, when I introduced that macro I was unaware of the language rule
> > requiring an out-of-class declaration for integral constant members of
> > templates (unenforced by most compilers).
>
> But issue 48
> (http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/cwg_defects.html#48) has been
> categorized as a Defect Report, and although the resolution is not a part of
> the standard yet, I think it's very unlikely that any compiler vendor will
> put efforts into enforcing the rule that is almost certainly is going to be
> removed.

Note that issue 48 deals only with places "where an integral
constant expression is required". Thus, sizing a C-style array
doesn't need the out-of-line definition, but using it in an
"ordinary" expression such as "if(i)" does require the definition.

For boost, that means we still need to provide the out-of-line
definitions. I think.

Jens Maurer


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