Boost logo

Boost :

Subject: Re: [boost] [CallableTraits] The formal review begins today
From: Tim Song (t.canens.cpp_at_[hidden])
Date: 2017-04-03 17:50:37


On Mon, Apr 3, 2017 at 1:09 PM, Peter Dimov via Boost
<boost_at_[hidden]> wrote:
> Tim Song wrote:
>>
>> >> However, in C++14, variable templates have external linkage, so >>
>> >> `inline` is not necessary for variable templates.
>> >
>> > Indeed. They're templates after all.
>>
>> As I understand it, this depends on Core issue 1713, whose unresolved
>> status presumably led LWG to go with putting inline on everything at Kona
>> (see P0607R0; LWG moved A and B2).
>
>
> It makes no sense for variable templates to "not be inline", because that
> would make them useless. Templates are defined in headers. They have to be
> "inline" in the same way template functions have to be "inline" even when
> they aren't.
>

The issue was, I believe, whether the const implied by the constexpr
gave the variable template internal linkage; even though they are
templates, that doesn't help with the ODR problem if they are actually
different templates.


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