Hi, Here come my two cents.
To me, upgrading to C++17 is a no brainer given that C++11 is quite old and C++17 has lots of new features, performance improvements and bug fixes. The only thing that could prevent us from doing so is having lots of users that are running the native client in a platform that does not have a C++17 compiler. Which leads me to the question: should we move this discussion to the user mailing list? Alberto ________________________________ From: Mario Salazar de Torres <mario.salazar.de.tor...@est.tech> Sent: Tuesday, May 4, 2021 7:45 PM To: dev@geode.apache.org <dev@geode.apache.org> Subject: Re: DISCUSSION: Geode Native C++ 17 adoption Hi everyone, Sorry for the previous email, I did send it before finishing it by mistake. Currently Geode Native uses C++11 standard. It has been quite some time since the standard was released and as of today the latest standard is C++20. As part of another discussion, some users in the community were wondering if it's the time to switch to C++17 in the Geode Native project. So, I am putting a list of pros and cons: Pros: * Several new features added: * C++14 features: https://en.cppreference.com/w/cpp/14#New_language_features * C++17 features: https://en.cppreference.com/w/cpp/17#New_language_features * Some of the interesting features are: * Function return type deduction. * Improved constexpr functions. * Variable templates. * Generic lambdas. * Lambda capture expressions. * [[deprecated]] * Shared mutexes/locks. * std::make_unique * Nested namespace definitions. * Structured bindings. * variant. * any. * optional. Cons: * Some users might have older compilers which does not implement all C++ 17 features. Thanks, Mario. ________________________________ From: Mario Salazar de Torres <mario.salazar.de.tor...@est.tech> Sent: Tuesday, May 4, 2021 7:34 PM To: dev@geode.apache.org <dev@geode.apache.org> Subject: DISCUSSION: Geode Native C++ 17 adoption Hi everyone, Currently Geode Native uses C++11 standard. It has been quite some time since the standard was released and as of today the latest standard is C++20. As part of another discussion, some users in the community were wondering if it's the time to switch to C++17 in the Geode Native project. So, I am putting a list of pros and cons: Pros: * Several new features added: * C++14 features: https://en.cppreference.com/w/cpp/14#New_language_features * C++17 features: https://en.cppreference.com/w/cpp/17#New_language_features * Some of the interesting features are: * Function return type deduction. * Improved constexpr functions. * Variable templates. - Generic lambdas. - Lambda capture expressions. - [[deprecated]] - Shared mutexes/locks. - std::make_unique C++17 - cppreference.com<https://en.cppreference.com/w/cpp/17#New_language_features> This page was last modified on 20 October 2020, at 04:39. This page has been accessed 106,431 times. Privacy policy; About cppreference.com; Disclaimers en.cppreference.com C++14 - cppreference.com<https://en.cppreference.com/w/cpp/14#New_language_features> New language features . variable templates; generic lambdas; lambda init-capture new/delete elision relaxed restrictions on constexpr functions; binary literals en.cppreference.com