* doc/xml/manual/status_cxx2017.xml: Document status. * doc/html/*: Regenerate. * include/Makefile.am: Add bits/node_handle.h and reorder. * include/Makefile.in: Regenerate. * include/bits/hashtable.h (_Hashtable::node_type) (_Hashtable::insert_return_type, _Hashtable::_M_reinsert_node) (_Hashtable::_M_reinsert_node_multi, _Hashtable::extract) (_Hashtable::_M_merge_unique, _Hashtable::_M_merge_multi): Define. (_Hash_merge_helper): Define primary template. * include/bits/node_handle.h: New header. * include/bits/stl_map.h (map): Declare _Rb_tree_merge_helper as friend. (map::node_type, map::insert_return_type, map::extract, map::merge) (map::insert(node_type&&), map::insert(const_iterator, node_type&&)): Define new members. (_Rb_tree_merge_helper): Specialize for map. * include/bits/stl_multimap.h (multimap): Declare _Rb_tree_merge_helper as friend. (multimap::node_type, multimap::extract, multimap::merge) (multimap::insert(node_type&&)) (multimap::insert(const_iterator, node_type&&)): Define. (_Rb_tree_merge_helper): Specialize for multimap. * include/bits/stl_multiset.h (multiset): Declare _Rb_tree_merge_helper as friend. (multiset::node_type, multiset::extract, multiset::merge) (multiset::insert(node_type&&)) (multiset::insert(const_iterator, node_type&&)): Define. * include/bits/stl_set.h (set): Declare _Rb_tree_merge_helper as friend. (set::node_type, set::insert_return_type, set::extract, set::merge) (set::insert(node_type&&), set::insert(const_iterator, node_type&&)): Define. (_Rb_tree_merge_helper): Specialize for set. * include/bits/stl_tree.h (_Rb_tree): Declare _Rb_tree<> as friend. (_Rb_tree::node_type, _Rb_tree::insert_return_type) (_Rb_tree::_M_reinsert_node_unique, _Rb_tree::_M_reinsert_node_equal) (_Rb_tree::_M_reinsert_node_hint_unique) (_Rb_tree::_M_reinsert_node_hint_equal, _Rb_tree::extract) (_Rb_tree::_M_merge_unique, _Rb_tree::_M_merge_equal): Define. (_Rb_tree_merge_helper): Specialize for multiset. * include/bits/unordered_map.h (unordered_map): Declare unordered_map<> and unordered_multimap<> as friends. (unordered_map::node_type, unordered_map::insert_return_type) (unordered_map::extract, unordered_map::merge) (unordered_map::insert(node_type&&)) (unordered_map::insert(const_iterator, node_type&&)) (unordered_multimap): Declare _Hash_merge_helper as friend. (unordered_multimap::node_type, unordered_multimap::extract) (unordered_multimap::merge, unordered_multimap::insert(node_type&&)) (unordered_multimap::insert(const_iterator, node_type&&)): Define. (_Hash_merge_helper): Specialize for unordered maps and multimaps. * include/bits/unordered_set.h (unordered_set, unordered_multiset): Declare _Hash_merge_helper as friend. (unordered_set::node_type, unordered_set::insert_return_type) (unordered_set::extract, unordered_set::merge) (unordered_set::insert(node_type&&)) (unordered_set::insert(const_iterator, node_type&&)): Define. (unordered_multiset::node_type, unordered_multiset::extract) (unordered_multiset::merge, unordered_multiset::insert(node_type&&)) (unordered_multiset::insert(const_iterator, node_type&&)): Define. (_Hash_merge_helper): Specialize for unordered sets and multisets. * include/debug/map.h (map): Add using declarations or forwarding functions for new members. * include/debug/map.h (multimap): Likewise. * include/debug/map.h (multiset): Likewise. * include/debug/map.h (set): Likewise. * include/debug/unordered_map (unordered_map, unordered_multimap): Likewise. * include/debug/unordered_set( unordered_set, unordered_multiset): Likewise. * python/libstdcxx/v6/printers.py (get_value_from_aligned_membuf): New helper function. (get_value_from_list_node, get_value_from_Rb_tree_node): Use helper. (StdNodeHandlePrinter): Define printer for node handles. (build_libstdcxx_dictionary): Register StdNodeHandlePrinter. * testsuite/23_containers/map/modifiers/extract.cc: New. * testsuite/23_containers/map/modifiers/merge.cc: New. * testsuite/23_containers/multimap/modifiers/extract.cc: New. * testsuite/23_containers/multimap/modifiers/merge.cc: New. * testsuite/23_containers/multiset/modifiers/extract.cc: New. * testsuite/23_containers/multiset/modifiers/merge.cc: New. * testsuite/23_containers/set/modifiers/extract.cc: New. * testsuite/23_containers/set/modifiers/merge.cc: New. * testsuite/23_containers/unordered_map/modifiers/extract.cc: New. * testsuite/23_containers/unordered_map/modifiers/merge.cc: New. * testsuite/23_containers/unordered_multimap/modifiers/extract.cc: New. * testsuite/23_containers/unordered_multimap/modifiers/merge.cc: New. * testsuite/23_containers/unordered_multiset/modifiers/extract.cc: New. * testsuite/23_containers/unordered_multiset/modifiers/merge.cc: New. * testsuite/23_containers/unordered_set/modifiers/extract.cc: New. * testsuite/23_containers/unordered_set/modifiers/merge.cc: New. * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust dg-error lineno. * testsuite/libstdc++-prettyprinters/cxx17.cc: Test node handles. From-SVN: r240363
Name |
Last commit
|
Last update |
---|---|---|
.. | ||
abi.html | Loading commit data... | |
algorithms.html | Loading commit data... | |
api.html | Loading commit data... | |
appendix.html | Loading commit data... | |
appendix_contributing.html | Loading commit data... | |
appendix_free.html | Loading commit data... | |
appendix_gfdl.html | Loading commit data... | |
appendix_gpl.html | Loading commit data... | |
appendix_porting.html | Loading commit data... | |
associative.html | Loading commit data... | |
atomics.html | Loading commit data... | |
backwards.html | Loading commit data... | |
bitmap_allocator.html | Loading commit data... | |
bitmap_allocator_impl.html | Loading commit data... | |
bugs.html | Loading commit data... | |
concept_checking.html | Loading commit data... | |
concurrency.html | Loading commit data... | |
configure.html | Loading commit data... | |
containers.html | Loading commit data... | |
containers_and_c.html | Loading commit data... | |
debug.html | Loading commit data... | |
debug_mode.html | Loading commit data... | |
debug_mode_design.html | Loading commit data... | |
debug_mode_semantics.html | Loading commit data... | |
debug_mode_using.html | Loading commit data... | |
diagnostics.html | Loading commit data... | |
documentation_hacking.html | Loading commit data... | |
dynamic_memory.html | Loading commit data... | |
errno.html | Loading commit data... | |
ext_algorithms.html | Loading commit data... | |
ext_compile_checks.html | Loading commit data... | |
ext_concurrency.html | Loading commit data... | |
ext_concurrency_impl.html | Loading commit data... | |
ext_concurrency_use.html | Loading commit data... | |
ext_containers.html | Loading commit data... | |
ext_demangling.html | Loading commit data... | |
ext_io.html | Loading commit data... | |
ext_iterators.html | Loading commit data... | |
ext_numerics.html | Loading commit data... | |
ext_preface.html | Loading commit data... | |
ext_sgi.html | Loading commit data... | |
ext_utilities.html | Loading commit data... | |
extensions.html | Loading commit data... | |
facets.html | Loading commit data... | |
fstreams.html | Loading commit data... | |
generalized_numeric_operations.html | Loading commit data... | |
index.html | Loading commit data... | |
internals.html | Loading commit data... | |
intro.html | Loading commit data... | |
io.html | Loading commit data... | |
io_and_c.html | Loading commit data... | |
iterators.html | Loading commit data... | |
license.html | Loading commit data... | |
localization.html | Loading commit data... | |
make.html | Loading commit data... | |
memory.html | Loading commit data... | |
mt_allocator.html | Loading commit data... | |
mt_allocator_design.html | Loading commit data... | |
mt_allocator_ex_multi.html | Loading commit data... | |
mt_allocator_ex_single.html | Loading commit data... | |
mt_allocator_impl.html | Loading commit data... | |
numerics.html | Loading commit data... | |
numerics_and_c.html | Loading commit data... | |
pairs.html | Loading commit data... | |
parallel_mode.html | Loading commit data... | |
parallel_mode_design.html | Loading commit data... | |
parallel_mode_semantics.html | Loading commit data... | |
parallel_mode_test.html | Loading commit data... | |
parallel_mode_using.html | Loading commit data... | |
policy_based_data_structures_test.html | Loading commit data... | |
policy_data_structures.html | Loading commit data... | |
policy_data_structures_ack.html | Loading commit data... | |
policy_data_structures_design.html | Loading commit data... | |
policy_data_structures_using.html | Loading commit data... | |
profile_mode.html | Loading commit data... | |
profile_mode_api.html | Loading commit data... | |
profile_mode_cost_model.html | Loading commit data... | |
profile_mode_design.html | Loading commit data... | |
profile_mode_devel.html | Loading commit data... | |
profile_mode_diagnostics.html | Loading commit data... | |
profile_mode_impl.html | Loading commit data... | |
setup.html | Loading commit data... | |
source_code_style.html | Loading commit data... | |
source_design_notes.html | Loading commit data... | |
source_organization.html | Loading commit data... | |
status.html | Loading commit data... | |
std_contents.html | Loading commit data... | |
streambufs.html | Loading commit data... | |
strings.html | Loading commit data... | |
stringstreams.html | Loading commit data... | |
support.html | Loading commit data... | |
termination.html | Loading commit data... | |
test.html | Loading commit data... | |
traits.html | Loading commit data... | |
unordered_associative.html | Loading commit data... | |
using.html | Loading commit data... | |
using_concurrency.html | Loading commit data... | |
using_dual_abi.html | Loading commit data... | |
using_dynamic_or_shared.html | Loading commit data... | |
using_exceptions.html | Loading commit data... | |
using_headers.html | Loading commit data... | |
using_macros.html | Loading commit data... | |
using_namespaces.html | Loading commit data... | |
utilities.html | Loading commit data... |