Constrain optional's __constexpr_addressof in its return type and use a constexpr...
authorVille Voutilainen <ville.voutilainen@gmail.com>
Tue, 6 Dec 2016 12:47:54 +0000 (14:47 +0200)
committerVille Voutilainen <ville@gcc.gnu.org>
Tue, 6 Dec 2016 12:47:54 +0000 (14:47 +0200)
commit1637d42545cced0c58204ecb36499e512eeb3841
treee2e0634ffd2caefd6431cc83be8f28d78555af84
parentb01af236b7d0d92cf1e9d642495d9177347bd740
Constrain optional's __constexpr_addressof in its return type and use a constexpr addressof for optional, if available.

Constrain optional's __constexpr_addressof in its return type
and use a constexpr addressof for optional, if available.
* include/experimental/optional (__constexpr_addressof):
Constrain in the return type instead of in a template parameter.
(_Has_addressof_mem)
(_Has_addressof_free, _Has_addressof, __constexpr_addressof):
Guard with #ifndef __cpp_lib_addressof_constexpr.
(operator->()): Use std::__addressof if it's constexpr.

From-SVN: r243298
libstdc++-v3/ChangeLog
libstdc++-v3/include/experimental/optional