220 4337 <CAE1+Xsa3jwDnAYOzrVEg62HnJJMcsomq-mZLZOJsws6oU2cvJg@mail.gmail.com> article
Path: news.gmane.org!not-for-mail
From: Hariharan Subramanian <tohari@gmail.com>
Newsgroups: gmane.comp.lang.c++.isocpp.proposals
Subject: Re: Re: A cleaner way to define nested class/structure
Date: Thu, 9 May 2013 00:06:45 +0530
Lines: 100
Approved: news@gmane.org
Message-ID: <CAE1+Xsa3jwDnAYOzrVEg62HnJJMcsomq-mZLZOJsws6oU2cvJg@mail.gmail.com>
References: <27175469-a158-4bc1-9f30-66e3a647e931@isocpp.org>
	<102b1477-204a-4504-80eb-197e1ad97206@isocpp.org>
Reply-To: std-proposals@isocpp.org
NNTP-Posting-Host: plane.gmane.org
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary=001a11c33a524ffe1704dc39370c
X-Trace: ger.gmane.org 1368038212 4263 80.91.229.3 (8 May 2013 18:36:52 GMT)
X-Complaints-To: usenet@ger.gmane.org
NNTP-Posting-Date: Wed, 8 May 2013 18:36:52 +0000 (UTC)
To: std-proposals@isocpp.org
Original-X-From: std-proposals+bncBCJZFFHTQQIBBP5WVKGAKGQEF6GSERI@isocpp.org Wed May 08 20:36:52 2013
Return-path: <std-proposals+bncBCJZFFHTQQIBBP5WVKGAKGQEF6GSERI@isocpp.org>
Envelope-to: gclcip-std-proposals@m.gmane.org
Original-Received: from mail-lb0-f197.google.com ([209.85.217.197])
	by plane.gmane.org with esmtp (Exim 4.69)
	(envelope-from <std-proposals+bncBCJZFFHTQQIBBP5WVKGAKGQEF6GSERI@isocpp.org>)
	id 1Ua9EO-0006Qq-EF
	for gclcip-std-proposals@m.gmane.org; Wed, 08 May 2013 20:36:48 +0200
Original-Received: by mail-lb0-f197.google.com with SMTP id u10sf2339729lbi.0
        for <gclcip-std-proposals@m.gmane.org>; Wed, 08 May 2013 11:36:48 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20120113;
        h=x-received:x-beenthere:x-received:received-spf:mime-version
         :x-received:in-reply-to:references:date:message-id:subject:from:to
         :x-original-sender:x-original-authentication-results:reply-to
         :precedence:mailing-list:list-id:x-google-group-id:list-post
         :list-help:list-archive:list-subscribe:list-unsubscribe:content-type;
        bh=tFmzGtP9WWyRtmhDGI28GhIz9bAc4qHOiA2Nu8E7Das=;
        b=j812sUweA5bybDFg5hL/DEGgj0ufBhjncE10P0kF/MYyTmtVd8bQ4C5lmKyVyiU+eU
         smeDfgM3hh846bxN+whKU0E9+plkNDZGA2v/6VLjnP56zgiG2nidUcj9ayWn1u4LIA4J
         Y8m7Z/tfKk+6UFnIHPePOUsmkyWzhiUueoMU49avSEkGtBn/vkBSlCX/yeyRmNQPlrqs
         XsO1Uw/C/fctMaajfVSaY/nEqR4RUQxXY4FLJJ0ToS7hv/iy8/b0bbEBi006LMlygmfi
         qpVhN7XH0dv9J6LsAmvrONWrcckyzxZi5yeOTStCaSqrGruatlzl79n0yjgAlaPtRTAt
  
X-Received: by 10.112.18.129 with SMTP id w1mr5500551lbd.17.1368038208097;
        Wed, 08 May 2013 11:36:48 -0700 (PDT)
X-BeenThere: std-proposals@isocpp.org
Original-Received: by 10.152.115.203 with SMTP id jq11ls77388lab.44.gmail; Wed, 08 May
 2013 11:36:47 -0700 (PDT)
X-Received: by 10.112.205.231 with SMTP id lj7mr3272542lbc.27.1368038207021;
        Wed, 08 May 2013 11:36:47 -0700 (PDT)
Original-Received: from mail-lb0-f174.google.com (mail-lb0-f174.google.com [209.85.217.174])
        by mx.google.com with ESMTPS id q10si8946516lae.75.2013.05.08.11.36.47
        for <std-proposals@isocpp.org>
        (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128);
        Wed, 08 May 2013 11:36:47 -0700 (PDT)
Received-SPF: pass (google.com: domain of tohari@gmail.com designates 209.85.217.174 as permitted sender) client-ip=209.85.217.174;
Original-Received: by mail-lb0-f174.google.com with SMTP id r10so2251680lbi.33
        for <std-proposals@isocpp.org>; Wed, 08 May 2013 11:36:46 -0700 (PDT)
X-Received: by 10.112.199.194 with SMTP id jm2mr3693268lbc.21.1368038206076;
 Wed, 08 May 2013 11:36:46 -0700 (PDT)
Original-Received: by 10.112.33.177 with HTTP; Wed, 8 May 2013 11:36:45 -0700 (PDT)
In-Reply-To: <102b1477-204a-4504-80eb-197e1ad97206@isocpp.org>
X-Original-Sender: tohari@gmail.com
X-Original-Authentication-Results: mx.google.com;       spf=pass (google.com:
 domain of tohari@gmail.com designates 209.85.217.174 as permitted sender)
 smtp.mail=tohari@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?hl=en>,
 <mailto:std-proposals@isocpp.org>
List-Help: <http://support.google.com/a/isocpp.org/bin/topic.py?hl=en&topic=25838>,
 <mailto:std-proposals+help@isocpp.org>
List-Archive: <http://groups.google.com/a/isocpp.org/group/std-proposals/?hl=en>
List-Subscribe: <http://groups.google.com/a/isocpp.org/group/std-proposals/subscribe?hl=en>,
 <mailto:std-proposals+subscribe@isocpp.org>
List-Unsubscribe: <http://groups.google.com/a/isocpp.org/group/std-proposals/subscribe?hl=en>,
 <mailto:googlegroups-manage+399137483710+unsubscribe@googlegroups.com>
Xref: news.gmane.org gmane.comp.lang.c++.isocpp.proposals:4337
Archived-At: <http://permalink.gmane.org/gmane.comp.lang.c++.isocpp.proposals/4337>

--001a11c33a524ffe1704dc39370c
Content-Type: text/plain; charset=ISO-8859-1

On Wed, May 8, 2013 at 1:11 AM, <unituniverse.1@gmail.com> wrote:

> How about this:
> template < typename _Ty1 >
> class Outer
> {
>     template < typename _Ty2 > class Inner;
> };
>
> // How to write Inner here?
>

It gives the user the capability to write the definition of inner class
even before the outer class is defined. Only the order is reversed. If we
can define Inner class after the Outer class we can use the same technique
to define the Inner class before defining the Outer class. So there is no
problem here.

And this:
> class C1
> {
> };
>
> class Outer
> {
>   class C1;
> };
>
> //class Outer::C1 {}; // Any conflict?
>

Outer::C1 is defined after defining Outer class. So this is not related to
this proposal. The answer for your question is there is no conflict.

Regards,
Hariharan S

-- 

--- 
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/?hl=en.



--001a11c33a524ffe1704dc39370c
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div class=3D"gmail_extra"><br><br><div class=3D"gmail_quo=
te">On Wed, May 8, 2013 at 1:11 AM,  <span dir=3D"ltr">&lt;<a href=3D"mailt=
o:unituniverse.1@gmail.com" target=3D"_blank">unituniverse.1@gmail.com</a>&=
gt;</span> wrote:<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-=
left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;p=
adding-left:1ex"><div class=3D"im">How about this:<div>template &lt; typena=
me _Ty1 &gt;</div>
<div>class Outer</div><div>{</div><div>=A0 =A0 template &lt; typename _Ty2 =
&gt; class Inner;</div><div>};</div><div><br></div><div>// How to write Inn=
er here?</div></div></blockquote><div>=A0</div>It gives the user the capabi=
lity to write the definition of inner class even before the outer class is =
defined. Only the order is reversed. If we can define Inner class after the=
 Outer class we can use the same technique to define the Inner class before=
 defining the Outer class. So there is no problem here.<div>
<br></div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8=
ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-sty=
le:solid;padding-left:1ex"><div class=3D"im"><div></div><div>And this:</div=
><div>
class C1</div><div>{</div><div>};</div><div><br></div><div>class Outer</div=
><div>{</div><div>=A0 class C1;</div><div>};</div><div><br></div><div>//cla=
ss Outer::C1 {}; // Any conflict?</div></div></blockquote><div><br></div>
<div style>Outer::C1 is defined after defining Outer class. So this is not =
related to this proposal. The answer for your question is there is no confl=
ict.</div><div style><br></div><div style>Regards,</div><div style>Harihara=
n S</div>
<div style><br></div></div></div></div>

<p></p>

-- <br />
&nbsp;<br />
--- <br />
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals&quot; group.<br />
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to std-proposals+unsubscribe@isocpp.org.<br />
To post to this group, send email to std-proposals@isocpp.org.<br />
Visit this group at <a href=3D"http://groups.google.com/a/isocpp.org/group/=
std-proposals/?hl=3Den">http://groups.google.com/a/isocpp.org/group/std-pro=
posals/?hl=3Den</a>.<br />
&nbsp;<br />
&nbsp;<br />

--001a11c33a524ffe1704dc39370c--

.
