summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Documentation/coding-style.rst23
-rw-r--r--meson.build2
-rw-r--r--src/ipa/rkisp1/rkisp1.cpp4
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;
/*