El 27/09/2017 a las 19:15, Steven Watanabe via Boost escribió:
AMDG
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@lists.boost.org> wrote: <snip> 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
is false? Correct, these are different types. <snip>
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 key_impl{using type=...;} 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