Add these constructors from C++11 which were missing from the COW basic_string. Additionally simplify the definitions of the basic_string::reference and basic_string::const_reference types as required by C++11. This allows filesystem::path::string<Allocator>() to be simplified, so that the same code is used for both basic_string implementations. * config/abi/pre/gnu.ver (GLIBCXX_3.4.26): Export allocator-extended copy/move constructors for old std::basic_string. * include/bits/basic_string.h [!_GLIBCXX_USE_CXX11_ABI] (basic_string::reference, basic_string::const_reference): Define as plain references for C++11 and later. (basic_string::basic_string()): Put constructor body outside preprocessor conditional groups. (basic_string::basic_string(basic_string&&)): Move _Alloc_hider instead of copying it. (basic_string::basic_string(const basic_string&, const _Alloc&)): Define. (basic_string::basic_string(basic_string&&, const _Alloc&)): Define. * include/bits/fs_path.h [!_GLIBCXX_USE_CXX11_ABI]: Remove special cases for old basic_string. * testsuite/21_strings/basic_string/cons/char/8.cc: Test allocator-extended constructors unconditionally. Add extra members to allocator type when using old string ABI. * testsuite/21_strings/basic_string/allocator/71964.cc: Enable test for old string ABI. * testsuite/21_strings/basic_string/cons/wchar_t/8.cc: Likewise. From-SVN: r267584
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| allocator | Loading commit data... | |
| capacity | Loading commit data... | |
| cons | Loading commit data... | |
| debug | Loading commit data... | |
| element_access | Loading commit data... | |
| inserters_extractors | Loading commit data... | |
| literals | Loading commit data... | |
| modifiers | Loading commit data... | |
| numeric_conversions | Loading commit data... | |
| operations | Loading commit data... | |
| operators | Loading commit data... | |
| range_access | Loading commit data... | |
| requirements | Loading commit data... | |
| types | Loading commit data... | |
| 40160.cc | Loading commit data... | |
| 56166.cc | Loading commit data... | |
| 79162.cc | Loading commit data... | |
| dr2268.cc | Loading commit data... | |
| erasure.cc | Loading commit data... | |
| init-list.cc | Loading commit data... | |
| lwg2758.cc | Loading commit data... | |
| lwg2946.cc | Loading commit data... | |
| pthread18185.cc | Loading commit data... | |
| pthread33394.cc | Loading commit data... | |
| pthread4.cc | Loading commit data... |