boostorg / core

Boost Core Utilities
132 stars 86 forks source link

Add pilfer to Core #117

Open vinniefalco opened 2 years ago

vinniefalco commented 2 years ago

Add pilfer to Core so that it can be used by more than just Boost.JSON

Lastique commented 2 years ago

I don't understand what's this about. Closing as spam.

@vinniefalco Please be clear about the problem description in future issues and avoid jargonisms.

pdimov commented 2 years ago

It's a request to add pilfer to Core. pilfer currently exists in Boost.JSON detail, and has been proposed by me in P0308.

That'd actually be a legitimate addition to Core, for a change - the component is already present in another library and is needed as common infrastructure in others.

vinniefalco commented 2 years ago

See: https://github.com/boostorg/json/blob/98d37f93706b50fd057d14bd241a2bfbcfec1527/include/boost/json/pilfer.hpp#L27

breese commented 2 years ago

You may want to reconsider the name. This facility is a optimization on move semantics, and is thus special-purpose and less widely used. In such cases we should consider a longer, more expressive name, such as semi_destructive_move(), to make it more likely that arbitrary users understand the code without having to read up on "pilfering".

vinniefalco commented 2 years ago

I like pilfer