[PATCH v1 5/5] libcamera: shared_mem_object: Remove is_standard_layout restriction

Jacopo Mondi jacopo.mondi at ideasonboard.com
Thu May 2 12:08:00 CEST 2024


Hi Naush

On Thu, May 02, 2024 at 09:09:25AM GMT, Naushir Patuck wrote:
> The shared_mem_object may be used to construct complex classes, so
> remove the standard layout type restriction.
>
> Signed-off-by: Naushir Patuck <naush at raspberrypi.com>

Can you already tell which non-standard-layout class you need to wrap
in a SharedMemObject ?

My only concern is
"Standard layout types are useful for communicating with code written
in other programming languages."

but as SharedMemObject is internal maybe I'm just over-concerned

> ---
>  include/libcamera/internal/shared_mem_object.h | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/include/libcamera/internal/shared_mem_object.h b/include/libcamera/internal/shared_mem_object.h
> index 9b1d939302a8..c9c0482062bd 100644
> --- a/include/libcamera/internal/shared_mem_object.h
> +++ b/include/libcamera/internal/shared_mem_object.h
> @@ -56,7 +56,7 @@ private:
>  	Span<uint8_t> mem_;
>  };
>
> -template<class T, typename = std::enable_if_t<std::is_standard_layout<T>::value>>
> +template<class T>
>  class SharedMemObject : public SharedMem
>  {
>  public:
> --
> 2.34.1
>


More information about the libcamera-devel mailing list