220 12897 <CALQmNFj=59Wr6VUHAZN07Z2Qc-atjF=A7vAOAKjZJCDcAs5Vww@mail.gmail.com> article
Path: news.gmane.org!not-for-mail
From: Sean Middleditch <sean@middleditch.us>
Newsgroups: gmane.comp.lang.c++.isocpp.proposals
Subject: Re: Re: unevaluated this
Date: Mon, 15 Sep 2014 14:10:30 -0700
Lines: 115
Approved: news@gmane.org
Message-ID: <CALQmNFj=59Wr6VUHAZN07Z2Qc-atjF=A7vAOAKjZJCDcAs5Vww@mail.gmail.com>
References: <009e6218-1e2b-402d-ab1a-e8ebf29f8f77@isocpp.org>
	<eddc850e-1521-4321-a133-fe270d8c8cd6@isocpp.org>
	<CALQmNFj+gbO8q+CqY+-_ob1xUfVwMXtVfKUGXUQhegVpET4_AQ@mail.gmail.com>
	<CAOfiQqnMEJ3yOEFrsBJx0=YBGhgjXARhN0cf1Ep2qLamJcEOfw@mail.gmail.com>
Reply-To: std-proposals@isocpp.org
NNTP-Posting-Host: plane.gmane.org
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
X-Trace: ger.gmane.org 1410815441 10517 80.91.229.3 (15 Sep 2014 21:10:41 GMT)
X-Complaints-To: usenet@ger.gmane.org
NNTP-Posting-Date: Mon, 15 Sep 2014 21:10:41 +0000 (UTC)
To: std-proposals@isocpp.org
Original-X-From: std-proposals+bncBCDODCNR2QPRBR5L3WQAKGQEEVREXOI@isocpp.org Mon Sep 15 23:10:34 2014
Return-path: <std-proposals+bncBCDODCNR2QPRBR5L3WQAKGQEEVREXOI@isocpp.org>
Envelope-to: gclcip-std-proposals@m.gmane.org
Original-Received: from mail-we0-f200.google.com ([74.125.82.200])
	by plane.gmane.org with esmtp (Exim 4.69)
	(envelope-from <std-proposals+bncBCDODCNR2QPRBR5L3WQAKGQEEVREXOI@isocpp.org>)
	id 1XTdXd-0002do-5p
	for gclcip-std-proposals@m.gmane.org; Mon, 15 Sep 2014 23:10:33 +0200
Original-Received: by mail-we0-f200.google.com with SMTP id u57sf2609584wes.11
        for <gclcip-std-proposals@m.gmane.org>; Mon, 15 Sep 2014 14:10:32 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20130820;
        h=x-gm-message-state:mime-version:sender:in-reply-to:references:date
         :message-id:subject:from: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:content-type;
        bh=Cpg+KSdvDQD+CeHC5REyHv/vAlWEeTfZP6Oe4X4Flw4=;
        b=mgBpZfWrZYsSwAY4APKYn7t00FA3XHOc9mAfPY1jFl6qoDZuN0xKSFbCoUjW+Whlvw
         EOfMo8Yr6Wk07tEGDXKhVKnP989ffWsw+fIFvx29lwpX4SohQyryXteUsi5xcFS9zhQV
         TICI/UBLd+hEZCIA5ODmvvrhq8ZPc7t9PeYej+KtysAAJUTq2WjFY7HprN2QaP8JbcQd
         raDjmcu0LyHrzqEgP+5ipXJ2hmOEyZZdeJ1w2cjMuQsoRckwKbZhYXWzew+/f6RLL/HF
         YptoBC1ZdWZ29Gh2qqt7Fj/kwKAH67Dr8NlT9YEIUaRi2E1P/wsOVk10woy2fP+hc3nG
         mNNw==
X-Gm-Message-State: ALoCoQn/2+9GTqbl8jSyRIPEbPjlOJdUX9brS4Tm9kDwtevNvrF0qzeeZjgtJkVqCT9qf/Pw8sjX
X-Received: by 10.180.81.226 with SMTP id d2mr5859490wiy.5.1410815432843;
        Mon, 15 Sep 2014 14:10:32 -0700 (PDT)
X-BeenThere: std-proposals@isocpp.org
Original-Received: by 10.180.105.100 with SMTP id gl4ls507096wib.9.canary; Mon, 15 Sep
 2014 14:10:31 -0700 (PDT)
X-Received: by 10.194.95.66 with SMTP id di2mr35872023wjb.47.1410815431062;
        Mon, 15 Sep 2014 14:10:31 -0700 (PDT)
Original-Received: from mail-wi0-x234.google.com (mail-wi0-x234.google.com [2a00:1450:400c:c05::234])
        by mx.google.com with ESMTPS id uy10si20836332wjc.178.2014.09.15.14.10.30
        for <std-proposals@isocpp.org>
        (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128);
        Mon, 15 Sep 2014 14:10:30 -0700 (PDT)
Received-SPF: pass (google.com: domain of sean.middleditch@gmail.com designates 2a00:1450:400c:c05::234 as permitted sender) client-ip=2a00:1450:400c:c05::234;
Original-Received: by mail-wi0-f180.google.com with SMTP id ex7so4988332wid.7
        for <std-proposals@isocpp.org>; Mon, 15 Sep 2014 14:10:30 -0700 (PDT)
X-Received: by 10.180.9.73 with SMTP id x9mr12836667wia.20.1410815430654; Mon,
 15 Sep 2014 14:10:30 -0700 (PDT)
Original-Sender: sean.middleditch@gmail.com
Original-Received: by 10.194.77.131 with HTTP; Mon, 15 Sep 2014 14:10:30 -0700 (PDT)
In-Reply-To: <CAOfiQqnMEJ3yOEFrsBJx0=YBGhgjXARhN0cf1Ep2qLamJcEOfw@mail.gmail.com>
X-Original-Sender: sean@middleditch.us
X-Original-Authentication-Results: mx.google.com;       spf=pass (google.com:
 domain of sean.middleditch@gmail.com designates 2a00:1450:400c:c05::234 as
 permitted sender) smtp.mail=sean.middleditch@gmail.com;       dkim=pass header.i=@gmail.com
Precedence: list
Mailing-list: list std-proposals@isocpp.org; contact std-proposals+owners@isocpp.org
List-ID: <std-proposals.isocpp.org>
X-Google-Group-Id: 399137483710
List-Post: <http://groups.google.com/a/isocpp.org/group/std-proposals/post>, <mailto:std-proposals@isocpp.org>
List-Help: <http://support.google.com/a/isocpp.org/bin/topic.py?topic=25838>, <mailto:std-proposals+help@isocpp.org>
List-Archive: <http://groups.google.com/a/isocpp.org/group/std-proposals/>
List-Subscribe: <http://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>,
 <http://groups.google.com/a/isocpp.org/group/std-proposals/subscribe>
Xref: news.gmane.org gmane.comp.lang.c++.isocpp.proposals:12897
Archived-At: <http://permalink.gmane.org/gmane.comp.lang.c++.isocpp.proposals/12897>

That makes a lot of sense. I'll remove it and just focus on the
unevaluated this part. Thanks!

On Mon, Sep 15, 2014 at 2:00 PM, Richard Smith <richard@metafoo.co.uk> wrote:
> On Mon, Sep 15, 2014 at 12:39 PM, Sean Middleditch <sean@middleditch.us>
> wrote:
>>
>> Yeah, that was one of the open questions. Would using the this_t<>
>> alternative (delaying the instantiation until the appropriate context)
>> work?
>>
>> The this_t idea is just to offer a convenience shorthand. I don't
>> think it's necessary, and the my_type you present is certainly
>> acceptable; this isn't something users are expected to use directly
>> too often.
>
>
> The this_t thing doesn't work: 'this' will be interpreted in the context in
> which it appears, and in the definition of 'this_t' it appears outside a
> class, so is ill-formed.
>
>>
>> Thanks!
>>
>> On Mon, Sep 15, 2014 at 11:32 AM, Myriachan <myriachan@gmail.com> wrote:
>> > On Monday, September 15, 2014 9:17:17 AM UTC-7, Sean Middleditch wrote:
>> >>
>> >> Another proposal carrying on from work I did earlier. This is a
>> >> continuation of the decltype(class) feature I suggested some time back
>> >> but
>> >> with Ville's suggestion taken to heart. It's now a proposal for
>> >> allowing
>> >> `this` in unevaluated contexts (decltype, sizeof, etc.) anywhere in a
>> >> class
>> >> definition body or base specifier list as well as a convenient helper
>> >> `std::this_t`.
>> >>
>> >>
>> >>
>> >> http://htmlpreview.github.io/?https://github.com/seanmiddleditch/CPlusPlus/blob/master/unevaluated-this.html
>> >>
>> >> Thoughts/comments/critiques would be appreciated. Thanks!
>> >
>> >
>> > I don't see how std::this_t could be implemented, because there's no way
>> > it
>> > could know in which context it's being used.  Other than the amount of
>> > typing, this would work fine if this is allowed throughout class scope
>> > in
>> > all unevaluated contexts:
>> >
>> > using my_type =
>> > std::remove_cv_t<std::remove_reference_t<decltype(*this)>>;
>> >
>> > Melissa
>> >
>> > --
>> >
>> > ---
>> > You received this message because you are subscribed to a topic in the
>> > Google Groups "ISO C++ Standard - Future Proposals" group.
>> > To unsubscribe from this topic, visit
>> >
>> > https://groups.google.com/a/isocpp.org/d/topic/std-proposals/pienLjyOVJk/unsubscribe.
>> > To unsubscribe from this group and all its topics, send an email to
>> > std-proposals+unsubscribe@isocpp.org.
>> > To post to this group, send email to std-proposals@isocpp.org.
>> > Visit this group at
>> > http://groups.google.com/a/isocpp.org/group/std-proposals/.
>>
>>
>>
>> --
>> Sean Middleditch
>> http://seanmiddleditch.com
>>
>> --
>>
>> ---
>> 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.
>> Visit this group at
>> http://groups.google.com/a/isocpp.org/group/std-proposals/.
>
>
> --
>
> ---
> You received this message because you are subscribed to a topic in the
> Google Groups "ISO C++ Standard - Future Proposals" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/a/isocpp.org/d/topic/std-proposals/pienLjyOVJk/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to
> std-proposals+unsubscribe@isocpp.org.
> To post to this group, send email to std-proposals@isocpp.org.
> Visit this group at
> http://groups.google.com/a/isocpp.org/group/std-proposals/.



-- 
Sean Middleditch
http://seanmiddleditch.com

-- 

--- 
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.
Visit this group at http://groups.google.com/a/isocpp.org/group/std-proposals/.

.
