diff options
-rw-r--r-- | Documentation/coding-style.rst | 23 | ||||
-rw-r--r-- | meson.build | 2 | ||||
-rw-r--r-- | src/ipa/rkisp1/rkisp1.cpp | 4 |
3 files changed, 13 insertions, 16 deletions
diff --git a/Documentation/coding-style.rst b/Documentation/coding-style.rst index 9939c7b1..bbc1f2fb 100644 --- a/Documentation/coding-style.rst +++ b/Documentation/coding-style.rst @@ -86,22 +86,17 @@ headers, and with double quotes for other libcamera headers. C++ Specific Rules ------------------ -The code shall be implemented in C++03, extended with the following -C++-11-specific features: - -* Initializer lists -* Type inference (auto and decltype) - Type inference shall be used with caution, to avoid drifting towards an - untyped language. -* Range-based for loop -* Lambda functions -* Explicit overrides and final -* Null pointer constant -* General-purpose smart pointers (std::unique_ptr), deprecating std::auto_ptr. +The code shall be implemented in C++14, 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 overused. -* Variadic class and function templates -* rvalue references, move constructor and move assignment +* Classes are encouraged to define move constructors and assignment operators + where applicable, and generally make use of the features offered by rvalue + references. Object Ownership ~~~~~~~~~~~~~~~~ diff --git a/meson.build b/meson.build index 63448858..37cf4d66 100644 --- a/meson.build +++ b/meson.build @@ -4,7 +4,7 @@ project('libcamera', 'c', 'cpp', default_options : [ 'werror=true', 'warning_level=2', - 'cpp_std=c++11', + 'cpp_std=c++14', ], license : 'LGPL 2.1+') diff --git a/src/ipa/rkisp1/rkisp1.cpp b/src/ipa/rkisp1/rkisp1.cpp index 74b29220..a8dd1645 100644 --- a/src/ipa/rkisp1/rkisp1.cpp +++ b/src/ipa/rkisp1/rkisp1.cpp @@ -104,7 +104,9 @@ void IPARkISP1::configure(const std::map<unsigned int, IPAStream> &streamConfig, void IPARkISP1::mapBuffers(const std::vector<IPABuffer> &buffers) { for (const IPABuffer &buffer : buffers) { - auto elem = buffers_.emplace(buffer.id, buffer.planes); + auto elem = buffers_.emplace(std::piecewise_construct, + std::forward_as_tuple(buffer.id), + std::forward_as_tuple(buffer.planes)); const FrameBuffer &fb = elem.first->second; /* |