Le 30/09/2015 15:53, Jean-Marc Lasgouttes a écrit :
Le 28/09/2015 19:11, Guillaume Munch a écrit :
What about using explicitely lyx::make_shared in the TocBackend
code? Doesn't it solve the ambiguity?

Yes, I can accept this solution given that we won't have to
support c++98 for very long. The drawback is that the issue might
pop-up again in the future if somebody forgets about it because he
cannot test compilation under that other OS. Or maybe it won't
compile, but nobody will notice because nobody cares about c++98
support with msvc now that c++11 is (supposedly) automatic.

How come that the problem occurs with make_shared, but not
shared_ptr, for example? I see that we use the later without any
namespace.

Other functions are members of the shared_ptr class, so I imagine
headers provided the disambiguation.


One solution could be to add explicit autoconf-type checks for the
existence of std::make_shared, std::next, etc. This is not difficult,
 only a bit tedious.


Surely more difficult than my patch. Also it's pointless spending too
much effort since support/shared_ptr.h will disappear in 2.3.

You can double-check the version number in my patch with the msvc
documentation if you want (hint: to simplest way to access the "Other
versions" drop-down menu is to inspect the html source if you do not have access to a ms browser).

I was about to commit the lyx:: solution. Tell me which solution you
eventually prefer.


Reply via email to