Topic: [proposal] Single object view types (`std::view` and `std::optional_view`)


Author: joseph.thomson@gmail.com
Date: Mon, 14 Nov 2016 20:05:32 -0800 (PST)
Raw View
------=_Part_3246_1497443628.1479182732496
Content-Type: multipart/alternative;
 boundary="----=_Part_3247_1554192629.1479182732496"

------=_Part_3247_1554192629.1479182732496
Content-Type: text/plain; charset=UTF-8

I would like to present a more fleshed-out (but not yet formal) proposal
for the single object view types, view and optional_view, that were
previously discussed here
<https://groups.google.com/a/isocpp.org/forum/#!topic/std-proposals/8smmfYB7siQ>
and here
<https://groups.google.com/a/isocpp.org/forum/#!topic/std-proposals/u46EVqca0TE>.
I have adjusted my design in response to some of the feedback I received,
and have laid out responses to some of the other objections and questions
people had. Please find full details and a reference implementation here:

https://github.com/hpesoj/cpp-views

view and optional_view are types used to indirectly reference another
> object without implying ownership. view<T> is a mandatory view of an
> object of arbitrary type T, while optional_view<T> is an optional view of
> an object of arbitrary type T. Both view and optional_view have
> reference-like initialization semantics and pointer-like indirection
> semantics.
>

Thanks for taking the time to look, and please let me know what you think.

Joseph

--
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/4514ea85-0711-4bd1-a4c1-39e52a4d1dd3%40isocpp.org.

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

<div dir=3D"ltr">I would like to present a more fleshed-out (but not yet fo=
rmal) proposal for the single object view types, <span style=3D"font-family=
: courier new,monospace;">view</span> and <span style=3D"font-family: couri=
er new,monospace;">optional_view</span>, that were previously discussed <a =
href=3D"https://groups.google.com/a/isocpp.org/forum/#!topic/std-proposals/=
8smmfYB7siQ">here</a> and <a href=3D"https://groups.google.com/a/isocpp.org=
/forum/#!topic/std-proposals/u46EVqca0TE">here</a>. I have adjusted my desi=
gn in response to some of the feedback I=20
received, and have laid out responses to some of the other=20
objections and questions people had.  Please find full details and a refere=
nce implementation here:<br><br><a href=3D"https://github.com/hpesoj/cpp-vi=
ews">https://github.com/hpesoj/cpp-views</a><br><br><blockquote class=3D"gm=
ail_quote" style=3D"margin: 0px 0px 0px 0.8ex; border-left: 1px solid rgb(2=
04, 204, 204); padding-left: 1ex;"><code>view</code> and <code>optional_vie=
w</code> are types used to indirectly reference another object without impl=
ying ownership. <code>view&lt;T&gt;</code> is a mandatory view of an object=
 of arbitrary type <code>T</code>, while <code>optional_view&lt;T&gt;</code=
> is an optional view of an object of arbitrary type <code>T</code>. Both <=
code>view</code> and <code>optional_view</code> have reference-like initial=
ization semantics and pointer-like indirection semantics.<br></blockquote><=
div><br>Thanks for taking the time to look, and please let me know what you=
 think.<br><br>Joseph<br></div></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/4514ea85-0711-4bd1-a4c1-39e52a4d1dd3%=
40isocpp.org?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.=
com/a/isocpp.org/d/msgid/std-proposals/4514ea85-0711-4bd1-a4c1-39e52a4d1dd3=
%40isocpp.org</a>.<br />

------=_Part_3247_1554192629.1479182732496--

------=_Part_3246_1497443628.1479182732496--

.