220 37317 <CANiq72kNstxnyLTCOBfNorEiyudTijCAUHwH4DsoT14WqcNs4w@mail.gmail.com> article
Path: news.gmane.org!.POSTED!not-for-mail
From: Miguel Ojeda <miguel.ojeda.sandonis@gmail.com>
Newsgroups: gmane.comp.lang.c++.isocpp.proposals
Subject: Re: Pointer overload for ||
Date: Mon, 12 Mar 2018 12:41:56 +0100
Lines: 40
Approved: news@gmane.org
Message-ID: <CANiq72kNstxnyLTCOBfNorEiyudTijCAUHwH4DsoT14WqcNs4w@mail.gmail.com>
References: <1fea07df-46a6-4df2-865a-849be8f8d129@isocpp.org>
 <CANiq72kL7HQf2oS5THm8bxzurhzoc7uhNQq3S9+zvBce2yMZZQ@mail.gmail.com>
 <c7cd5d95-0031-4e50-b7a1-9adcff695bd2@isocpp.org> <CALvx3hYz84MdBu_WsixPmWf8N=9FY4BiqOv+Lon21nF2m_f0Ow@mail.gmail.com>
 <CALvx3hbrrb6tJJYEG7S9q1YrRWSXXi+OCW9n1siXRfFjjxTDYA@mail.gmail.com>
Reply-To: std-proposals@isocpp.org
NNTP-Posting-Host: blaine.gmane.org
Mime-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
X-Trace: blaine.gmane.org 1520854817 11806 195.159.176.226 (12 Mar 2018 11:40:17 GMT)
X-Complaints-To: usenet@blaine.gmane.org
NNTP-Posting-Date: Mon, 12 Mar 2018 11:40:17 +0000 (UTC)
To: std-proposals@isocpp.org
Original-X-From: std-proposals+bncBDRZHGH43YJRBGOPTHKQKGQEUMCUU6Y@isocpp.org Mon Mar 12 12:40:12 2018
Return-path: <std-proposals+bncBDRZHGH43YJRBGOPTHKQKGQEUMCUU6Y@isocpp.org>
Envelope-to: gclcip-std-proposals@m.gmane.org
Original-Received: from mail-qt0-f200.google.com ([209.85.216.200])
	by blaine.gmane.org with esmtp (Exim 4.84_2)
	(envelope-from <std-proposals+bncBDRZHGH43YJRBGOPTHKQKGQEUMCUU6Y@isocpp.org>)
	id 1evLoJ-0002wV-Ja
	for gclcip-std-proposals@m.gmane.org; Mon, 12 Mar 2018 12:40:11 +0100
Original-Received: by mail-qt0-f200.google.com with SMTP id z17sf12367003qti.1
        for <gclcip-std-proposals@m.gmane.org>; Mon, 12 Mar 2018 04:42:18 -0700 (PDT)
ARC-Seal: i=2; a=rsa-sha256; t=1520854938; cv=pass;
        d=google.com; s=arc-20160816;
        b=h6JSVzO/R54huwzgfTQMBaog/7wHF3PsieMcE62YFzBUFA7/zSzozrIZGVex5w4ZO+
         dTVB5nv8BPktwcc+Q7dyUZRIp4whEPoj3dSY1NXg9+Qj0YgrQiJOruPl4XWXYdowNFJ9
         z/CtMfD9LCTlOglj410meuulMtTnOPLceM0ZUw5IlCujQVfmixOMMWGN7jKpsyzE2/lb
         lyecZJJ9EFtqWHusRk65QYO2Xdz7dNa7OCiRHBIBy9eZPrv5lMcZVDg6rzxA7TI+xyQP
         VpTfthWekKk6Ro0q6df79kUgnRbhkDXpRkR1LlT+BQbJO8YzdIZlRgeeGMyA36lOkk+O
         vABw==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816;
        h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post
         :list-id:mailing-list:precedence:reply-to:to:subject:message-id:date
         :from:references:in-reply-to:mime-version:arc-authentication-results
         :arc-message-signature:dkim-signature:arc-authentication-results;
        bh=TAhdNQkDX/xCOYjg5ayPoB6RtSCdOe4DNsKK08l9T0M=;
        b=qITLtW3y56S1FZTyA+WK/5UFmCsM5QvtREGsbYbO2wrzj1UKLkElYk1yXq0ndJYVtO
         5reYPNvIfk6/wFLhe+i0qjRssA8jAfE4dxlYbtUayqn9vHZj/jCQ2n2O32YCmHV8+u+e
         Qwg7cQy1ndoT4V15ZKNyOwvt6yChIrHHWISq0wXVXUDWEI/SKqhyjh84RnxhbCP3kB7M
         4rMCc7LskgX++vEphu0E92KCm4YNxqRPdxkwPVp6mzWTGj5Sody801O23G644hsrrGv4
         zTkDo24wzHba8gs6/Xr8ZnS03+XjcND8nuhmvWcjNqqdpZGCT45h/WAli4NHxc5h5OAQ
         I0Nw==
ARC-Authentication-Results: i=2; mx.google.com;
       dkim=pass header.i=@gmail.com header.s=20161025 header.b=Qee8Mnu6;
       spf=pass (google.com: domain of miguel.ojeda.sandonis@gmail.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=miguel.ojeda.sandonis@gmail.com;
       dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=isocpp-org.20150623.gappssmtp.com; s=20150623;
        h=mime-version:in-reply-to:references:from:date:message-id:subject:to
         :x-original-sender:x-original-authentication-results:reply-to
         :precedence:mailing-list:list-id:list-post:list-help:list-archive
         :list-subscribe:list-unsubscribe;
        bh=TAhdNQkDX/xCOYjg5ayPoB6RtSCdOe4DNsKK08l9T0M=;
        b=0Xg6P+1h2nCNZzIsBihqROTU4556wsTFDXlTXd2Rmn3UOCzIp/VGwn/eskjtN0IhPb
         3peMNKVk6OfvBQ1QGjBFgtQkz+8B/3E61lcvyIKIF/6gy5aTry/NxSIPJF/MzMctv4AK
         IbiK6YIf09Tk/cHRIqZnBVqezrZ24dusJEfDl90taayJYnP25UVTUzAaloGFJrHOMD1Z
         5rfoLQzKacabiPm2MbL2aYZEzx9iMDQ6nF39b2Jxgy+jDfvXyNk08bio3xJX6uGwOJw9
         EEbS6uYphrTfkpk/NRTzBlT+sDya96Crkej0ca06xIvd5J+5pg1cxaRL+uMcRic+AO5t
         ggGw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:mime-version:in-reply-to:references:from:date
         :message-id:subject:to:x-original-sender
         :x-original-authentication-results:reply-to:precedence:mailing-list
         :list-id:x-spam-checked-in-group:list-post:list-help:list-archive
         :list-subscribe:list-unsubscribe;
        bh=TAhdNQkDX/xCOYjg5ayPoB6RtSCdOe4DNsKK08l9T0M=;
        b=Wf19vR8NG1WQVIXTO9SeywqpcqSGWiCnxBL0xL2kMMMHqzPxgcjei4yHb9W0HGXqUF
         pBt8UYyEM3Zpj6+emmHc9lQX+zU9QMYrwHMJcb3wfMEYWlZo74C+PMHvdHEH9+kZdVpF
         BBqgA7B2AkcKArPk/+sxIKI0BrKwCPk5f2wJKSTcZc2KYwGzmIM5QFrNxfEyhK7mgF1V
         7aQneF+ZTaChkd0F+vgB9iDjiliY046wjHkWcVLaeP20g1+MVZu51wDlDEW2emM+E0Bm
         MzZXhJzlUGeW1+9KzHbCyBOKerTQRml/1tXhzaBz91RzcaplmsrKOcqU+e492l5xS6YF
         XFyg==
X-Gm-Message-State: AElRT7HRWOKRiXPiI4fPNG/S7jTfbRA8VXF/tisdlW1Ikow1pYy8UOyW
	J6J0PU6wQicp/J32wCvn6DTwFQ==
X-Google-Smtp-Source: AG47ELtu+2/EBBnyNZBWPNpAz8x5GDP/8JmoRx16y6AAjhc9I7gz47sJIF3F6qLkJe5rPb2HaGwpWA==
X-Received: by 10.55.195.210 with SMTP id r79mr5384786qkl.62.1520854938182;
        Mon, 12 Mar 2018 04:42:18 -0700 (PDT)
X-BeenThere: std-proposals@isocpp.org
Original-Received: by 10.55.77.8 with SMTP id a8ls2344722qkb.3.gmail; Mon, 12 Mar 2018
 04:42:17 -0700 (PDT)
X-Received: by 10.55.249.4 with SMTP id l4mr10414432qkj.165.1520854937333;
        Mon, 12 Mar 2018 04:42:17 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; t=1520854937; cv=none;
        d=google.com; s=arc-20160816;
        b=mI3BKjnz28xhxxmTxdMrmPg8r5mWyENR88nee9uVI63FFfXE81TspgQrZul/iEY26g
         rLyct+jZLpXOrekinsr1ZxJ+/gDY6RqRg2leai0FMNef80woRBNclBCBQvAv5x/tYBah
         1XGfISPvZYZjRJ25EDIs7mUeTNuZr/fQ0JtL1U9ClRrFsiWAEXzxqWRnMR1+kptWk+Pe
         S8e1tE8mds5t2EjEKdQKVWZ4iE7Ypt4LjB9T5sHiI3Febbv6PRwBxthw9zI1U/W0T7dW
         N23zp5ln4269iEng9JzuZcX+vaU8FENvnwuQKfU+G4o1KfbGuLQapLmxUxmSBIl3Tjrw
         pUgw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816;
        h=to:subject:message-id:date:from:references:in-reply-to:mime-version
         :dkim-signature:arc-authentication-results;
        bh=hLwYBOQT3ZbO/RCtBFgJVHsfnEQASbqSBduZcl5KOho=;
        b=Pdd9x4dnvAualzZrmFIIh1TyWty63IZX+ji0E2S9DWXeIVfwp9O4DR6dHEzmq7ALZ9
         9XmaBzNQ/F6+3Vm572DAn2tk4kCLtTmkjTCKFcLAbENuWoB9Y4dIxC67J6YrkiPy0Gnb
         BJftzxwJQ33LqXmY2hLI6DCVCmfVhl9fb5r/b7kT3Jf/KjV1FiXDxVKONZt4kdk0c5jm
         duMH06oL5ovZNaaI0kwxRWtqrlOOFxmMZl6mh6F3y0Lr8l3neFNggmXDjSPg5U6/ZARA
         EQQo8XdhNfy8PKWEXydQ/LHYsHY32J3nBN0iwxPk6tApPoJ8/dxaKGQyu1OHUjqA//yg
         L7wQ==
ARC-Authentication-Results: i=1; mx.google.com;
       dkim=pass header.i=@gmail.com header.s=20161025 header.b=Qee8Mnu6;
       spf=pass (google.com: domain of miguel.ojeda.sandonis@gmail.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=miguel.ojeda.sandonis@gmail.com;
       dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com
Original-Received: from mail-sor-f41.google.com (mail-sor-f41.google.com. [209.85.220.41])
        by mx.google.com with SMTPS id x50sor834018qtx.22.2018.03.12.04.42.17
        for <std-proposals@isocpp.org>
        (Google Transport Security);
        Mon, 12 Mar 2018 04:42:17 -0700 (PDT)
Received-SPF: pass (google.com: domain of miguel.ojeda.sandonis@gmail.com designates 209.85.220.41 as permitted sender) client-ip=209.85.220.41;
X-Received: by 10.237.57.197 with SMTP id m63mr11471368qte.249.1520854936810;
 Mon, 12 Mar 2018 04:42:16 -0700 (PDT)
Original-Received: by 10.200.52.247 with HTTP; Mon, 12 Mar 2018 04:41:56 -0700 (PDT)
In-Reply-To: <CALvx3hbrrb6tJJYEG7S9q1YrRWSXXi+OCW9n1siXRfFjjxTDYA@mail.gmail.com>
X-Original-Sender: miguel.ojeda.sandonis@gmail.com
X-Original-Authentication-Results: mx.google.com;       dkim=pass
 header.i=@gmail.com header.s=20161025 header.b=Qee8Mnu6;       spf=pass
 (google.com: domain of miguel.ojeda.sandonis@gmail.com designates
 209.85.220.41 as permitted sender) smtp.mailfrom=miguel.ojeda.sandonis@gmail.com;
       dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com
Precedence: list
Mailing-list: list std-proposals@isocpp.org; contact std-proposals+owners@isocpp.org
List-ID: <std-proposals.isocpp.org>
X-Spam-Checked-In-Group: std-proposals@isocpp.org
X-Google-Group-Id: 399137483710
List-Post: <https://groups.google.com/a/isocpp.org/group/std-proposals/post>, <mailto:std-proposals@isocpp.org>
List-Help: <https://support.google.com/a/isocpp.org/bin/topic.py?topic=25838>, <mailto:std-proposals+help@isocpp.org>
List-Archive: <https://groups.google.com/a/isocpp.org/group/std-proposals/>
List-Subscribe: <https://groups.google.com/a/isocpp.org/group/std-proposals/subscribe>,
 <mailto:std-proposals+subscribe@isocpp.org>
List-Unsubscribe: <mailto:googlegroups-manage+399137483710+unsubscribe@googlegroups.com>,
 <https://groups.google.com/a/isocpp.org/group/std-proposals/subscribe>
Xref: news.gmane.org gmane.comp.lang.c++.isocpp.proposals:37317
Archived-At: <http://permalink.gmane.org/gmane.comp.lang.c++.isocpp.proposals/37317>

On Mon, Mar 12, 2018 at 11:42 AM, Richard Hodges <hodges.r@gmail.com> wrote:
>
> Consider:
>
> p |= new_thing();
>
> In the above code, do we mean that we wish to replace p with a new thing if
> empty, or does it mean that we wish to merge a new thing into the object
> referenced by p?

For me ||= would be the replace. But since we don't have ||=, I just
picked |=, which indeed looks fishy.

Now, what would be a nice experiment would be ||, &&, ||= and &&= with
short-circuit semantics, which could be implemented if we had the
"expression E" stuff:

    template <typename T, expression E>
    operator||=(T & t, E)
    {
        if (t)
            return;
        t = E;
    }

Then:

    x ||= new int;

would have the expected results.

Cheers,
Miguel

-- 
You received this message because you are subscribed to the Google Groups "ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an email to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
To view this discussion on the web visit https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/CANiq72kNstxnyLTCOBfNorEiyudTijCAUHwH4DsoT14WqcNs4w%40mail.gmail.com.

.
