-
Notifications
You must be signed in to change notification settings - Fork 122
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Accepted] SDL 0043 - Move to the new C++11 standard. #132
Comments
It seems like portability might be an issue as noted in potential downsides, as well.
n/a
n/a
A quick reading
I don't have enough information to answer this question at this time. |
I believe each stakeholder will need to evaluate if their targets can support the move, but overall I support moving forward with a more modern version of C++. It would make the project better in terms of verbosity/complexity, stability and performance. |
It sounds like a good idea to upgrade to a newer standard, but I agree with Joel that this introduces a huge risk for introducing a lot of new bugs due to the nature of these changes. Is there unit test coverage that could validate the changes made by upgrading to the new standard? Or would there need to be unit tests added/modified to test the changes made by this proposal? The proposal also states that these changes can be made with regression testing. How is that claim justified? |
Is there any sort of guess on timeline or lines of code changed for this? |
@joeljfischer, @JackLivio For example:
|
I think, we should try to stay rather compatible. Like that SDL would easier integrate into existing environments (e.g. GENIVI, AGL, QNX, ). |
This proposal will remain in review until April 11, 2017. The author of the proposal will provide a list for C++11 features that are allowed, as well as a limitation list, in QNX 6.5. Steering Committee members will then determine the impact of these changes on their own implementations, as well as how to approach this breaking change (timing, providing notice, LTS, etc.). |
According to the QNX Release notes for QNX6.5 it uses Our proposal is to use the following list of the features in OpenSDL:
We propose:
|
|
@JackLivio I didn't say that we have to replace existing functors - I mentioned that it is better to use lambdas instead. And it would be good to change if possible some ugly functors. For example, you can compare following snippets struct ProtoV4AppsOnDevice : std::unary_function<ApplicationSharedPtr, bool> {
connection_handler::DeviceHandle handle_;
ProtoV4AppsOnDevice(const connection_handler::DeviceHandle handle)
: handle_(handle) {}
bool operator()(const ApplicationSharedPtr app) const {
return app && handle_ == app->device() &&
ProtocolVersion::kV4 == app->protocol_version()
: false;
}
};
std::copy_if(app_list.begin(),
app_list.end(),
std::back_inserter(v4_proto_apps),
ProtoV4AppsOnDevice(handle)); Compare the above one with the following std::copy_if(app_list.begin(),
app_list.end(),
std::back_inserter(v4_proto_apps),
[handle](ApplicationSharedPtr app) {
return app
? handle_ == app->device() &&
ProtocolVersion::kV4 == app->protocol_version();
}); So the lambda allows to simplify the logic in some cases. |
Members of the Steering Committee need more time to review this proposal, so it has been deferred and will remain in review until April 18, 2017. |
The Steering Committee has agreed to accept this proposal, and noted that we will need to identify implementation timing and clarify LTS before implementation. |
Issue entered: [SDL 0043] Move to the new C++11 standard |
Hello SDL community,
The review of "Move to the new C++11 standard." begins now and runs through April 4, 2017. The proposal is available here:
https://github.com/smartdevicelink/sdl_evolution/blob/master/proposals/0043-upgrade-c++-standard.md
Reviews are an important part of the SDL evolution process. All reviews should be sent to the associated Github issue at:
#132
What goes into a review?
The goal of the review process is to improve the proposal under review through constructive criticism and, eventually, determine the direction of SDL. When writing your review, here are some questions you might want to answer in your review:
Please state explicitly whether you believe that the proposal should be accepted into SDL.
More information about the SDL evolution process is available at
https://github.com/smartdevicelink/sdl_evolution/blob/master/process.md
Thank you,
Theresa Lech
Program Manager - Livio
theresa@livio.io
The text was updated successfully, but these errors were encountered: