mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-04-14 08:10:27 +08:00
libstdc++: Make COW string use allocator_traits for nested types
When compiled as C++20 the COW std::string fails due to assuming that the allocator always defines size_type and difference_type. That has been incorrect since C++11, but we got away with it for specializations using std::allocator until those members were removed in C++20. libstdc++-v3/ChangeLog: * include/bits/basic_string.h (size_type, difference_type): Use allocator_traits to obtain the allocator's size_type and difference_type.
This commit is contained in:
parent
e513e9aa53
commit
684d6ee140
@ -3147,8 +3147,8 @@ _GLIBCXX_END_NAMESPACE_CXX11
|
||||
typedef _Traits traits_type;
|
||||
typedef typename _Traits::char_type value_type;
|
||||
typedef _Alloc allocator_type;
|
||||
typedef typename _CharT_alloc_type::size_type size_type;
|
||||
typedef typename _CharT_alloc_type::difference_type difference_type;
|
||||
typedef typename _CharT_alloc_traits::size_type size_type;
|
||||
typedef typename _CharT_alloc_traits::difference_type difference_type;
|
||||
#if __cplusplus < 201103L
|
||||
typedef typename _CharT_alloc_type::reference reference;
|
||||
typedef typename _CharT_alloc_type::const_reference const_reference;
|
||||
|
Loading…
x
Reference in New Issue
Block a user