lilypond-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Obviate method_finder methods (issue 551780043 by address@hidden)


From: jonas . hahnfeld
Subject: Re: Obviate method_finder methods (issue 551780043 by address@hidden)
Date: Sun, 19 Apr 2020 04:03:35 -0700

On 2020/04/19 10:55:52, dak wrote:
> On 2020/04/19 09:55:03, hahnjo wrote:
> > On 2020/04/19 09:39:00, dak wrote:
> > >
> >
>
https://codereview.appspot.com/551780043/diff/573720045/lily/include/callback.hh
> > > File lily/include/callback.hh (right):
> > > 
> > >
> >
>
https://codereview.appspot.com/551780043/diff/573720045/lily/include/callback.hh#newcode166
> > > lily/include/callback.hh:166: typedef typename
> > remove_pointer<decltype(strip_mfp
> > > (static_cast<T> (nullptr)))>::type type;
> > > On 2020/04/19 09:22:44, hahnjo wrote:
> > > > I'd consider 'using type = ' instead which is more C++ style
> > > 
> > > I think you overestimate my C++ fu.  Can you spell this out?
> > 
> > using type = typename remove_pointer<decltype(strip_mfp
(static_cast<T>
> > (nullptr)))>::type;
> > to declare the type alias:
> https://en.cppreference.com/w/cpp/language/type_alias
> 
> I see.  Basically squeezing in another piece of syntax where it has no
sensible
> place in order to have a variant of typedef that also works for
template
> specialisation of types.  Or in other words, more C++ style.  I have
the vague
> impression that the ability to do template specialisation on typedefs
would also
> be able to solve part of the job here in a more elegant manner but
right now my
> brain objects to more C++ style.

Yes, I had the same feeling. However I think that the current solution
works because the template arguments are deduced from the function
argument. I don't currently see a way to make this work with template <>
using type =, but that would certainly be nice (and remove the need of
using decltype and remove_pointer).

https://codereview.appspot.com/551780043/



reply via email to

[Prev in Thread] Current Thread [Next in Thread]