[libcamera-devel,0/7] libcamera: yaml_parser: Add iterator API
mbox series

Message ID 20220616142403.20723-1-laurent.pinchart@ideasonboard.com
Headers show
Series
  • libcamera: yaml_parser: Add iterator API
Related show

Message

Laurent Pinchart June 16, 2022, 2:23 p.m. UTC
Hello,

This patch series adds an iterator API. It is a subset of the previously
posted "[RFC PATCH v2 00/14] Replace boost JSON parser with libyaml in
Raspberry Pi IPA" series.

I have dropped the part that touches the Raspberry Pi IPA due to the
ongoing discussions about YAML mapping ordering. This series is closer
to RFC v1 than RFC v2 (with a small additional drive-by cleanup in patch
1/7), and introduces an unordered iterator API (patches 2/7 and 3/7).
This is already useful to use the iterators in the Android HAL (patch
4/7), but more importantly, this will be useful for the ongoing work on
the RkISP1 IPA. Patches 6/7 and 7/7 are meants to support that use case.

I will post a separate series that then moves the implementation to
preserve the order (without any change to the API), and move the
Raspberry Pi IPA from boost to YamlParser.

Laurent Pinchart (7):
  libcamera: yaml_parser: Use std::is_same_v<>
  libcamera: yaml_parser: Add iterator API
  test: yaml_parser: Extend tests to cover the iterator API
  android: Use the YamlObject iterator API
  libcamera: yaml_parser: Remove memberNames() function
  libcamera: yaml_parser: Fix range checks for 32-bit integers
  libcamera: yaml_parser: Add get() specializations for 16-bit integers

 include/libcamera/internal/yaml_parser.h | 132 ++++++++++++++++++++--
 src/android/camera_hal_config.cpp        |   6 +-
 src/libcamera/yaml_parser.cpp            | 135 ++++++++++++++++++-----
 test/yaml-parser.cpp                     |  99 +++++++++++++----
 4 files changed, 309 insertions(+), 63 deletions(-)


base-commit: 71bdc1e441eba73ad80272573503445648d5ea9c