rakhimov/scram

Transition to C++17

rakhimov opened this issue · 5 comments

System:

  • Compiler versions (gcc, clang, icc)
  • Compiler flags (cmake upgrade)
  • Travis-CI (linux, macos)
  • Appveyor-CI (windows mingw64)
  • Qt

Replace Boost:

  • filesystem
  • variant
  • optional
  • string_ref

Docs:

  • Upgrade coding standards

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

<filesystem> is not yet available by default w/ GCC 7 or Clang 5.
Hopefully, it will be available in GCC 8 and Clang 6.

Clang-format 5.0 gets confused with C++17 structured bindings:
https://reviews.llvm.org/D37132

Qt5 moc doesn't understand C++17 nested namespace definition.