[libcamera-devel] [PATCH 11/11] android: camera_stream: Define explicit move constructor and destructors

Laurent Pinchart laurent.pinchart at ideasonboard.com
Mon Oct 18 19:36:44 CEST 2021


Hi Jacopo,

On Mon, Oct 18, 2021 at 06:40:10PM +0200, Jacopo Mondi wrote:
> On Mon, Oct 18, 2021 at 06:59:23PM +0530, Umang Jain wrote:
> > From: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
> >
> > There's no need for the move constructor and the destructor to be
> > inline. Define them explicitly, with default implementations. This
> 
> Were they inline ? Or rather implicitly defiend ?

Both,

"If no user-declared constructors of any kind are provided for a class
type (struct, class, or union), the compiler will always declare a
default constructor as an inline public member of its class."

(https://en.cppreference.com/w/cpp/language/default_constructor)

> > allows usage of the CameraStream class without a complete definition of
> > the PostProcessor class.
> >
> > Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
> 
> And saves a bit of space too probably!
> 
> Reviewed-by: Jacopo Mondi <jacopo at jmondi.org>
> 
> > ---
> >  src/android/camera_stream.cpp | 4 ++++
> >  src/android/camera_stream.h   | 2 ++
> >  2 files changed, 6 insertions(+)
> >
> > diff --git a/src/android/camera_stream.cpp b/src/android/camera_stream.cpp
> > index 8e6ccb83..f44a2717 100644
> > --- a/src/android/camera_stream.cpp
> > +++ b/src/android/camera_stream.cpp
> > @@ -56,6 +56,10 @@ CameraStream::CameraStream(CameraDevice *const cameraDevice,
> >  {
> >  }
> >
> > +CameraStream::CameraStream(CameraStream &&other) = default;
> > +
> > +CameraStream::~CameraStream() = default;
> > +
> >  const StreamConfiguration &CameraStream::configuration() const
> >  {
> >  	return config_->at(index_);
> > diff --git a/src/android/camera_stream.h b/src/android/camera_stream.h
> > index 85064268..f242336e 100644
> > --- a/src/android/camera_stream.h
> > +++ b/src/android/camera_stream.h
> > @@ -112,6 +112,8 @@ public:
> >  	CameraStream(CameraDevice *const cameraDevice,
> >  		     libcamera::CameraConfiguration *config, Type type,
> >  		     camera3_stream_t *camera3Stream, unsigned int index);
> > +	CameraStream(CameraStream &&other);
> > +	~CameraStream();
> >
> >  	Type type() const { return type_; }
> >  	camera3_stream_t *camera3Stream() const { return camera3Stream_; }

-- 
Regards,

Laurent Pinchart


More information about the libcamera-devel mailing list