meson: Switch to C++17

Due to popular request, move from C++14 to C++17. This will allow
dropping some custom constructs (such as a custom utils::clamp),
benefiting from new language features, and dropping gcc 5 and 6 from the
compilation tests.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Reviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>
This commit is contained in:
Laurent Pinchart 2020-08-22 17:19:31 +03:00
parent f976eb5cb6
commit b869d4463e
2 changed files with 24 additions and 14 deletions

View file

@ -88,13 +88,12 @@ headers, and with double quotes for other libcamera headers.
C++ Specific Rules
------------------
The code shall be implemented in C++14, with the following caveats:
The code shall be implemented in C++17, with the following caveats:
* Type inference (auto and decltype) shall be used with caution, to avoid
drifting towards an untyped language.
* The explicit, override and final specifiers are to be used where applicable.
* General-purpose smart pointers (std::unique_ptr) deprecate std::auto_ptr.
Smart pointers, as well as shared pointers and weak pointers, shall not be
* Smart pointers, as well as shared pointers and weak pointers, shall not be
overused.
* Classes are encouraged to define move constructors and assignment operators
where applicable, and generally make use of the features offered by rvalue