gcc/libstdc++-v3/include
Ville Voutilainen f11cc05023 Cross-port the latest resolution of LWG2756 and some bug-fixes to experimental::optional.
Cross-port the latest resolution of LWG2756 and some
bug-fixes to experimental::optional.
PR libstdc++/77288
PR libstdc++/77727
* include/experimental/optional (_Optional_base):
Remove constructors that take a _Tp.
(__is_optional_impl, __is_optional): Remove.
(__converts_from_optional): New.
(optional(_Up&&)): Fix constraints, call base with in_place.
(optional(const optional<_Up>&)): Fix constraints, use emplace.
(optional(optional<_Up>&&)): Likewise.
(operator=(_Up&&)): Fix constraints.
(operator=(const optional<_Up>&)): Likewise.
(operator=(optional<_Up>&&)): Likewise.
(emplace(_Args&&...)): Constrain.
(emplace(initializer_list<_Up>, _Args&&...)): Likewise.
* testsuite/experimental/optional/77288.cc: New.
* testsuite/experimental/optional/assignment/5.cc: Adjust.
* testsuite/experimental/optional/cons/77727.cc: New.
* testsuite/experimental/optional/cons/value.cc: Adjust.

From-SVN: r241476
2016-10-24 15:46:44 +03:00
..
backward Prepare shared_ptr for array support 2016-10-20 13:07:45 +01:00
bits Make vector::data() return type consistent in C++98 2016-10-24 13:25:28 +01:00
c Update copyright years. 2016-01-04 15:30:50 +01:00
c_compatibility Don't define guard macros when doing #include_next in math.h and stdlib.h 2016-02-01 11:13:40 +00:00
c_global libstdc++/77795 Only declare ::gets for C++98 and C++11 2016-09-30 19:28:53 +01:00
c_std libstdc++/77795 Only declare ::gets for C++98 and C++11 2016-09-30 19:28:53 +01:00
debug Fix copy&paste error in __gnu_debug::vector 2016-10-19 19:33:47 +01:00
decimal Update copyright years. 2016-01-04 15:30:50 +01:00
experimental Cross-port the latest resolution of LWG2756 and some bug-fixes to experimental::optional. 2016-10-24 15:46:44 +03:00
ext Tweak whitespace in std::allocator files 2016-10-20 12:37:19 +01:00
parallel algo.h: Generalize usage of std::__iterator_category. 2016-09-25 15:23:45 +00:00
precompiled Implement TR29124 C++ special Math Functions. 2016-01-14 18:12:43 +00:00
profile Add C++17 constexpr to debug and profile mode arrays 2016-08-23 16:54:57 +01:00
std Split <functional> into smaller pieces 2016-10-21 16:32:25 +01:00
tr1 Enable Mathematical Special Functions for C++17 2016-08-03 16:54:13 +01:00
tr2 Update copyright years. 2016-01-04 15:30:50 +01:00
Makefile.am Split <functional> into smaller pieces 2016-10-21 16:32:25 +01:00
Makefile.in Split <functional> into smaller pieces 2016-10-21 16:32:25 +01:00