Boost logo

Boost :

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 12:13:15


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:
>
>> using container=multi_index_container<
>> element,
>> indexed_by<
>> ordered_unique<member<element,int,&element::x>>,
>> ordered_unique<const_mem_fun<element,int,&element::f>>,
>> ordered_unique<global_fun<const element&,int,&gf>>
>> >
>> >;
>>
> classical def#1
>
>
>> [...]
>>
>> using container=multi_index_container<
>> element,
>> indexed_by<
>> ordered_unique<key<&element::x>>,
>> ordered_unique<key<&element::f>>,
>> ordered_unique<key<&gf>>
>> >
>> >;
>>
> 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 diferent types.

> And I suppose such partial specialization is not possible with template type
> aliases to have is_same<> being true? Not sure it matters, just thinking out loud.

No, template aliases don't support partial specialization. But I don't
see any fundamental
problem with subclassing.

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