C++ moveFrom() functions: remove? or make stable?

Description

When I added move constructors and move assignment operators to some ICU C++ classes, I made them conditional on having C++11 compiler supported, and I also added moveFrom() functions that work with older C++ versions.

See for example UnicodeString::moveFrom().

Now that we require C++11, these are redundant with using std::move().

We kept these @draft. We could remove them, forcing anyone who was using them explicitly to switch to standard C++11 syntax.

Or, we could decide to keep them and make them @stable, because they are "harmless" and nicely explicit – but we would perpetuate two ways of achieving the same thing, a standard way and an ICU-specific way.

I assume that we will not want to add moveFrom() functions to other classes if & when we add move support there.

Activity

Show:
TracBot
June 30, 2018, 11:31 PM
Trac Comment 2 by —2017-04-05T17:58:31.559Z

Discuss which way to go.

TracBot
June 30, 2018, 11:31 PM
Trac Comment 5 by —2018-02-09T23:16:11.412Z

Somewhat related: #13585

Markus Scherer
February 5, 2019, 11:49 PM

approved:2019-01-30 ICU4C API proposal: remove still-draft moveFrom() methods

Assignee

Markus Scherer

Reporter

Markus Scherer

Components

Labels

None

Reviewer

None

Priority

medium

Time Needed

Hours

Fix versions

Configure