Topic: Differences between gsl::span and proposed ranges?
Author: Christopher Horvath <blackencino@gmail.com>
Date: Tue, 10 May 2016 12:52:07 -0700
Raw View
--001a114f06669925e30532824226
Content-Type: text/plain; charset=UTF-8
Hey Folks,
I feel like the concepts implemented in the "span" classes in the Core
Guidelines and the gsl library are a small subset of the functionality that
will be introduced when the ranges/v3 proposal is finally added to the
language.
Am I incorrect in thinking this?
Chris
--
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/CAHJ4w5ovz3sSzuYxme_kWvi4bcSdZUGByFezWM9EvZ%2BhRgb8Og%40mail.gmail.com.
--001a114f06669925e30532824226
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr">Hey Folks,<div><br></div><div>I feel like the concepts imp=
lemented in the "span" classes in the Core Guidelines and the gsl=
library are a small subset of the functionality that will be introduced wh=
en the ranges/v3 proposal is finally added to the language.</div><div><br><=
/div><div>Am I incorrect in thinking this?=C2=A0</div><div><br></div><div>C=
hris</div></div>
<p></p>
-- <br />
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals" 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/CAHJ4w5ovz3sSzuYxme_kWvi4bcSdZUGByFez=
WM9EvZ%2BhRgb8Og%40mail.gmail.com?utm_medium=3Demail&utm_source=3Dfooter">h=
ttps://groups.google.com/a/isocpp.org/d/msgid/std-proposals/CAHJ4w5ovz3sSzu=
Yxme_kWvi4bcSdZUGByFezWM9EvZ%2BhRgb8Og%40mail.gmail.com</a>.<br />
--001a114f06669925e30532824226--
.
Author: Nicol Bolas <jmckesson@gmail.com>
Date: Tue, 10 May 2016 13:34:18 -0700 (PDT)
Raw View
------=_Part_4695_734703340.1462912458732
Content-Type: multipart/alternative;
boundary="----=_Part_4696_1795916656.1462912458733"
------=_Part_4696_1795916656.1462912458733
Content-Type: text/plain; charset=UTF-8
On Tuesday, May 10, 2016 at 3:52:09 PM UTC-4, Christopher Horvath wrote:
>
> Hey Folks,
>
> I feel like the concepts implemented in the "span" classes in the Core
> Guidelines and the gsl library are a small subset of the functionality that
> will be introduced when the ranges/v3 proposal is finally added to the
> language.
>
> Am I incorrect in thinking this?
>
`span` is a concrete class (well, it's a template class but you know what I
mean) which has specific functionality. "Ranges" are *concepts*; they
represent patterns that other datatypes can implement.
A `span` is a range type, but not all ranges are `span`s. `vector`, `list`,
and the other containers are also ranges.
The Ranges TS does not provide `span` or anything like `span` as a type.
Indeed, if I recall correctly, the current Ranges TS doesn't provide any
range types at all. Such types are reserved for the next version of the
proposal.
I don't believe that Boost.Range provides anything quite like `span`
either. While it does have iterator ranges, it doesn't have a range type
that restricts itself to contiguous arrays only. `span` does.
So really, `span` has little to do with the Range TS, and it is not derived
from it.
--
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/6f9ee0f4-3273-4910-8bac-84c18f8d9085%40isocpp.org.
------=_Part_4696_1795916656.1462912458733
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr">On Tuesday, May 10, 2016 at 3:52:09 PM UTC-4, Christopher =
Horvath wrote:<blockquote class=3D"gmail_quote" style=3D"margin: 0;margin-l=
eft: 0.8ex;border-left: 1px #ccc solid;padding-left: 1ex;"><div dir=3D"ltr"=
>Hey Folks,<div><br></div><div>I feel like the concepts implemented in the =
"span" classes in the Core Guidelines and the gsl library are a s=
mall subset of the functionality that will be introduced when the ranges/v3=
proposal is finally added to the language.</div><div><br></div><div>Am I i=
ncorrect in thinking this? <br></div></div></blockquote><div><br>`span` is =
a concrete class (well, it's a template class but you know what I mean)=
which has specific functionality. "Ranges" are <i>concepts</i>; =
they represent patterns that other datatypes can implement.<br><br>A `span`=
is a range type, but not all ranges are `span`s. `vector`, `list`, and the=
other containers are also ranges.<br><br>The Ranges TS does not provide `s=
pan` or anything like `span` as a type. Indeed, if I recall correctly, the =
current Ranges TS doesn't provide any range types at all. Such types ar=
e reserved for the next version of the proposal.<br><br>I don't believe=
that Boost.Range provides anything quite like `span` either. While it does=
have iterator ranges, it doesn't have a range type that restricts itse=
lf to contiguous arrays only. `span` does.<br><br>So really, `span` has lit=
tle to do with the Range TS, and it is not derived from it.<br></div></div>
<p></p>
-- <br />
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals" 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/6f9ee0f4-3273-4910-8bac-84c18f8d9085%=
40isocpp.org?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.=
com/a/isocpp.org/d/msgid/std-proposals/6f9ee0f4-3273-4910-8bac-84c18f8d9085=
%40isocpp.org</a>.<br />
------=_Part_4696_1795916656.1462912458733--
------=_Part_4695_734703340.1462912458732--
.
Author: Christopher Horvath <blackencino@gmail.com>
Date: Tue, 10 May 2016 13:38:28 -0700
Raw View
--001a114dc75e5116d7053282e87a
Content-Type: text/plain; charset=UTF-8
Thank you!
I really like the span stuff as implemented in the GSL - however, I'm
worried that adoption and support of GSL seems very polarized.
On Tue, May 10, 2016 at 1:34 PM, Nicol Bolas <jmckesson@gmail.com> wrote:
> On Tuesday, May 10, 2016 at 3:52:09 PM UTC-4, Christopher Horvath wrote:
>>
>> Hey Folks,
>>
>> I feel like the concepts implemented in the "span" classes in the Core
>> Guidelines and the gsl library are a small subset of the functionality that
>> will be introduced when the ranges/v3 proposal is finally added to the
>> language.
>>
>> Am I incorrect in thinking this?
>>
>
> `span` is a concrete class (well, it's a template class but you know what
> I mean) which has specific functionality. "Ranges" are *concepts*; they
> represent patterns that other datatypes can implement.
>
> A `span` is a range type, but not all ranges are `span`s. `vector`,
> `list`, and the other containers are also ranges.
>
> The Ranges TS does not provide `span` or anything like `span` as a type.
> Indeed, if I recall correctly, the current Ranges TS doesn't provide any
> range types at all. Such types are reserved for the next version of the
> proposal.
>
> I don't believe that Boost.Range provides anything quite like `span`
> either. While it does have iterator ranges, it doesn't have a range type
> that restricts itself to contiguous arrays only. `span` does.
>
> So really, `span` has little to do with the Range TS, and it is not
> derived from it.
>
> --
> 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/6f9ee0f4-3273-4910-8bac-84c18f8d9085%40isocpp.org
> <https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/6f9ee0f4-3273-4910-8bac-84c18f8d9085%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/CAHJ4w5qynOtcpVKwGJrTqNPESarV-LV9HqV0paBnNorVvM09MA%40mail.gmail.com.
--001a114dc75e5116d7053282e87a
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr">Thank you!<div><br></div><div>I really like the span stuff=
as implemented in the GSL - however, I'm worried that adoption and sup=
port of GSL seems very polarized.</div></div><div class=3D"gmail_extra"><br=
><div class=3D"gmail_quote">On Tue, May 10, 2016 at 1:34 PM, Nicol Bolas <s=
pan dir=3D"ltr"><<a href=3D"mailto:jmckesson@gmail.com" target=3D"_blank=
">jmckesson@gmail.com</a>></span> wrote:<br><blockquote class=3D"gmail_q=
uote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1e=
x"><div dir=3D"ltr"><span class=3D"">On Tuesday, May 10, 2016 at 3:52:09 PM=
UTC-4, Christopher Horvath wrote:<blockquote class=3D"gmail_quote" style=
=3D"margin:0;margin-left:0.8ex;border-left:1px #ccc solid;padding-left:1ex"=
><div dir=3D"ltr">Hey Folks,<div><br></div><div>I feel like the concepts im=
plemented in the "span" classes in the Core Guidelines and the gs=
l library are a small subset of the functionality that will be introduced w=
hen the ranges/v3 proposal is finally added to the language.</div><div><br>=
</div><div>Am I incorrect in thinking this? <br></div></div></blockquote></=
span><div><br>`span` is a concrete class (well, it's a template class b=
ut you know what I mean) which has specific functionality. "Ranges&quo=
t; are <i>concepts</i>; they represent patterns that other datatypes can im=
plement.<br><br>A `span` is a range type, but not all ranges are `span`s. `=
vector`, `list`, and the other containers are also ranges.<br><br>The Range=
s TS does not provide `span` or anything like `span` as a type. Indeed, if =
I recall correctly, the current Ranges TS doesn't provide any range typ=
es at all. Such types are reserved for the next version of the proposal.<br=
><br>I don't believe that Boost.Range provides anything quite like `spa=
n` either. While it does have iterator ranges, it doesn't have a range =
type that restricts itself to contiguous arrays only. `span` does.<br><br>S=
o really, `span` has little to do with the Range TS, and it is not derived =
from it.<span class=3D"HOEnZb"><font color=3D"#888888"><br></font></span></=
div></div><span class=3D"HOEnZb"><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" 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">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">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/6f9ee0f4-3273-4910-8bac-84c18f8d9085%=
40isocpp.org?utm_medium=3Demail&utm_source=3Dfooter" target=3D"_blank">=
https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/6f9ee0f4-3273-=
4910-8bac-84c18f8d9085%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" 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/CAHJ4w5qynOtcpVKwGJrTqNPESarV-LV9HqV0=
paBnNorVvM09MA%40mail.gmail.com?utm_medium=3Demail&utm_source=3Dfooter">htt=
ps://groups.google.com/a/isocpp.org/d/msgid/std-proposals/CAHJ4w5qynOtcpVKw=
GJrTqNPESarV-LV9HqV0paBnNorVvM09MA%40mail.gmail.com</a>.<br />
--001a114dc75e5116d7053282e87a--
.