[libcamera-devel] [PATCH 07/30] cam: options: Disable copy for parsers
Kieran Bingham
kieran.bingham at ideasonboard.com
Mon Jul 12 15:39:09 CEST 2021
On 07/07/2021 03:19, Laurent Pinchart wrote:
> Copying the OptionsParser class would result in the optionsMap_ entries
> pointing to Option entries of the original instance. As there's no use
> case for copying the class, disable copying.
>
> Disable copying of KeyValueParser as well for consistency as there's no
> use case either.
>
> Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
Reviewed-by: Kieran Bingham <kieran.bingham at ideasonboard.com>
> ---
> src/cam/options.h | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/src/cam/options.h b/src/cam/options.h
> index 01a5d36a63fb..4418e201bf1f 100644
> --- a/src/cam/options.h
> +++ b/src/cam/options.h
> @@ -68,6 +68,9 @@ public:
> virtual Options parse(const char *arguments);
>
> private:
I will always think these implementations deserve an easily human
readable comment to make sure the intention is clear to the casual reader.
/* Disable copying of the class. */
> + KeyValueParser(const KeyValueParser &) = delete;
> + KeyValueParser &operator=(const KeyValueParser &) = delete;
> +
> friend class OptionsParser;
> void usage(int indent);
>
> @@ -95,6 +98,9 @@ public:
> void usage();
>
> private:
> + OptionsParser(const OptionsParser &) = delete;
> + OptionsParser &operator=(const OptionsParser &) = delete;
> +
> void usageOptions(const std::list<Option> &options, unsigned int indent);
>
> std::list<Option> options_;
>
More information about the libcamera-devel
mailing list