Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vSWyv-00HEu1-1r for pgsql-hackers@arkaria.postgresql.org; Mon, 08 Dec 2025 08:52:33 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vSWyu-00Fpbh-0k for pgsql-hackers@arkaria.postgresql.org; Mon, 08 Dec 2025 08:52:32 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vSWyt-00FpbY-30 for pgsql-hackers@lists.postgresql.org; Mon, 08 Dec 2025 08:52:32 +0000 Received: from mail-lj1-x232.google.com ([2a00:1450:4864:20::232]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1vSWyr-003j1P-0h for pgsql-hackers@lists.postgresql.org; Mon, 08 Dec 2025 08:52:31 +0000 Received: by mail-lj1-x232.google.com with SMTP id 38308e7fff4ca-37a415a22ecso39833691fa.0 for ; Mon, 08 Dec 2025 00:52:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=jeltef.nl; s=google; t=1765183948; x=1765788748; darn=lists.postgresql.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=PL82095YLX87CuAZkDxX9a1CWR1AX8xay4xwEqYwOxY=; b=gdIErPmm0DRXrPbTJtouQxU0SiTrmQOF2I18o0v7vzBggeoeAUv63wXIih2iDO4/gI YgifyyTyfubIE8URPbeLNrqe/l3lccUtcpG5L9lWBkY3tbgQEOoqAqZsYXas+IgK4uvs P8ZiKim13Sef7/maQJ0QLqog67sIKom6MbqFfxDqyDKri9yI5qFIQGahU5n4IPO6I/JB gI4FobKLBMPzs2ZvpTgQu7kGDkP7Q8dSkg/eIw9OscHT4aDuSSzq7+dRNENHMULgPyei jh/XQT2zIOSaEkuUORxVhRrzgWkmBic94jIb/7INmDknlxleBi9cX+TRKTv1d8eneNuG Xfmg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1765183948; x=1765788748; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=PL82095YLX87CuAZkDxX9a1CWR1AX8xay4xwEqYwOxY=; b=eUZj0KpehNcK446Uws0EMQmnNhWI5D/zhe1jeL2onm8KVNgVvC9UYphqm6J3l6Iiae HgBDr/MmryQ5SLjT1nbslKZhp3RXQKIIkHabfF9nAKOVnwgGqhPeKzf2Winwkc/sFXBF V/3nz4pnOYEvbwJxwbtkEH58kfGRcdJ3/snbbtTUVhGxIKZYCGLUBJeB3bH85ZHuZpa1 mvkw8Ej5SPSQuJ++cyz+zrGwceL2dmB8fMS8RG0jQ45UowvdWrkrEBaZnMa84lksdEoR fyrxpPI0/Slp6yVKMCWBIlx2hofGaBekSzD+VpzYOyy2nxsSU54FkUagnh6fVui1SBiE in1A== X-Forwarded-Encrypted: i=1; AJvYcCVcJ5GiT9BwrTaHZ5BXE6J3hz/qs/9IuoAQo+EQmjszjtbupKXS9uVkGCJjGxe6annK2qbtHjnzInapUNWS@lists.postgresql.org X-Gm-Message-State: AOJu0YzZpXhQIEo5oTAk738w5VRxDba/FOnnuJoHSXd1D523GqaNytnI gxFnRE/UUUD9lZnBzqX53kVRVasgq3GzT9akvsnCPrlPpUtClIifqaA7bEURmySsr/iaQJHRM5j Sd06Aho7YupCjnAogG3TmX/3+G7VoOiatfrAQq3Cz9w== X-Gm-Gg: ASbGncv2DW3tYCofM4GauauzfcV9Mj8jQR8zGZLu4htk/ZhBTa6XzUkGRLQrY55i5Ym eNzpdQQ3r03Vx89ZP070ymx6RuzHeV3ppFrjNg6U0C3kyROUudAWR3Fgxy+z/14OGsvQcjlntjN yCxQK03AGihNqBCaSaJ+rLVQDZIRjKBCWm92z9MD0LRNpQMAzizwM6SZr2QQMCUbosktt7T9uu8 Aq6WLryEfxTF/i6fLxis5nIykYsR5856pgkJP9W2pByvOroYpIeOtnLFQGjJhEJW1fo6JVk X-Google-Smtp-Source: AGHT+IFNdt9rUdcYaw4h4HcrZIbMRrxFZhPPI6NbEFuH/Ht3jn4ybi383run66nVv2Oj3wCLvqFuKTGSUo7NzoOoxkU= X-Received: by 2002:a2e:be9c:0:b0:37b:a596:2291 with SMTP id 38308e7fff4ca-37e6cca2e89mr39126751fa.13.1765183948266; Mon, 08 Dec 2025 00:52:28 -0800 (PST) MIME-Version: 1.0 References: <1bec56e5-aef9-4d3b-b4ee-723c6575a44e@eisentraut.org> In-Reply-To: From: Jelte Fennema-Nio Date: Mon, 8 Dec 2025 09:52:17 +0100 X-Gm-Features: AQt7F2r2E91lkC7cyjd0GQDsA3Tp4BWgQaUo3zcSH6dAUL2UUlRPHNs0At193Uo Message-ID: Subject: Re: Make copyObject work in C++ To: David Geier Cc: Peter Eisentraut , PostgreSQL Hackers , Thomas Munro Content-Type: text/plain; charset="UTF-8" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On Mon, 8 Dec 2025 at 09:33, David Geier wrote: > Since C++11 there's std::remove_const which can be used as > std::remove_const::type. > > I'm not aware of anything pre C++11, except for rolling your own variant > of std::remove_const via template specialization. I think depending on C++11 sounds fine, since we're also depending on C11 and people tend to use much more recent C++ versions than C versions (so probably we could even require something higher).