This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [patch] No allocation for empty unordered containers


On 12/08/14 21:53 +0200, François Dumont wrote:
On 12/08/2014 21:39, Marc Glisse wrote:
On Tue, 12 Aug 2014, François Dumont wrote:

Based on your feedbacks I think we should stay with just targeting good QoI by not allocating on default construction. As I said the noexcept qualification would need to not conform strictly to the Standard.

The standard explicitly says that you may add noexcept wherever you like. It is constexpr that we can only add in GNU mode.

That's not what I meant. For unordered containers there is no real default constructor. it is in fact a constructor with parameters which have all default values. This is why you can only say that it won't throw at runtime and so you can't qualify it noexcept.

Yes you can, it's conforming to replace a (non-virtual) member function
with default arguments by two or more member functions. We do it all
the time.

See 17.6.5.5 [member.functions] p2.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]