-
Notifications
You must be signed in to change notification settings - Fork 56
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
Transition to C++17 #250
Comments
This also requires upgrade of CMake to 3.8 and Boost to 1.61. Issue #250
[skip ci] Provide a link to the Cpp core guidelines website instead of the github repository. Issue #250
No need to declare undefined move constructors. Only HouseEvent still needs the phony constructor due to NRVO. - xml::StreamElement - gui::test::SignalSpy Issue #250
clang 5.0 fails with libstdc++ std::variant: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=877838 |
std::optional and std::variant are missing from macOS Xcode 9: https://forums.developer.apple.com/thread/79555 |
One major difference is how a string_view is converted into a string. With boost::string_ref, there is to_string member function, whereas std::string_view needs to be passed to std::string ctor. The benefit is that <string_view> does not include <string>. Issue #250
Unlike boost::string_ref, std::string_view is hashable. Issue #250
C++17 std::tuple supports implicit constructor. Issue #250
Ideally, AppleClang 9.1 is needed for C++17, so one has to wait till Travis upgrades the macOS toolchain. Alternatively, clang is available from homebrew. Issue #250
|
[skip appveyor] Clang 5.0 bugs with libstdc++. Issue #250
Clang-format 5.0 gets confused with C++17 structured bindings: |
std::variant has different API and guarantees than boost::variant: - std::variant no allocation guarantee (corner case w/ exception) - boost::apply_visitor -> std::visit - boost::get<T>(variant*) -> std::get_if<T>(variant*) - std::holds_alternative<T> for query - Cannot store references in std::variant (use pointers instead) Issue #250
Qt5 moc doesn't understand C++17 nested namespace definition. |
[skip appveyor] lupdate is broken with C++17. Issue #250
System:
Replace Boost:
Docs:
The text was updated successfully, but these errors were encountered: