C++ Logo

std-proposals

Advanced search

Re: non_owned_ptr

From: Steve Weinrich <weinrich.steve_at_[hidden]>
Date: Mon, 11 Nov 2019 17:28:06 -0700
Thank you, I will.

 

From: Peter C++ <peter.cpp_at_[hidden]>
Sent: Sunday, November 10, 2019 22:49
To: std-proposals_at_[hidden]
Cc: Jorg Brown <jorg.brown_at_[hidden]>; Steve Weinrich <weinrich.steve_at_[hidden]>
Subject: Re: [std-proposals] non_owned_ptr

 

Take a look at Anthony williams‘ jss::object_ptr. I consider it an improved version of observer_ptr

 

Peter

sent from a mobile device so please excuse strange words due to autocorrection.

Prof. Peter Sommerlad

peter.Sommerlad_at_[hidden] <mailto:peter.Sommerlad_at_[hidden]>

+41-79-432 23 32





On 11 Nov 2019, at 06:34, Steve Weinrich via Std-Proposals <std-proposals_at_[hidden] <mailto:std-proposals_at_[hidden]> > wrote:



Well, the inclusion in the extensions is by no means a guarantee of inclusion in a future standard. A quick Google search reveals this view:

 

https://www.google.com/url?sa=t <https://www.google.com/url?sa=t&source=web&cd=2&ved=2ahUKEwi3qPeJtuHlAhXY7Z4KHX0oAKwQFjABegQIBBAB&url=http%3A%2F%2Fwww.open-std.org%2Fjtc1%2Fsc22%2Fwg21%2Fdocs%2Fpapers%2F2019%2Fp1408r0.pdf&usg=AOvVaw0c3gIhAirNc6KT1xM_FmMM> &source=web&cd=2&ved=2ahUKEwi3qPeJtuHlAhXY7Z4KHX0oAKwQFjABegQIBBAB&url=http%3A%2F%2Fwww.open-std.org%2Fjtc1%2Fsc22%2Fwg21%2Fdocs%2Fpapers%2F2019%2Fp1408r0.pdf&usg=AOvVaw0c3gIhAirNc6KT1xM_FmMM

 

 

In any case, it seems that my notion is not new. Thanks!

 

On Sun, Nov 10, 2019, 22:20 Jorg Brown <jorg.brown_at_[hidden] <mailto:jorg.brown_at_[hidden]> > wrote:

> Is it in serious consideration?

 

Consideration for what? It's part of Version 2 of the C++ Extensions for Library Fundamentals <https://en.cppreference.com/w/cpp/experimental/lib_extensions_2> , ISO/IEC TS 19568:2017.

 

Code such as this currently compiles:

 

#include <experimental/memory>

 

int f() {

  int a = 1;

  std::experimental::observer_ptr<int> op(&a);

  *op += 1;

  return a;

}

 

As can be seen at https://godbolt.org/z/GQFeh4

 

= - = - = - = - =

 

> the current convention of using raw pointers to represent transient pointers.

 

std::span<T, 1> might also fill that need, depending on your application.

 

 

On Sun, Nov 10, 2019 at 9:09 PM Steve Weinrich via Std-Proposals <std-proposals_at_[hidden] <mailto:std-proposals_at_[hidden]> > wrote:

None. I was not aware of observer_ptr. Is it in serious consideration?

 

On Sun, Nov 10, 2019, 22:03 Andrew Tomazos <andrewtomazos_at_[hidden] <mailto:andrewtomazos_at_[hidden]> > wrote:

How does it differ from:

 

https://en.cppreference.com/w/cpp/experimental/observer_ptr

 

On Mon, Nov 11, 2019 at 1:45 PM Steve Weinrich via Std-Proposals <std-proposals_at_[hidden] <mailto:std-proposals_at_[hidden]> > wrote:

I was thinking that a non_owned_ptr would be a good std addition. The idea is to formalize the current convention of using raw pointers to represent transient pointers (transient_ptr might be a better name).

 

Aside from a lot of details, it would simply be a template wrapper around a raw pointer. On destruction, the wrapper would do nothing.

 

This would allow the enforcement of the intended behavior.

 

What do you all think?

-- 
Std-Proposals mailing list
Std-Proposals_at_[hidden] <mailto:Std-Proposals_at_[hidden]> 
https://lists.isocpp.org/mailman/listinfo.cgi/std-proposals
-- 
Std-Proposals mailing list
Std-Proposals_at_[hidden] <mailto:Std-Proposals_at_[hidden]> 
https://lists.isocpp.org/mailman/listinfo.cgi/std-proposals
-- 
Std-Proposals mailing list
Std-Proposals_at_[hidden] <mailto:Std-Proposals_at_[hidden]> 
https://lists.isocpp.org/mailman/listinfo.cgi/std-proposals

Received on 2019-11-11 18:30:26