* include/std/variant (__do_visit): New. (__variant_cast): Likewise. (__variant_cookie): Likewise. (__erased_*): Remove. (_Variant_storage::_S_vtable): Likewise. (_Variant_storage::__M_reset_impl): Adjust to use __do_visit. (_Variant_storage::__M_reset): Adjust. (__variant_construct): New. (_Copy_ctor_base(const _Copy_ctor_base&)): Adjust to use __variant_construct. (_Move_ctor_base(_Move_ctor_base&&)): Likewise. (_Move_ctor_base::__M_destructive_copy): New. (_Move_ctor_base::__M_destructive_move): Adjust to use __variant_construct. (_Copy_assign_base::operator=): Adjust to use __do_visit. (_Copy_assign_alias): Adjust to check both copy assignment and copy construction for triviality. (_Move_assign_base::operator=): Adjust to use __do_visit. (_Multi_array): Add support for visitors that accept and return a __variant_cookie. (__gen_vtable_impl::_S_apply_all_alts): Likewise. (__gen_vtable_impl::_S_apply_single_alt): Likewise. (__gen_vtable_impl::__element_by_index_or_cookie): New. Generate a __variant_cookie temporary for a variant that is valueless and.. (__gen_vtable_impl::__visit_invoke): ..adjust here. (__gen_vtable::_Array_type): Conditionally make space for the __variant_cookie visitor case. (__variant_construct_by_index): New. (get_if): Adjust to use std::addressof. (relops): Adjust to use __do_visit. (variant): Add __variant_cast and __variant_construct_by_index as friends. (variant::emplace): Use _M_reset() and __variant_construct_by_index instead of self-destruction. (variant::swap): Adjust to use __do_visit. (visit): Reimplement in terms of __do_visit. (__variant_hash_call_base_impl::operator()): Adjust to use __do_visit. * testsuite/20_util/variant/compile.cc: Adjust. * testsuite/20_util/variant/run.cc: Likewise. From-SVN: r269422
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| algorithm | Loading commit data... | |
| any | Loading commit data... | |
| array | Loading commit data... | |
| atomic | Loading commit data... | |
| bit | Loading commit data... | |
| bitset | Loading commit data... | |
| charconv | Loading commit data... | |
| chrono | Loading commit data... | |
| codecvt | Loading commit data... | |
| complex | Loading commit data... | |
| condition_variable | Loading commit data... | |
| deque | Loading commit data... | |
| filesystem | Loading commit data... | |
| forward_list | Loading commit data... | |
| fstream | Loading commit data... | |
| functional | Loading commit data... | |
| future | Loading commit data... | |
| iomanip | Loading commit data... | |
| ios | Loading commit data... | |
| iosfwd | Loading commit data... | |
| iostream | Loading commit data... | |
| istream | Loading commit data... | |
| iterator | Loading commit data... | |
| limits | Loading commit data... | |
| list | Loading commit data... | |
| locale | Loading commit data... | |
| map | Loading commit data... | |
| memory | Loading commit data... | |
| memory_resource | Loading commit data... | |
| mutex | Loading commit data... | |
| numeric | Loading commit data... | |
| optional | Loading commit data... | |
| ostream | Loading commit data... | |
| queue | Loading commit data... | |
| random | Loading commit data... | |
| ratio | Loading commit data... | |
| regex | Loading commit data... | |
| scoped_allocator | Loading commit data... | |
| set | Loading commit data... | |
| shared_mutex | Loading commit data... | |
| sstream | Loading commit data... | |
| stack | Loading commit data... | |
| stdexcept | Loading commit data... | |
| streambuf | Loading commit data... | |
| string | Loading commit data... | |
| string_view | Loading commit data... | |
| system_error | Loading commit data... | |
| thread | Loading commit data... | |
| tuple | Loading commit data... | |
| type_traits | Loading commit data... | |
| typeindex | Loading commit data... | |
| unordered_map | Loading commit data... | |
| unordered_set | Loading commit data... | |
| utility | Loading commit data... | |
| valarray | Loading commit data... | |
| variant | Loading commit data... | |
| vector | Loading commit data... | |
| version | Loading commit data... |