220 37207 <CAANG=kWYr4My4ocY37oi-Nk_paCCegG3LtngSz4Lp5SXpAWF8w@mail.gmail.com> article
Path: news.gmane.org!.POSTED!not-for-mail
From: =?UTF-8?B?R2HFoXBlciBBxb5tYW4=?= <gasper.azman@gmail.com>
Newsgroups: gmane.comp.lang.c++.isocpp.proposals
Subject: Re: General purpose utilities for template
 metaprogramming and type manipulation
Date: Sun, 04 Mar 2018 11:21:23 +0000
Lines: 274
Approved: news@gmane.org
Message-ID: <CAANG=kWYr4My4ocY37oi-Nk_paCCegG3LtngSz4Lp5SXpAWF8w@mail.gmail.com>
References: <e3415a75-7e20-48dd-9e24-0e4681f46e53@isocpp.org> <CALvx3hacsACYSq+h7BHNCjZ2rpajbdcBxa8GigKuHnjO79YDyQ@mail.gmail.com>
Reply-To: std-proposals@isocpp.org
NNTP-Posting-Host: blaine.gmane.org
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="00000000000072dcb30566946956"
X-Trace: blaine.gmane.org 1520162376 1838 195.159.176.226 (4 Mar 2018 11:19:36 GMT)
X-Complaints-To: usenet@blaine.gmane.org
NNTP-Posting-Date: Sun, 4 Mar 2018 11:19:36 +0000 (UTC)
To: std-proposals@isocpp.org
Original-X-From: std-proposals+bncBDRYVJ6TVYBRBPVN57KAKGQE2C3RUVA@isocpp.org Sun Mar 04 12:19:32 2018
Return-path: <std-proposals+bncBDRYVJ6TVYBRBPVN57KAKGQE2C3RUVA@isocpp.org>
Envelope-to: gclcip-std-proposals@m.gmane.org
Original-Received: from mail-pg0-f71.google.com ([74.125.83.71])
	by blaine.gmane.org with esmtp (Exim 4.84_2)
	(envelope-from <std-proposals+bncBDRYVJ6TVYBRBPVN57KAKGQE2C3RUVA@isocpp.org>)
	id 1esRft-00084a-SM
	for gclcip-std-proposals@m.gmane.org; Sun, 04 Mar 2018 12:19:30 +0100
Original-Received: by mail-pg0-f71.google.com with SMTP id k62sf6249441pgd.11
        for <gclcip-std-proposals@m.gmane.org>; Sun, 04 Mar 2018 03:21:36 -0800 (PST)
ARC-Seal: i=2; a=rsa-sha256; t=1520162496; cv=pass;
        d=google.com; s=arc-20160816;
        b=PZK8Q3wUANESWGIGTTbXC3T4iieBg21hjr4a2WEjWJ5FC53AB/tzBhUdOokU7mfxOX
         cVxBN5cYBl0+T7urkit1fKxvuQHzc95Qj13trNJWHU2tIQYq/liEyxvod7yn8w9HTCr0
         8bmVAAmbR7WFU2BB7QaLjyyn1MOU/3S1nB2WVd3Wtg723q8AlugKmclQ/Rpqozc6axvi
         unSOVso4Qamu+eQQCiuv47OcDo3aKJmA2I1mpAd6+ROk4itLaCPKVKYjKKIijIo0M3cw
         zENiDTiNAMTCPiEol+jM47Mqz7/vOdr13H/lEr5lnSeGwzsfTnw7FjJNINWNVsZGdbh+
         oveQ==
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:in-reply-to:references:mime-version:arc-authentication-results
         :arc-message-signature:dkim-signature:arc-authentication-results;
        bh=FAl1DfGLU6dXhYLvIhH85iR3mqXt1se4fKgsXxtXnHA=;
        b=tYbm7/KmIuf4yQoEnxhQInZoTIyZVsonMKpFm13wz/m0GdtHrwTsdowZdHj6mpSDlI
         Il/Zu0HG3jw6/kBq3vIsTAzif+3uwPVjsYMA1GsvsADEJXDGMEg2dnLyVaLRqFs5yGgY
         NaxwjTBn13ui3L+ZkhMe8Cwtufa7pzBbe7odKyFqFBozOjTX8F/AkU17OzPn9FuYV9a2
         K359ByJrZ1djBAtNjf4V6ujnic3k8jY4Y2gj2ikucVDNMZbgHN9qUtVqpAzH5wq0tnn6
         Tx5UZvlP2uDPJZ3QgIieg7f+JuDLZlDoFx/cwPvQBsT5ZjQYBKCJEGEE2ttedZaU1JUp
         7XpA==
ARC-Authentication-Results: i=2; mx.google.com;
       dkim=pass header.i=@gmail.com header.s=20161025 header.b=bMxj4qf9;
       spf=pass (google.com: domain of gasper.azman@gmail.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=gasper.azman@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:references:in-reply-to: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=FAl1DfGLU6dXhYLvIhH85iR3mqXt1se4fKgsXxtXnHA=;
        b=z+25b3XCwjqHoUaGr31QOScSO7Z5DM1Nolt6moh1gK4uC8usxr6bWlJ+HCs/VTj5+/
         QI9E0xLb8F4j2JBtdY6Jk37sIIrnhh+QfRwU5vB+9kM7K/H8Fyrb9Rnsb56c/j54FWwQ
         moneIt5Fx8RfR0bQB0NCOitNwXhh/jA/nwGeJtWSCJqT/sGKRmmu5OR6s1fc2GzYonk9
         7q7T5deNW1LSDK2nG5c2fHhglNE6dZ9yf6RdTq9845/rHWTsGuUBEs5T3RGcGAIyqbEV
         SehxIR9ewnY+v6EAcU4tJAcZYvNU2lgXk4Am94v+rhMRMIH1jOQd4B7HL5ffdeJMtf8H
         lYBA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:mime-version:references:in-reply-to: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=FAl1DfGLU6dXhYLvIhH85iR3mqXt1se4fKgsXxtXnHA=;
        b=DcG9Y3MNHJdFGsAVFFox+UXn8OAV2f0c04wRgoiFdI5wMXnWGULb7kagEhkm6C4NMW
         fqY8A8cSrbeaHXK4+79txZLXu0xRy4btraXta9QLw0+ft50zaWVADivNGOOeeRlPC1ql
         FpX65Ce4OnQkOD6gJ8bZami3gYRjQFcAcSNRGXImlMAyLspJ8ZV3mEhmvx7HLeUeWmeu
         SMdgJK6ZI0ziazbEtB7rzhuUoQBIQrDMWWxPyNb3A3+TM29cMBAygDXqohJvd1SX5iPR
         B7ITbv/PQ9IJ5/2KHVOk+sVEVbM1U1GY655PTNE7Je7QLbyd5ZEwzaRryFq1whu5u6/v
         2kyA==
X-Gm-Message-State: APf1xPBOlL8uGYTXhvSAf4+Gtic+EKCqP9FAAJqpsvDvQv52bqoAtlp4
	ZNDJHiFEilSvThcds9Le4Lou1A==
X-Google-Smtp-Source: AG47ELvJJhsjoe4O6FcxCMMI+gUhpIcjFoUmLJIX7w04M9AzUG4fltY9BDCU1zsgvKdinzh5nieXPw==
X-Received: by 10.98.41.130 with SMTP id p124mr2335725pfp.45.1520162496059;
        Sun, 04 Mar 2018 03:21:36 -0800 (PST)
X-BeenThere: std-proposals@isocpp.org
Original-Received: by 10.98.198.5 with SMTP id m5ls4145208pfg.3.gmail; Sun, 04 Mar 2018
 03:21:34 -0800 (PST)
X-Received: by 10.98.70.89 with SMTP id t86mr11842942pfa.215.1520162494515;
        Sun, 04 Mar 2018 03:21:34 -0800 (PST)
ARC-Seal: i=1; a=rsa-sha256; t=1520162494; cv=none;
        d=google.com; s=arc-20160816;
        b=DhxqNnB/cE1Ayoi4OHlhYGaN4/stsx1C/s9R5Oa6uH7qXLq2A67/phFkH6LbfmQYyI
         NfYtRTwzZDZcEKXBmHfIirNooBup8Cvojg8D2UcqVGnsO7BTnCqMUCSxu6S59TvSBIYS
         OTiyJjW7grfCrpz6jrq9kJGHeL55mE1gTN+uOIdo/WaoVgf4pRufzcfMem/GAWSw8O/y
         69uRtr0Os96FcDNUBSHq0ry/CVqMrTHLKfPe88e+MkBRSFlzNoqE+cnSHUEPAkLl7Qj4
         //QNtLKPateklqLFGumCHzQHJXlUuTmSr7uVBkrg/v7uD9v8PkqtARwWz7EhoYXQOqyD
         kVnA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816;
        h=to:subject:message-id:date:from:in-reply-to:references:mime-version
         :dkim-signature:arc-authentication-results;
        bh=7GWfdqle51SfL7nwhv1SHxLBmVYmUb0xE/2iiNY4rOU=;
        b=N5zBiBBg/fxDwjAEHb8v8gsS+gG8BKM93uwtQ7skWeAiwh49oYwCoAKDxSgeapZ+nK
         Hz01EyF4vU7AcuDCGycn5YWEKuL//Dv2Z6UttvUXg23j6rIRriBWHKSzuBm7kfslI34J
         OV6BsAh9cWNpZ3BIVwWTZOr+6584n61U5dlVdtWMyMuwxQDAHIX2LYhtYJOYaYM0rbBz
         HaTkvNwAXMTEUKGR6UCj9zJbPXUTgBSxfa1vaJECXePRcAxr+BH8j+OZ0244LRvVc8HU
         Hr59vHTyswASx1hM0Dn2y6BKuppMIR6+K/neEfBTdZCRYmx/Vi+qaSOdMDGWLMUJ+x4b
         /bSA==
ARC-Authentication-Results: i=1; mx.google.com;
       dkim=pass header.i=@gmail.com header.s=20161025 header.b=bMxj4qf9;
       spf=pass (google.com: domain of gasper.azman@gmail.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=gasper.azman@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 1-v6sor3264365plx.62.2018.03.04.03.21.34
        for <std-proposals@isocpp.org>
        (Google Transport Security);
        Sun, 04 Mar 2018 03:21:34 -0800 (PST)
Received-SPF: pass (google.com: domain of gasper.azman@gmail.com designates 209.85.220.41 as permitted sender) client-ip=209.85.220.41;
X-Received: by 2002:a17:902:9343:: with SMTP id g3-v6mr10187333plp.319.1520162493879;
 Sun, 04 Mar 2018 03:21:33 -0800 (PST)
In-Reply-To: <CALvx3hacsACYSq+h7BHNCjZ2rpajbdcBxa8GigKuHnjO79YDyQ@mail.gmail.com>
X-Original-Sender: gasper.azman@gmail.com
X-Original-Authentication-Results: mx.google.com;       dkim=pass
 header.i=@gmail.com header.s=20161025 header.b=bMxj4qf9;       spf=pass
 (google.com: domain of gasper.azman@gmail.com designates 209.85.220.41 as
 permitted sender) smtp.mailfrom=gasper.azman@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:37207
Archived-At: <http://permalink.gmane.org/gmane.comp.lang.c++.isocpp.proposals/37207>

--00000000000072dcb30566946956
Content-Type: text/plain; charset="UTF-8"

I call copy_qualifiers  "like" in the deducing this paper. I plan to
propose it in a separate library extension paper along with forward_like.

I like your other proposals. Also see the std::type discussion around the
std;:identity paper, I forget the number, by Timur.

G

On Sun, Mar 4, 2018, 10:58 Richard Hodges <hodges.r@gmail.com> wrote:

> For my part, while I think the general idea is a good one, it seems to me
> that you will make a stronger argument if you are able to provide
> motivating use-cases to strengthen the argument for each type/template.
>
> Do you have some examples?
>
>
>
> On 4 March 2018 at 07:55, Vincent Reverdy <vince.rev@gmail.com> wrote:
>
>> Hey,
>>
>> I was starting to think about putting together a proposal to add minor
>> helper classes to either type_traits/utility/tuple to help with some of the
>> operations done again and again when doing template metaprogramming.
>> Here is a list of a few I can think of, but I would have liked to hear
>> other suggestions. Names are just indicative, and bikeshedding would happen
>> for all of these types.
>>
>>
>>    - *std::blank*, defined as an empty struct
>>    struct blank{};
>>    - *std::pack*, to hold a parameter pack of type
>>    template <class... T> struct pack{};
>>    - *std::convertible*, a type convertible to anything
>>    struct convertible{template <class T> constexpr operator T() const
>>    noexcept;};
>>    - *std::copy_qualifiers*, a type traits copying ref and cv qualifiers
>>    from one type to another
>>    template <class From, class To> struct copy_qualifiers {using type = /*
>>    cv-ref qualfiers of From applied to To*/;};
>>
>> Other suggestions?
>>
>> --
>> 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/e3415a75-7e20-48dd-9e24-0e4681f46e53%40isocpp.org
>> <https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/e3415a75-7e20-48dd-9e24-0e4681f46e53%40isocpp.org?utm_medium=email&utm_source=footer>
>> .
>>
>
> --
> 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/CALvx3hacsACYSq%2Bh7BHNCjZ2rpajbdcBxa8GigKuHnjO79YDyQ%40mail.gmail.com
> <https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/CALvx3hacsACYSq%2Bh7BHNCjZ2rpajbdcBxa8GigKuHnjO79YDyQ%40mail.gmail.com?utm_medium=email&utm_source=footer>
> .
>

-- 
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/CAANG%3DkWYr4My4ocY37oi-Nk_paCCegG3LtngSz4Lp5SXpAWF8w%40mail.gmail.com.

--00000000000072dcb30566946956
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"auto">I call copy_qualifiers=C2=A0 &quot;like&quot; in the dedu=
cing this paper. I plan to propose it in a separate library extension paper=
 along with forward_like.<div dir=3D"auto"><br></div><div dir=3D"auto">I li=
ke your other proposals. Also see the std::type discussion around the std;:=
identity paper, I forget the number, by Timur.</div><div dir=3D"auto"><br><=
/div><div dir=3D"auto">G</div></div><br><div class=3D"gmail_quote"><div dir=
=3D"ltr">On Sun, Mar 4, 2018, 10:58 Richard Hodges &lt;<a href=3D"mailto:ho=
dges.r@gmail.com">hodges.r@gmail.com</a>&gt; wrote:<br></div><blockquote cl=
ass=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;p=
adding-left:1ex"><div dir=3D"ltr">For my part, while I think the general id=
ea is a good one, it seems to me that you will make a stronger argument if =
you are able to provide motivating use-cases to strengthen the argument for=
 each type/template.<div><br></div><div>Do you have some examples?</div><di=
v><br><div><br></div></div></div><div class=3D"gmail_extra"><br><div class=
=3D"gmail_quote">On 4 March 2018 at 07:55, Vincent Reverdy <span dir=3D"ltr=
">&lt;<a href=3D"mailto:vince.rev@gmail.com" target=3D"_blank" rel=3D"noref=
errer">vince.rev@gmail.com</a>&gt;</span> wrote:<br><blockquote class=3D"gm=
ail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-le=
ft:1ex"><div dir=3D"ltr">Hey,<br><br>I was starting to think about putting =
together a proposal to add minor helper classes to either type_traits/utili=
ty/tuple to help with some of the operations done again and again when doin=
g template metaprogramming.<br>Here is a list of a few I can think of, but =
I would have liked to hear other suggestions. Names are just indicative, an=
d bikeshedding would happen for all of these types.<br><br><ul><li><b>std::=
blank</b>, defined as an empty struct <div style=3D"background-color:rgb(25=
0,250,250);border-color:rgb(187,187,187);border-style:solid;border-width:1p=
x" class=3D"m_2110700416761080958m_6942501654450711629prettyprint"><code cl=
ass=3D"m_2110700416761080958m_6942501654450711629prettyprint"><div class=3D=
"m_2110700416761080958m_6942501654450711629subprettyprint"><span style=3D"c=
olor:#008" class=3D"m_2110700416761080958m_6942501654450711629styled-by-pre=
ttify">struct</span><span style=3D"color:#000" class=3D"m_21107004167610809=
58m_6942501654450711629styled-by-prettify"> blank</span><span style=3D"colo=
r:#660" class=3D"m_2110700416761080958m_6942501654450711629styled-by-pretti=
fy">{};</span></div></code></div></li><li><b>std::pack</b>, to hold a param=
eter pack of type<div style=3D"background-color:rgb(250,250,250);border-col=
or:rgb(187,187,187);border-style:solid;border-width:1px" class=3D"m_2110700=
416761080958m_6942501654450711629prettyprint"><code class=3D"m_211070041676=
1080958m_6942501654450711629prettyprint"><div class=3D"m_211070041676108095=
8m_6942501654450711629subprettyprint"><span style=3D"color:#008" class=3D"m=
_2110700416761080958m_6942501654450711629styled-by-prettify">template</span=
><span style=3D"color:#000" class=3D"m_2110700416761080958m_694250165445071=
1629styled-by-prettify"> </span><span style=3D"color:#660" class=3D"m_21107=
00416761080958m_6942501654450711629styled-by-prettify">&lt;</span><span sty=
le=3D"color:#008" class=3D"m_2110700416761080958m_6942501654450711629styled=
-by-prettify">class</span><span style=3D"color:#660" class=3D"m_21107004167=
61080958m_6942501654450711629styled-by-prettify">...</span><span style=3D"c=
olor:#000" class=3D"m_2110700416761080958m_6942501654450711629styled-by-pre=
ttify"> T</span><span style=3D"color:#660" class=3D"m_2110700416761080958m_=
6942501654450711629styled-by-prettify">&gt;</span><span style=3D"color:#000=
" class=3D"m_2110700416761080958m_6942501654450711629styled-by-prettify"> <=
/span><span style=3D"color:#008" class=3D"m_2110700416761080958m_6942501654=
450711629styled-by-prettify">struct</span><span style=3D"color:#000" class=
=3D"m_2110700416761080958m_6942501654450711629styled-by-prettify"> pack</sp=
an><span style=3D"color:#660" class=3D"m_2110700416761080958m_6942501654450=
711629styled-by-prettify">{};</span><span style=3D"color:#000" class=3D"m_2=
110700416761080958m_6942501654450711629styled-by-prettify"><br></span></div=
></code></div></li><li><b>std::convertible</b>, a type convertible to anyth=
ing<div style=3D"background-color:rgb(250,250,250);border-color:rgb(187,187=
,187);border-style:solid;border-width:1px" class=3D"m_2110700416761080958m_=
6942501654450711629prettyprint"><code class=3D"m_2110700416761080958m_69425=
01654450711629prettyprint"><div class=3D"m_2110700416761080958m_69425016544=
50711629subprettyprint"><span style=3D"color:#008" class=3D"m_2110700416761=
080958m_6942501654450711629styled-by-prettify">struct</span><span style=3D"=
color:#000" class=3D"m_2110700416761080958m_6942501654450711629styled-by-pr=
ettify"> convertible</span><span style=3D"color:#660" class=3D"m_2110700416=
761080958m_6942501654450711629styled-by-prettify">{</span><span style=3D"co=
lor:#008" class=3D"m_2110700416761080958m_6942501654450711629styled-by-pret=
tify">template</span><span style=3D"color:#000" class=3D"m_2110700416761080=
958m_6942501654450711629styled-by-prettify"> </span><span style=3D"color:#6=
60" class=3D"m_2110700416761080958m_6942501654450711629styled-by-prettify">=
&lt;</span><span style=3D"color:#008" class=3D"m_2110700416761080958m_69425=
01654450711629styled-by-prettify">class</span><span style=3D"color:#000" cl=
ass=3D"m_2110700416761080958m_6942501654450711629styled-by-prettify"> T</sp=
an><span style=3D"color:#660" class=3D"m_2110700416761080958m_6942501654450=
711629styled-by-prettify">&gt;</span><span style=3D"color:#000" class=3D"m_=
2110700416761080958m_6942501654450711629styled-by-prettify"> </span><span s=
tyle=3D"color:#008" class=3D"m_2110700416761080958m_6942501654450711629styl=
ed-by-prettify">constexpr</span><span style=3D"color:#000" class=3D"m_21107=
00416761080958m_6942501654450711629styled-by-prettify"> </span><span style=
=3D"color:#008" class=3D"m_2110700416761080958m_6942501654450711629styled-b=
y-prettify">operator</span><span style=3D"color:#000" class=3D"m_2110700416=
761080958m_6942501654450711629styled-by-prettify"> T</span><span style=3D"c=
olor:#660" class=3D"m_2110700416761080958m_6942501654450711629styled-by-pre=
ttify">()</span><span style=3D"color:#000" class=3D"m_2110700416761080958m_=
6942501654450711629styled-by-prettify"> </span><span style=3D"color:#008" c=
lass=3D"m_2110700416761080958m_6942501654450711629styled-by-prettify">const=
</span><span style=3D"color:#000" class=3D"m_2110700416761080958m_694250165=
4450711629styled-by-prettify"> noexcept</span><span style=3D"color:#660" cl=
ass=3D"m_2110700416761080958m_6942501654450711629styled-by-prettify">;};</s=
pan><span style=3D"color:#000" class=3D"m_2110700416761080958m_694250165445=
0711629styled-by-prettify"><br></span></div></code></div></li><li><b>std::c=
opy_qualifiers</b>, a type traits copying ref and cv qualifiers from one ty=
pe to another<code class=3D"m_2110700416761080958m_6942501654450711629prett=
yprint"><div class=3D"m_2110700416761080958m_6942501654450711629subprettypr=
int"><div style=3D"background-color:rgb(250,250,250);border-color:rgb(187,1=
87,187);border-style:solid;border-width:1px" class=3D"m_2110700416761080958=
m_6942501654450711629prettyprint"><code class=3D"m_2110700416761080958m_694=
2501654450711629prettyprint"><div class=3D"m_2110700416761080958m_694250165=
4450711629subprettyprint"><span style=3D"color:#008" class=3D"m_21107004167=
61080958m_6942501654450711629styled-by-prettify">template</span><span style=
=3D"color:#000" class=3D"m_2110700416761080958m_6942501654450711629styled-b=
y-prettify"> </span><span style=3D"color:#660" class=3D"m_21107004167610809=
58m_6942501654450711629styled-by-prettify">&lt;</span><span style=3D"color:=
#008" class=3D"m_2110700416761080958m_6942501654450711629styled-by-prettify=
">class</span><span style=3D"color:#000" class=3D"m_2110700416761080958m_69=
42501654450711629styled-by-prettify"> </span><span style=3D"color:#606" cla=
ss=3D"m_2110700416761080958m_6942501654450711629styled-by-prettify">From</s=
pan><span style=3D"color:#660" class=3D"m_2110700416761080958m_694250165445=
0711629styled-by-prettify">,</span><span style=3D"color:#000" class=3D"m_21=
10700416761080958m_6942501654450711629styled-by-prettify"> </span><span sty=
le=3D"color:#008" class=3D"m_2110700416761080958m_6942501654450711629styled=
-by-prettify">class</span><span style=3D"color:#000" class=3D"m_21107004167=
61080958m_6942501654450711629styled-by-prettify"> </span><span style=3D"col=
or:#606" class=3D"m_2110700416761080958m_6942501654450711629styled-by-prett=
ify">To</span><span style=3D"color:#660" class=3D"m_2110700416761080958m_69=
42501654450711629styled-by-prettify">&gt;</span><span style=3D"color:#000" =
class=3D"m_2110700416761080958m_6942501654450711629styled-by-prettify"> </s=
pan><span style=3D"color:#008" class=3D"m_2110700416761080958m_694250165445=
0711629styled-by-prettify">struct</span><span style=3D"color:#000" class=3D=
"m_2110700416761080958m_6942501654450711629styled-by-prettify"> copy_qualif=
iers </span><span style=3D"color:#660" class=3D"m_2110700416761080958m_6942=
501654450711629styled-by-prettify">{</span><span style=3D"color:#008" class=
=3D"m_2110700416761080958m_6942501654450711629styled-by-prettify">using</sp=
an><span style=3D"color:#000" class=3D"m_2110700416761080958m_6942501654450=
711629styled-by-prettify"> type </span><span style=3D"color:#660" class=3D"=
m_2110700416761080958m_6942501654450711629styled-by-prettify">=3D</span><sp=
an style=3D"color:#000" class=3D"m_2110700416761080958m_6942501654450711629=
styled-by-prettify"> </span><span style=3D"color:#800" class=3D"m_211070041=
6761080958m_6942501654450711629styled-by-prettify">/* cv-ref qualfiers of F=
rom applied to To*/</span><span style=3D"color:#660" class=3D"m_21107004167=
61080958m_6942501654450711629styled-by-prettify">;};</span><span style=3D"c=
olor:#000" class=3D"m_2110700416761080958m_6942501654450711629styled-by-pre=
ttify"><br></span></div></code></div><span style=3D"color:#000" class=3D"m_=
2110700416761080958m_6942501654450711629styled-by-prettify"></span></div></=
code></li></ul><p>Other suggestions?<span class=3D"m_2110700416761080958HOE=
nZb"><font color=3D"#888888"><br></font></span></p></div><span class=3D"m_2=
110700416761080958HOEnZb"><font color=3D"#888888">

<p></p>

-- <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" target=3D"_=
blank" rel=3D"noreferrer">std-proposals+unsubscribe@isocpp.org</a>.<br>
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org" target=3D"_blank" rel=3D"noreferrer">std-proposals@isocpp.org</a>.<br=
>
To view this discussion on the web visit <a href=3D"https://groups.google.c=
om/a/isocpp.org/d/msgid/std-proposals/e3415a75-7e20-48dd-9e24-0e4681f46e53%=
40isocpp.org?utm_medium=3Demail&amp;utm_source=3Dfooter" target=3D"_blank" =
rel=3D"noreferrer">https://groups.google.com/a/isocpp.org/d/msgid/std-propo=
sals/e3415a75-7e20-48dd-9e24-0e4681f46e53%40isocpp.org</a>.<br>
</font></span></blockquote></div><br></div>

<p></p>

-- <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" target=3D"_=
blank" rel=3D"noreferrer">std-proposals+unsubscribe@isocpp.org</a>.<br>
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org" target=3D"_blank" rel=3D"noreferrer">std-proposals@isocpp.org</a>.<br=
>
To view this discussion on the web visit <a href=3D"https://groups.google.c=
om/a/isocpp.org/d/msgid/std-proposals/CALvx3hacsACYSq%2Bh7BHNCjZ2rpajbdcBxa=
8GigKuHnjO79YDyQ%40mail.gmail.com?utm_medium=3Demail&amp;utm_source=3Dfoote=
r" target=3D"_blank" rel=3D"noreferrer">https://groups.google.com/a/isocpp.=
org/d/msgid/std-proposals/CALvx3hacsACYSq%2Bh7BHNCjZ2rpajbdcBxa8GigKuHnjO79=
YDyQ%40mail.gmail.com</a>.<br>
</blockquote></div>

<p></p>

-- <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 />
To view this discussion on the web visit <a href=3D"https://groups.google.c=
om/a/isocpp.org/d/msgid/std-proposals/CAANG%3DkWYr4My4ocY37oi-Nk_paCCegG3Lt=
ngSz4Lp5SXpAWF8w%40mail.gmail.com?utm_medium=3Demail&utm_source=3Dfooter">h=
ttps://groups.google.com/a/isocpp.org/d/msgid/std-proposals/CAANG%3DkWYr4My=
4ocY37oi-Nk_paCCegG3LtngSz4Lp5SXpAWF8w%40mail.gmail.com</a>.<br />

--00000000000072dcb30566946956--

.
