{"id":25012,"url":"https://patchwork.libcamera.org/api/covers/25012/?format=json","web_url":"https://patchwork.libcamera.org/cover/25012/","project":{"id":1,"url":"https://patchwork.libcamera.org/api/projects/1/?format=json","name":"libcamera","link_name":"libcamera","list_id":"libcamera_core","list_email":"libcamera-devel@lists.libcamera.org","web_url":"","scm_url":"","webscm_url":""},"msgid":"<20251113110958.1117065-1-naush@raspberrypi.com>","date":"2025-11-13T11:05:30","name":"[RFC,v1,0/1] Switch to C++20 standard","submitter":{"id":34,"url":"https://patchwork.libcamera.org/api/people/34/?format=json","name":"Naushir Patuck","email":"naush@raspberrypi.com"},"mbox":"https://patchwork.libcamera.org/cover/25012/mbox/","series":[{"id":5586,"url":"https://patchwork.libcamera.org/api/series/5586/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=5586","date":"2025-11-13T11:05:30","name":"Switch to C++20 standard","version":1,"mbox":"https://patchwork.libcamera.org/series/5586/mbox/"}],"comments":"https://patchwork.libcamera.org/api/covers/25012/comments/","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 75C1BC3263\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu, 13 Nov 2025 11:10:05 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 1A87360A85;\n\tThu, 13 Nov 2025 12:10:04 +0100 (CET)","from mail-wm1-x330.google.com (mail-wm1-x330.google.com\n\t[IPv6:2a00:1450:4864:20::330])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id EA5E860805\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 13 Nov 2025 12:10:01 +0100 (CET)","by mail-wm1-x330.google.com with SMTP id\n\t5b1f17b1804b1-4777a96d817so365025e9.2\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 13 Nov 2025 03:10:01 -0800 (PST)","from naush-dell.pitowers.org\n\t([2a00:1098:3142:1f:2656:5224:553b:c3da])\n\tby smtp.gmail.com with ESMTPSA id\n\tffacd0b85a97d-42b53e7aea7sm3259935f8f.1.2025.11.13.03.10.00\n\t(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n\tThu, 13 Nov 2025 03:10:00 -0800 (PST)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (2048-bit key;\n\tunprotected) header.d=raspberrypi.com header.i=@raspberrypi.com\n\theader.b=\"mwHxdb9L\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=raspberrypi.com; s=google; t=1763032201; x=1763637001;\n\tdarn=lists.libcamera.org; \n\th=content-transfer-encoding:mime-version:message-id:date:subject:cc\n\t:to:from:from:to:cc:subject:date:message-id:reply-to;\n\tbh=J3iyZZ59oBhz6hSERxs3hbt7kEyfXdYmvRIY4Dw76Ek=;\n\tb=mwHxdb9LN6uTKP7Gw6SCNL4iZnQ6dkuNuDSSfo/8MmGibqmZdtIMd9o9LlN6XztTyb\n\tekvsjwXhgxn+PnP7JqRC7DB096/T9lUTo5NIsLjyT4c2du1hx5CSAdOByg6+gIDRR4Mw\n\tra8XAT9fiAAhQJfgj88pB43gcUuhrc5LYVgCmQDyNLiSg9T1xDQdmembNGEAJYfvmyXZ\n\t/urog+qeRvSwhAM2JO14S0PzpGBGGglrpitSaNJ3E5ILTy0NPFH2UcqQN0Q5jghqnufZ\n\tiv80IAVsDWzbqZ9roYOH3HQjYj80LTSgFkFfviwXjuKWn4whiNVf8AWaqEoY1ifmZ6fY\n\tJeSQ==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20230601; t=1763032201; x=1763637001;\n\th=content-transfer-encoding:mime-version:message-id:date:subject:cc\n\t:to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date\n\t:message-id:reply-to;\n\tbh=J3iyZZ59oBhz6hSERxs3hbt7kEyfXdYmvRIY4Dw76Ek=;\n\tb=HZ0saRe+Lcap3sWlyrqh2NFG/3I1I+e5aDfrtjCxCK0aWOpMexXmqSDQqL94xve8+B\n\tBoDYhbsOXZXiL0PlDBTb5u2z4XUdN0dz+EbKmSwtD0sgzrxf0kPEeUeYR3s1KiBBnNM3\n\tdafTbLVrvLRa5YFA4GAkVBBgjQfku9hv+RDDDErJ8+6ly5CVc7I1DXhTTCgLtAMRe4wt\n\tIiBZpr/CkXeTJFz7AEyk9TsOz/TMz/pu2Qs1bLMXakZLXjVxPSMwqKjX22sxNPiG69yh\n\tdKZgpaOUE+EIehbaXZ9nR2uPNE/vC62jqE3LNMmT9K/dFj0bbI53Lp0HF9QX9+P1wVim\n\tSicQ==","X-Gm-Message-State":"AOJu0YzWHLCuCgagav/rtiprS9Bzs1p9ah/gObCkIf9s0r8Xp3VgI3OH\n\tn9+OG1cACbg1K1uP+L7j0nJczrjxVF9OHF7wwhQnXqaGfWT4DndyS4L+Aiqsc7hT94KSF8KVXJq\n\t0JrWi","X-Gm-Gg":"ASbGnculT6gD8SIg0mDFJTxqUORb2z5dH1YMXL96BYIubZsNhfLPGqytkukUv42o/Nl\n\tYeh/Sx2Opl8XbAHJ9Ak7/VhQFwMLCI337Ngv3g7894Gvy1g953nsPBJ7uztUqPDyWNQhZL1tCk5\n\tHTF4SucfRZNUmFdva53uNOUgWQ8xGUBso5u4mzstzo4/71pQJC/URuR2xqdpebCCLs7pIkWiC8g\n\tCwkRW149FpCmRExQJTXazBEMLqZ6MxstQLVjPYzUW6jiUlgmAXhEZmI9M1mp8S6K/FndrgLVNS+\n\tUWTlcikVMEH5nIIScnM3e9YcI9SDg/hq/CX39NcScgVgXi8SB7P/ifDDR+ubbt3x7ABiVvQKYyz\n\tjSZhz1ZiJaf4dfIUtBTsR96IMlpAbtyGBXJdo0TDQj+24E3nbMJdYqyP4mRLcybEn9G0ozDmxqS\n\t0pVQbcFfFuKKGp/socWguU","X-Google-Smtp-Source":"AGHT+IGhZSUdye3rPdAsoZvTxWx10VjUfnETH6MeLQsAYxIMKvwcbDnm/I3LSLm7HgFSnEbHyOui7g==","X-Received":"by 2002:a05:6000:4022:b0:42b:3746:3b83 with SMTP id\n\tffacd0b85a97d-42b530a4aa3mr1057245f8f.8.1763032201058; \n\tThu, 13 Nov 2025 03:10:01 -0800 (PST)","From":"Naushir Patuck <naush@raspberrypi.com>","To":"libcamera-devel@lists.libcamera.org","Cc":"Naushir Patuck <naush@raspberrypi.com>","Subject":"[RFC PATCH v1 0/1] Switch to C++20 standard","Date":"Thu, 13 Nov 2025 11:05:30 +0000","Message-ID":"<20251113110958.1117065-1-naush@raspberrypi.com>","X-Mailer":"git-send-email 2.51.0","MIME-Version":"1.0","Content-Transfer-Encoding":"8bit","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"},"content":"Hi,\n\nAs the subject says, I'm looking for feedback on switching libcamera to build\nagainst the C++20 standard.\n\nNote that the public libcamera API still remains C++17 compliant, but eventally\nit would make sense to switch the public API as well (breaking the ABI!), e.g.\nstd::span in place of libcamera:span.\n\nRegards,\nNaush\n\nNaushir Patuck (1):\n  treewide: Update to the C++20 standard\n\n meson.build                | 2 +-\n src/libcamera/base/log.cpp | 6 +++---\n 2 files changed, 4 insertions(+), 4 deletions(-)"}