On 5/4/20 2:09 PM, Jean-Marc Lasgouttes wrote: > Le 04/05/2020 à 06:05, Thibaut Cuvelier a écrit : >> Dear list, > > Dear Thibaut, > >> During my work on DocBook (which started at >> www.lyx.org/trac/ticket/8444 <http://www.lyx.org/trac/ticket/8444>), >> I switched to Visual C++ 2019 as a compiler. The only way I found to >> make it compile large parts of LyX was to switch to recent C++ >> standards, so that all features are available. Unfortunately, some >> deprecated parts of C++ have been removed in the latest versions of >> the standard… These changes are probably not required for now with >> other compilers, but some form will be required in the future when >> switching to newer C++ versions. > > Thanks for the patches. As you mentioned later, the boost part should > be done by upgrading boost. The new includues are OK. > > Concerning the "modern" C++ contructs, I am all for removing helper > casses that we had, but I would not describe lambda functions as > something that one may like to read.
I was just working on this, for the same reason: All the lambdas threaten to make the code unreadable, and hard to maintain (as so many of them declare the same function). But what we can do is: // Takes the argument d and returns a (pointer to a) function that returns whether // some Branch b has the name d. std::function<bool (Branch const &)> BranchNamesEqual(docstring const & d) { return [d](Branch const & b){ return b.branch() == d; }; } I think that should work in C++11? Similarly in other cases. I'm happy to do these fixes if the idea seems right. Riki -- lyx-devel mailing list lyx-devel@lists.lyx.org http://lists.lyx.org/mailman/listinfo/lyx-devel