[libcamera-devel] [PATCH 07/30] cam: options: Disable copy for parsers
Laurent Pinchart
laurent.pinchart at ideasonboard.com
Mon Jul 12 20:21:23 CEST 2021
Hi Kieran,
On Mon, Jul 12, 2021 at 02:39:09PM +0100, Kieran Bingham wrote:
> 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. */
I suppose it depends on how familiar the reader is with the need to
disable copying :-) If you think it's better, I can add that comment.
> > + 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_;
--
Regards,
Laurent Pinchart
More information about the libcamera-devel
mailing list