I've filed a ticket for this task [1]. [1] - https://issues.apache.org/jira/browse/IGNITE-10333
Best Regards, Igor On Mon, Nov 12, 2018 at 1:39 PM Igor Sapego <[email protected]> wrote: > Vladimir, > > I'd wish we could do that, but unfortunately, even VS 2017 does not > support all C++11 (and even C++03) features [1]. So, maybe we should > also speak about dropping support of old VS and moving to at least VS 2012. > > You can find the benefits of this at [2]. For example, this will give us > native support of atomics, fences, threads and also better language > features, > that can help a lot when developing API and help finding bugs during > compilation. > > If we will adopt the "limited C++11" approach, then I believe we will need > to > update our API to make it more modern and convenient for C++11 users. > > But, unfortunately, this won't give us the complete support of C++11. > > Something else we should also consider here, is that C++ community can be > very conservative, so some part of community could still be on C++03. > > [1] - > https://docs.microsoft.com/en-us/cpp/visual-cpp-language-conformance?view=vs-2017 > [2] - https://msdn.microsoft.com/en-gb/library/hh567368.aspx > > Best Regards, > Igor > > On Mon, Nov 12, 2018 at 10:28 AM Vladimir Ozerov <[email protected]> > wrote: > >> Igniters, >> >> Over time we were very conservative about language levels for our >> libraries >> to be able to target wider platforms. But it looks like some of them are >> way too old, what doing more harm than good. >> >> For C++ we still use C++03 standard, which 15 years old. C++11, C++15 and >> C++17 were released since then. I propose to plan upgrade to C++11 version >> at least. May be event C++15. Major improvements in C++11: >> >> 1) Standard threading model - we will be able to remove a lot >> platform-dependent code (atomics, shared pointers, etc) >> 2) Rvalues - most probably we will be able to benefit from move semantics >> in terms of both performance and cleaner API >> 3) Lambdas - this needs to be investigated, but may be we will be able to >> integrate them into our compute API. >> >> If agreed we should plan it to AI 3.0 release, since this is a breaking >> change. >> >> What do you think? >> >> Vladimir. >> >
