El 17/07/2017 a las 11:54, Peter Dimov via Boost escribió:
Joaquin M López Muñoz wrote:
You can replace your implementation with using std::make_from_tuple when the latter is available.
You can still replace construct_from_tuple, you're just not forced to because the code doesn't break.
Not totally sure I got my point across: I mean, if you decided to rename construct_from_tuple as make_from_tuple, your internal lib code can detect whether std::make_from_tuple exists and, in this case, replace boost:mp11::make_from_tuple definition with a using std::make_from_tuple declaration: namespace boost{ namespace mp11{ #ifndef __cpp_lib_make_from_tuple template<class T, class Tp> T make_from_tuple(Tp&& tp){...} #else using std::make_from_tuple; #endif }} No ambiguities would then arise. Joaquín M López Muñoz