[PATCH 2/4] libcamera: Adapt Vector class to new location

Stefan Klug stefan.klug at ideasonboard.com
Thu Feb 6 15:10:09 CET 2025


Change the namespace of the Vector class from libipa to libcamera and
add it to the build.

Signed-off-by: Stefan Klug <stefan.klug at ideasonboard.com>
---
 include/libcamera/internal/meson.build |  1 +
 include/libcamera/internal/vector.h    | 14 +++++---------
 src/libcamera/meson.build              |  1 +
 src/libcamera/vector.cpp               |  6 +-----
 test/meson.build                       |  1 +
 test/vector.cpp                        |  4 ++--
 6 files changed, 11 insertions(+), 16 deletions(-)

diff --git a/include/libcamera/internal/meson.build b/include/libcamera/internal/meson.build
index 7d6aa8b72bd7..45408b313848 100644
--- a/include/libcamera/internal/meson.build
+++ b/include/libcamera/internal/meson.build
@@ -43,6 +43,7 @@ libcamera_internal_headers = files([
     'v4l2_pixelformat.h',
     'v4l2_subdevice.h',
     'v4l2_videodevice.h',
+    'vector.h',
     'yaml_parser.h',
 ])
 
diff --git a/include/libcamera/internal/vector.h b/include/libcamera/internal/vector.h
index fe33c9d6fbd1..a67a09474204 100644
--- a/include/libcamera/internal/vector.h
+++ b/include/libcamera/internal/vector.h
@@ -24,8 +24,6 @@ namespace libcamera {
 
 LOG_DECLARE_CATEGORY(Vector)
 
-namespace ipa {
-
 #ifndef __DOXYGEN__
 template<typename T, unsigned int Rows,
 	 std::enable_if_t<std::is_arithmetic_v<T>> * = nullptr>
@@ -329,11 +327,9 @@ bool operator!=(const Vector<T, Rows> &lhs, const Vector<T, Rows> &rhs)
 bool vectorValidateYaml(const YamlObject &obj, unsigned int size);
 #endif /* __DOXYGEN__ */
 
-} /* namespace ipa */
-
 #ifndef __DOXYGEN__
 template<typename T, unsigned int Rows>
-std::ostream &operator<<(std::ostream &out, const ipa::Vector<T, Rows> &v)
+std::ostream &operator<<(std::ostream &out, const Vector<T, Rows> &v)
 {
 	out << "Vector { ";
 	for (unsigned int i = 0; i < Rows; i++) {
@@ -346,13 +342,13 @@ std::ostream &operator<<(std::ostream &out, const ipa::Vector<T, Rows> &v)
 }
 
 template<typename T, unsigned int Rows>
-struct YamlObject::Getter<ipa::Vector<T, Rows>> {
-	std::optional<ipa::Vector<T, Rows>> get(const YamlObject &obj) const
+struct YamlObject::Getter<Vector<T, Rows>> {
+	std::optional<Vector<T, Rows>> get(const YamlObject &obj) const
 	{
-		if (!ipa::vectorValidateYaml(obj, Rows))
+		if (!vectorValidateYaml(obj, Rows))
 			return std::nullopt;
 
-		ipa::Vector<T, Rows> vector;
+		Vector<T, Rows> vector;
 
 		unsigned int i = 0;
 		for (const YamlObject &entry : obj.asList()) {
diff --git a/src/libcamera/meson.build b/src/libcamera/meson.build
index 57fde8a8fab0..de22b8e60dde 100644
--- a/src/libcamera/meson.build
+++ b/src/libcamera/meson.build
@@ -53,6 +53,7 @@ libcamera_internal_sources = files([
     'v4l2_pixelformat.cpp',
     'v4l2_subdevice.cpp',
     'v4l2_videodevice.cpp',
+    'vector.cpp',
     'yaml_parser.cpp',
 ])
 
diff --git a/src/libcamera/vector.cpp b/src/libcamera/vector.cpp
index 8019f8cfdc85..85ca2208245a 100644
--- a/src/libcamera/vector.cpp
+++ b/src/libcamera/vector.cpp
@@ -5,7 +5,7 @@
  * Vector and related operations
  */
 
-#include "vector.h"
+#include "libcamera/internal/vector.h"
 
 #include <libcamera/base/log.h>
 
@@ -18,8 +18,6 @@ namespace libcamera {
 
 LOG_DEFINE_CATEGORY(Vector)
 
-namespace ipa {
-
 /**
  * \class Vector
  * \brief Vector class
@@ -346,6 +344,4 @@ bool vectorValidateYaml(const YamlObject &obj, unsigned int size)
 }
 #endif /* __DOXYGEN__ */
 
-} /* namespace ipa */
-
 } /* namespace libcamera */
diff --git a/test/meson.build b/test/meson.build
index 5ed052ed62c8..4095664994fd 100644
--- a/test/meson.build
+++ b/test/meson.build
@@ -73,6 +73,7 @@ internal_tests = [
     {'name': 'timer-thread', 'sources': ['timer-thread.cpp']},
     {'name': 'unique-fd', 'sources': ['unique-fd.cpp']},
     {'name': 'utils', 'sources': ['utils.cpp']},
+    {'name': 'vector', 'sources': ['vector.cpp']},
     {'name': 'yaml-parser', 'sources': ['yaml-parser.cpp']},
 ]
 
diff --git a/test/vector.cpp b/test/vector.cpp
index 8e4ec77d7820..4fae960defc1 100644
--- a/test/vector.cpp
+++ b/test/vector.cpp
@@ -5,14 +5,14 @@
  * Vector tests
  */
 
-#include "../src/ipa/libipa/vector.h"
+#include "libcamera/internal/vector.h"
 
 #include <cmath>
 #include <iostream>
 
 #include "test.h"
 
-using namespace libcamera::ipa;
+using namespace libcamera;
 
 #define ASSERT_EQ(a, b)							\
 if ((a) != (b)) {							\
-- 
2.43.0



More information about the libcamera-devel mailing list