Subject: Re: [boost] [multi_index] Taking advantage of C++17 auto template params to simplify key specification
From: Joaquin M LÃ³pez MuÃ±oz (joaquinlopezmunoz_at_[hidden])
Date: 2017-09-27 19:14:35
El 27/09/2017 a las 19:15, Steven Watanabe via Boost escribiÃ³:
> On 09/27/2017 06:13 AM, Joaquin M LÃ³pez MuÃ±oz via Boost wrote:
>> El 27/09/2017 a las 13:47, Dominique Devienne via Boost escribiÃ³:
>>> On Wed, Sep 27, 2017 at 12:53 PM, Joaquin M LÃ³pez MuÃ±oz via Boost <
>>> boost_at_[hidden]> wrote:
>>> C++17 def#2
>>> I'm out of my depth here, but the fact you use inheritance means the
>>> two types are not the
>>> same as a consequence, right? I.e. std::is_name<def#1, def#2>
>>> is false?
>> Correct, these are different types.
>> No, template aliases don't support partial specialization. But I don't
>> see any fundamental
>> problem with subclassing.
> To make them be the same type, the best way is
> to reverse it so that member, const_mem_fun, etc.
> are aliases for key.
Nice idea, but alas not applicable here since I want member etc. to
remain C++03 compatible.
Another approach would be to write a template<auto Member> struct
metafunction class here all the partial specialization goes and then do
template<auto Member> using key=typename key_impl<Member>::type. Either way,
the issue raised by Dominique does not cause any trouble AFAICS.
JoaquÃn M LÃ³pez MuÃ±oz
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk