[libcamera-devel] [RFC PATCH 0/6] Remove using namespace in header files
Hirokazu Honda
hiroh at chromium.org
Wed Oct 20 04:26:26 CEST 2021
Hi Laurent,
Would you merge this patch series?
On Tue, Oct 5, 2021 at 6:51 PM Laurent Pinchart
<laurent.pinchart at ideasonboard.com> wrote:
>
> Hi Hiro,
>
> On Tue, Oct 05, 2021 at 04:31:08PM +0900, Hirokazu Honda wrote:
> > According to Google C++ style guide, using-directives (i.e.
> > "using namespace foo") should not be used. However, libcamera has
> > been using the scheme in many files. Removing using-directives
> > entirely in the code definitely needs the dicussion.
>
> Indeed, that would need discussions :-) Part of the discussion would
> likely touch the namespace name, libcamera is fairly long.
>
> > This patch series resolves the porblem of using using-directives
> > in header file, which I expect I can handily get the agreement
> > from developers. Using-directives in a header file is propagated
> > to all the files including the header file. This pollutes
> > namespace severely.
>
> Overall it looks fine to me, although I'm not sure it's such a big deal.
> Yes, using directives are propagated, which is a bad idea in general,
> but the header files below are all internal the the component they
> relate to. The risk of namespace polution is thus more theoretical than
> practical.
>
> This being said, we're already using this policy in the HAL headers, and
> I don't object extending it to all headers. I'll side with the majority.
>
> > [1] https://google.github.io/styleguide/cppguide.html#Namespaces
> >
> > Hirokazu Honda (6):
> > ipa: raspberrypi: agc: Remove using namespace in agc.hpp
> > cam: Remove using namespace in stream_options.h
> > qcam: Remove using namespace in header files
> > v4l2: Remove using namespace in header files
> > lc-compliance: Remove using namespace in header files
> > test: Remove using namespace in header files
> >
> > src/cam/stream_options.h | 8 ++--
> > src/ipa/raspberrypi/controller/rpi/agc.cpp | 7 ++++
> > src/ipa/raspberrypi/controller/rpi/agc.hpp | 6 +--
> > src/lc-compliance/environment.cpp | 2 +-
> > src/lc-compliance/environment.h | 8 ++--
> > src/qcam/dng_writer.h | 10 ++---
> > src/qcam/main.cpp | 2 +-
> > src/qcam/main_window.h | 40 +++++++++----------
> > src/v4l2/v4l2_camera.h | 37 +++++++++--------
> > src/v4l2/v4l2_camera_proxy.h | 15 ++++---
> > src/v4l2/v4l2_compat_manager.h | 4 +-
> > test/camera/camera_reconfigure.cpp | 1 +
> > test/camera/capture.cpp | 1 +
> > test/camera/configuration_default.cpp | 1 +
> > test/camera/configuration_set.cpp | 1 +
> > test/camera/statemachine.cpp | 1 +
> > test/gstreamer/gstreamer_test.h | 2 -
> > test/libtest/buffer_source.cpp | 2 +
> > test/libtest/buffer_source.h | 10 ++---
> > test/libtest/camera_test.h | 6 +--
> > test/mapped-buffer.cpp | 1 +
> > test/media_device/media_device_test.h | 6 +--
> > test/serialization/serialization_test.h | 10 ++---
> > test/v4l2_subdevice/v4l2_subdevice_test.h | 8 ++--
> > test/v4l2_videodevice/buffer_sharing.cpp | 2 +
> > test/v4l2_videodevice/capture_async.cpp | 2 +
> > test/v4l2_videodevice/v4l2_videodevice_test.h | 14 +++----
> > 27 files changed, 100 insertions(+), 107 deletions(-)
>
> --
> Regards,
>
> Laurent Pinchart
More information about the libcamera-devel
mailing list