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

Kieran Bingham kieran.bingham at ideasonboard.com
Tue Feb 11 10:43:31 CET 2025


Quoting Stefan Klug (2025-02-06 14:10:09)
> Change the namespace of the Vector class from libipa to libcamera and
> add it to the build.

Reviewed-by: Kieran Bingham <kieran.bingham at ideasonboard.com>

> 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