Boost logo

Boost :

From: Andy (atompkins_at_[hidden])
Date: 2007-05-31 13:42:59


"Martin Bonner" <Martin.Bonner_at_[hidden]> wrote in
news:5D8503D66B71984E8D7F6651BA74D0592E0071_at_yew.PS.LOCAL:

> From: boost-bounces_at_[hidden] on behalf of Peter Dimov
> Sent: Thu 31/05/2007 18:04
> To: boost_at_[hidden]
> Subject: Re: [boost] [guid] - review results? - inline missing
>
> Hartmut Kaiser wrote:
>> You need to add an explicit 'inline' specifier to any function
>> defined out of class but in a header, regardless if it's a
>> templatized function or not.
>
> I don't think that this is true.
> ________________________________
>
> <end quote>
> Why don't you think this is true?
>
> If you have the same function defined in two translation units
> (because it is dragged into both via #include), it's a violation of
> the One Definition Rule unless the definitions have inline.
>

< snip >

I don't know what is correct by the standard, or what is correct to do
to ensure that all comilers will be able to compile it.

But, I included uuid.hpp (from uuid_v9.zip that I just uploaded to the
vault) in two different complication units (and called some of the
templated functions). The templated functions do not have the inline
keyword and I don't get a complication error using visual studio .NET.

Andy.


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