[libcamera-devel] [PATCH v5 03/19] libcamera: geometry: Add 0-initialized SizeRange constructor

Laurent Pinchart laurent.pinchart at ideasonboard.com
Mon Apr 1 23:53:19 CEST 2019


Hi Jacopo,

On Wed, Mar 27, 2019 at 09:00:50AM +0100, Jacopo Mondi wrote:
> On Wed, Mar 27, 2019 at 02:13:35AM +0200, Laurent Pinchart wrote:
> > On Tue, Mar 26, 2019 at 09:38:46AM +0100, Jacopo Mondi wrote:
> >> Add constructor to SizeRange which initialize all the size range fields
> >> to 0.
> >>
> >> While at there make the in-line constructor declarations respect the
> >> coding style by moving braces to a new line.
> >>
> >> Signed-off-by: Jacopo Mondi <jacopo at jmondi.org>
> >> ---
> >>  src/libcamera/geometry.cpp       | 11 ++++++++++-
> >>  src/libcamera/include/geometry.h |  9 ++++++++-
> >>  2 files changed, 18 insertions(+), 2 deletions(-)
> >>
> >> diff --git a/src/libcamera/geometry.cpp b/src/libcamera/geometry.cpp
> >> index b6b6592bdfec..dbc37ca8e3f4 100644
> >> --- a/src/libcamera/geometry.cpp
> >> +++ b/src/libcamera/geometry.cpp
> >> @@ -57,7 +57,16 @@ namespace libcamera {
> >>
> >>  /**
> >>   * \fn SizeRange::SizeRange()
> >> - * \brief Construct a size range
> >> + * \brief Construct a size range initialized to 0
> >> + */
> >> +
> >> +/**
> >> + * \fn SizeRange::SizeRange(unsigned int minW, unsigned int minH, unsigned int maxW, unsigned int maxH)
> >> + * \brief Construct an initialized size range
> >> + * \param minW The minimum width
> >> + * \param minH The minimum height
> >> + * \param maxW The maximum width
> >> + * \param maxH The maximum height
> >>   */
> >>
> >>  /**
> >> diff --git a/src/libcamera/include/geometry.h b/src/libcamera/include/geometry.h
> >> index eadc4ed4f9cb..749746495204 100644
> >> --- a/src/libcamera/include/geometry.h
> >> +++ b/src/libcamera/include/geometry.h
> >> @@ -18,10 +18,17 @@ struct Rectangle {
> >>  };
> >>
> >>  struct SizeRange {
> >> +	SizeRange(void)
> >> +		: SizeRange(0, 0, 0, 0)
> >> +	{
> >> +	}
> >> +
> >>  	SizeRange(unsigned int minW, unsigned int minH,
> >>  		  unsigned int maxW, unsigned int maxH)
> >>  		: minWidth(minW), minHeight(minH), maxWidth(maxW),
> >> -		  maxHeight(maxH) {}
> >> +		  maxHeight(maxH)
> >> +	{
> >> +	}
> >>
> >>  	unsigned int minWidth;
> >>  	unsigned int minHeight;
> >
> > Open question here, what to you think of
> > https://en.cppreference.com/w/cpp/language/data_members#Member_initialization,
> > item 2 instead of creating a constructor for this kind of purpose ?
> 
> That it might be nice, but I need to declare a default constructor
> anyhow.
> 
> +       SizeRange() = default;
> 
>         SizeRange(unsigned int minW, unsigned int minH,
>                   unsigned int maxW, unsigned int maxH)
> @@ -34,10 +31,10 @@ struct SizeRange {
>         {
>         }
> 
> -       unsigned int minWidth;
> -       unsigned int minHeight;
> -       unsigned int maxWidth;
> -       unsigned int maxHeight;
> +       unsigned int minWidth = 0;
> +       unsigned int minHeight = 0;
> +       unsigned int maxWidth = 0;
> +       unsigned int maxHeight = 0;
>  };
> 
> I don't have any strong opinion to be honest.

Neither do I, hence the open question :-) What do the other think ?

-- 
Regards,

Laurent Pinchart


More information about the libcamera-devel mailing list