Re: [PATCH] PR libstdc++/58265 implement LWG 2063 for COW strings

2018-07-05 Thread Jonathan Wakely
On 05/07/18 16:55 +0100, Jonathan Wakely wrote: For COW strings the default constructor does not allocate when _GLIBCXX_FULLY_DYNAMIC_STRING == 0, so can be noexcept. The move constructor and swap do not allocate when the allocators are equal, so add conditional noexcept using allocator_traits::i

[PATCH] PR libstdc++/58265 implement LWG 2063 for COW strings

2018-07-05 Thread Jonathan Wakely
For COW strings the default constructor does not allocate when _GLIBCXX_FULLY_DYNAMIC_STRING == 0, so can be noexcept. The move constructor and swap do not allocate when the allocators are equal, so add conditional noexcept using allocator_traits::is_always_equal. PR libstdc++/58265