Topic: Adding virtual/private/protected/public keywords in


Author: yannick.daveluy@gmail.com
Date: Tue, 3 Nov 2015 01:45:41 -0800 (PST)
Raw View
------=_Part_667_84999475.1446543941871
Content-Type: multipart/alternative;
 boundary="----=_Part_668_870566261.1446543941871"

------=_Part_668_870566261.1446543941871
Content-Type: text/plain; charset=UTF-8


When using variadic templates,  the syntax does not allow to use virtual,
private, protected and public keywords prefixs for parameters.


e.g:


























*template <class ... BaseClasses>class A: BaseClasses...{    struct S:
BaseClasses::S... {};};class B{    struct S{};};class C{    struct
S{};};class D: public A< public virtual B, protected C > // =>do not
compile{};==> D should inherit from the following class A':class A': public
virtual B, protected C{    struct S: public virtual B::S, protected
C::S{};};*

Yannick

--

---
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/.

------=_Part_668_870566261.1446543941871
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><br>When using variadic templates,=C2=A0 the syntax does n=
ot allow to use virtual, private, protected and public keywords prefixs for=
 parameters.<br><br><br>e.g:<br><div style=3D"margin-left: 40px;"><br></div=
><div style=3D"margin-left: 40px;"><i>template &lt;class ... BaseClasses&gt=
;<br>class A: BaseClasses...<br>{<br>=C2=A0=C2=A0=C2=A0 struct S: BaseClass=
es::S... {};<br>};<br><br>class B<br>{<br>=C2=A0=C2=A0=C2=A0 struct S{};<br=
>};<br>class C<br>{<br>=C2=A0=C2=A0=C2=A0 struct S{};<br>};<br><br><br>clas=
s D: public A&lt; public virtual B, protected C &gt; // =3D&gt;do not compi=
le<br>{<br>};<br><br>=3D=3D&gt; D should inherit from the following class A=
&#39;:<br>class A&#39;: public virtual B, protected C<br>{<br>=C2=A0=C2=A0=
=C2=A0 struct S: public virtual B::S, protected C::S{};<br>};<br></i></div>=
<br>Yannick<br><br></div>

<p></p>

-- <br />
<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 <a href=3D"mailto:std-proposals+unsubscribe@isocpp.org">std-proposa=
ls+unsubscribe@isocpp.org</a>.<br />
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org">std-proposals@isocpp.org</a>.<br />
Visit this group at <a href=3D"http://groups.google.com/a/isocpp.org/group/=
std-proposals/">http://groups.google.com/a/isocpp.org/group/std-proposals/<=
/a>.<br />

------=_Part_668_870566261.1446543941871--
------=_Part_667_84999475.1446543941871--

.