[v3] More noexcept for vectors
Marc Glisse
marc.glisse@inria.fr
Mon Sep 16 11:13:00 GMT 2013
On Mon, 16 Sep 2013, Paolo Carlini wrote:
> On 09/15/2013 11:12 AM, Marc Glisse wrote:
>> I had to separate the constructor that takes an allocator from the default
>> constructor in debug/profile, since in release the noexcept only applies to
>> one of them (and the testsuite asserts that release and debug agree on
>> this). An alternative would be to make the release vector default
>> constructor conditionally noexcept (depending on the allocator). Or to use
>> explicit vector(const Allocator& = Allocator()); also in normal mode
>> instead of splitting it in two.
> Thanks a lot. Now I'm wondering if we shouldn't really do the latter: the
> issue is, if I remember correctly, in C++11, at variance with C++98,
> allocators aren't necessarily default constructible, thus by explicit
> instantiatiation the user can easily tell whether that constructor is split
> or not. What do you think?
Shouldn't it just be illegal to explicitly instantiate a full class like
std::vector?
But ok, I'll post that version as soon as I can test it.
--
Marc Glisse
More information about the Libstdc++
mailing list