r246182 - in /trunk/libstdc++-v3: ChangeLog inc...

ville@gcc.gnu.org ville@gcc.gnu.org
Wed Mar 15 23:13:00 GMT 2017


Author: ville
Date: Wed Mar 15 23:13:20 2017
New Revision: 246182

URL: https://gcc.gnu.org/viewcvs?rev=246182&root=gcc&view=rev
Log:
Implement LWG 2857, {variant,optional,any}::emplace should
return the constructed value.
* include/std/any (emplace(_Args&&...)): Change the return type and
return a reference to the constructed value.
(emplace(initializer_list<_Up>, _Args&&...)): Likewise.
* include/std/optional (emplace(_Args&&...)): Likewise.
(emplace(initializer_list<_Up>, _Args&&...)): Likewise.
* include/std/variant (emplace<_Tp>(_Args&&...)): Likewise.
(emplace<_Tp>(initializer_list<_Up>, _Args&&...)): Likewise.
(emplace<_Np>(_Args&&...)): Likewise.
(emplace<_Np>(initializer_list<_Up>, _Args&&...)): Likewise.
* testsuite/20_util/any/assign/emplace.cc: Add tests for
checking the return value of emplace.
* testsuite/20_util/any/misc/any_cast_neg.cc: Adjust.
* testsuite/20_util/optional/assignment/6.cc: Add tests for
checking the return value of emplace.
* testsuite/20_util/variant/run.cc: Likewise.

Modified:
    trunk/libstdc++-v3/ChangeLog
    trunk/libstdc++-v3/include/std/any
    trunk/libstdc++-v3/include/std/optional
    trunk/libstdc++-v3/include/std/variant
    trunk/libstdc++-v3/testsuite/20_util/any/assign/emplace.cc
    trunk/libstdc++-v3/testsuite/20_util/any/misc/any_cast_neg.cc
    trunk/libstdc++-v3/testsuite/20_util/optional/assignment/6.cc
    trunk/libstdc++-v3/testsuite/20_util/variant/run.cc



More information about the Libstdc++-cvs mailing list